---
title: "Returns providers for the specified recruitment cycle."
method: GET
path: "/recruitment_cycles/{year}/providers"
tags: ["provider"]
---

# Returns providers for the specified recruitment cycle.

`GET /recruitment_cycles/{year}/providers`

## Request

- Base URL: `https://api.publish-teacher-training-courses.service.gov.uk/api/public/v1`
- URL: `https://api.publish-teacher-training-courses.service.gov.uk/api/public/v1/recruitment_cycles/{year}/providers`
- Auth: none declared

## Path parameters

- `year` string, required

## Query parameters

- `sort` string[]: This schema is used to sort a collection.
- `filter` ProviderFilter: This schema is used to search within collections to return more specific results.
  - `can_sponsor_skilled_worker_visa` boolean: Only return providers that can sponsor a Skilled Worker visa.
  - `can_sponsor_student_visa` boolean: Only return providers that can sponsor a Student visa.
  - `is_accredited_body` boolean: Only return providers that are accredited providers.
  - `provider_name` string: Return providers where the provider name includes the input string.
  - `provider_type` 'lead_school' | 'scitt' | 'university': Return providers based on their provider type. This is a comma delimited string. If multiple provider types are provided then any provider matching any one of the options provider will be returned, i.e. the OR operator is used.
  - `region_code` 'no_region' | 'north_east' | 'north_west' | 'yorkshire_and_the_humber' | 'east_midlands' | 'west_midlands' | 'eastern' | 'london' | 'south_east' | 'south_west' | 'scotland' | 'wales': Return providers based on their region code. This is a comma delimited string. If multiple region codes are provided then any provider matching any one of the options provider will be returned, i.e. the OR operator is used.
  - `updated_since` string: Return providers that have been updated since the date (ISO 8601 date format)
  - `discarded` boolean: Return only providers that have been decommissioned. Using this filter will add the `discarded_at` property to the attributes of the returned providers.
- `page` Pagination: This schema used to paginate through a collection.
  - `page` integer: The page number to paginate to in the collection. If no value is specified it defaults to the first page.
  - `per_page` integer: The number items to display on a page. Defaults to 100. Maximum is 500, if the value is greater that the maximum allowed it will fallback to 500.
- `include` 'recruitment_cycle'

## Response `200`

Collection of providers.

- ProviderListResponse: This schema is used to return a collection of providers.
  - `data` ProviderResource[], required
    - `id` string, required
    - `type` string, required
    - `attributes` ProviderAttributes, required: This schema is used to describe a provider.
      - `accredited_body` boolean: Is this provider an accredited provider for other provider's courses.
      - `city` string: Town or city
      - `county` string: County
      - `changed_at` string, date-time: Date-time timestamp of when this provider or any of its related data changed.
      - `code` string, required: Code that uniquely identifies this provider within a recruitment cycle.
      - `ukprn` string: UK Provider Reference Number. A unique number allocated to teacher training providers.
      - `urn` string: Unique Reference Number. A unique number allocated to educational establishments.
      - `created_at` string, date-time: Timestamp of when this provider was created.
      - `postcode` string, uk-postcode: The provider's postcode
      - `latitude` string: The latitude of the provider's address
      - `longitude` string: The longitude of the provider's address
      - `telephone` string: The provider's telephone number.
      - `email` string: The provider's email address.
      - `name` string, required: The name of the training provider.
      - `provider_type` 'scitt' | 'lead_school' | 'university': The type of provider.
      - `region_code` 'no_region' | 'london' | 'south_east' | 'south_west' | 'wales' | 'west_midlands' | 'east_midlands' | 'eastern' | 'north_west' | 'yorkshire_and_the_humber' | 'north_east' | 'scotland': The NUTS 1 region code for the provider's address.
      - `street_address_1` string: Building or street line one.
      - `street_address_2` string: Building or street line two.
      - `street_address_3` string: Building or street line three.
      - `train_with_disability` string, markdown: How candidates with disabilities and other needs will be supported.
      - `train_with_us` string, markdown: Information about the training provider.
      - `website` string, url: A link to the initial teacher training or course pages of your website.
      - `can_sponsor_skilled_worker_visa` boolean: Can this provider sponsor Skilled Worker visas?
      - `can_sponsor_student_visa` boolean: Can this provider sponsor Student visas?
      - `discarded_at` string, date-time, nullable: Timestamp of when this provider was decomissioned
      - `selectable_school` boolean: Can candidates choose their placement school
    - `relationships` ProviderRelationshipList: This schema is used to describe associations that can be returned with a provider.
      - `recruitment_cycle` RecruitmentCycleRelationship
        - `data` object
          - `type` string, required
          - `id` string, required
  - `included` RecruitmentCycleResource[]
    - `id` string, required
    - `type` string, required
    - `attributes` RecruitmentCycleAttributes, required: This schema is used to describe a recruitment cycle.
      - `year` integer: The year that this recruitment cycle applies to.
      - `application_start_date` string, date: The default date applications start being taken for this recruitment cycle.
      - `application_end_date` string, date: The default date applications stop being taken for this recruitment cycle.
  - `jsonapi` JSONAPI, required: This returns the version of JSON API in use.
    - `version` string, required

## Changes

- **2026-03-27** `75fe5c106869`: 1 info
  - for the `query` request parameter `include`, the type was generalized from no type to `string`
- **2024-08-21** `b84bbd45a693`: 1 info
  - added the optional property `data/items/attributes/selectable_school` to the response with the `200` status
- **2023-07-19** `ffdd435aaba5`: 1 info
  - added the optional property `data/items/attributes/discarded_at` to the response with the `200` status
- **2023-04-26** `5db272dd67ad`: 1 info
  - added the optional property `data/items/attributes/street_address_3` to the response with the `200` status
- **2022-08-19** `5ddfd8949e65`: 2 info
  - removed the `invalid_value` enum value from the `data/items/attributes/provider_type` response property for the response status `200`
  - removed the `unknown` enum value from the `data/items/attributes/provider_type` response property for the response status `200`

[Operation history](https://skmtc.dev/department-for-education/apis/teacher-training-courses-api/changes/recruitment_cycles/:year/providers/get.md)

---

[API](https://skmtc.dev/department-for-education/apis/teacher-training-courses-api.md) - [All operations](https://skmtc.dev/department-for-education/apis/teacher-training-courses-api/llms.txt) - [OpenAPI document](https://skmtc.dev/department-for-education/apis/teacher-training-courses-api/revisions/4e9e8f725299?raw)
