---
title: "Searches for teaching events."
method: GET
path: "/api/teaching_events/search"
tags: ["Teaching Events"]
---

# Searches for teaching events.

`GET /api/teaching_events/search`

## Request

- Base URL: `https://getintoteachingapi-production.teacherservices.cloud` (the document declares no server; this is the origin it was published from)
- URL: `https://getintoteachingapi-production.teacherservices.cloud/api/teaching_events/search`
- Auth: API key in header `Authorization`

Searches for teaching events. Optionally limit the results by distance (in miles) from a postcode, event type and start date.

## Query parameters

- `Postcode` string, nullable: Postcode to center search around.
- `Radius` integer, nullable: Set to filter results to a radius (in miles) around the postcode.
- `TypeIds` integer[], nullable: Set to filter results to a type of teaching event. Each ID must match a `typeId` of the `TeachingEvent` schema.
- `Online` boolean, nullable: Set to true to return only online events and false to return only in-person events.
- `StartAfter` string, date-time, nullable: Set to filter results to those that start after a given date.
- `StartBefore` string, date-time, nullable: Set to filter results to those that start before a given date.
- `StatusIds` integer[], nullable: Set to filter results by event status.
- `AccessibilityOptions` integer[], nullable: Set to filter results by accessibility options.
- `quantity` integer

## Response `200`

OK

- TeachingEvent[]
  - `id` string, uuid, nullable
  - `typeId` integer
  - `statusId` integer
  - `regionId` integer, nullable
  - `readableId` string, required
  - `webFeedId` string, nullable: If set, the API will accept new attendees for this event (an external sign up should be used if this value is nil).
  - `referenceNumber` string, nullable
  - `registrationEmailLink` string, nullable
  - `isOnline` boolean
  - `name` string, required
  - `summary` string, nullable
  - `message` string, nullable: Used to push miscellaneous messages to users (if an event is close to being booked out, for example).
  - `description` string, nullable
  - `videoUrl` string, nullable
  - `scribbleId` string, nullable
  - `providerWebsiteUrl` string, nullable
  - `providerTargetAudience` string, nullable
  - `providerOrganiser` string, nullable
  - `providerContactEmail` string, email, nullable
  - `startAt` string, date-time
  - `endAt` string, date-time
  - `providersList` string, nullable
  - `building` TeachingEventBuilding
    - `id` string, uuid, nullable
    - `venue` string, required
    - `addressLine1` string, nullable
    - `addressLine2` string, nullable
    - `addressLine3` string, nullable
    - `addressCity` string, nullable
    - `addressPostcode` string, nullable
    - `imageUrl` string, nullable
  - `isVirtual` boolean
  - `accessibilityOptions` integer[], nullable
  - `isInPerson` boolean

## Other responses

- `400`: Bad Request
- `401`: Unauthorized

## Changes

- **2026-08-25** `f3548f6dfc30`: 6 info
  - added the optional property `items/referenceNumber` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/referenceNumber` to the response with the `200` status (media type: application/json)
  - added the optional property `items/referenceNumber` to the response with the `200` status (media type: text/json)
  - added the optional property `items/registrationEmailLink` to the response with the `200` status (media type: text/plain)
  - …2 more

[Operation history](https://skmtc.dev/department-for-education/apis/get-into-teaching-api-v1/changes/api/teaching_events/search/get.md)

---

[API](https://skmtc.dev/department-for-education/apis/get-into-teaching-api-v1.md) - [All operations](https://skmtc.dev/department-for-education/apis/get-into-teaching-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/department-for-education/apis/get-into-teaching-api-v1/revisions/f3548f6dfc30?raw)
