Developers

The catalog Coryo runs on, as JSON. Classes, teachers, studios, events, organizers and agencies, read only, described as OpenAPI 3.1.

Overview

Coryo keeps one record of who is teaching, where and when, read nightly from studios' own schedules and booking systems. The same routes the app draws from serve that record to any client. A field the source did not state is null, never guessed, and a stale row is marked by its freshness rather than hidden.

Base URL: https://coryo.dance/api/v1

OpenAPI 3.1: https://coryo.dance/api/v1/openapi.json

Access

Every catalog route needs an API key. Ask [email protected] with what you are building and where it runs, and send the key on each request:

Authorization: Bearer coryo_YOUR_KEY

A request without one, or with a revoked one, is refused:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="coryo"

{ "error": "api_key_required", "docs": "https://coryo.dance/developers" }
  • Every route on this page is read only. The key grants nothing else.
  • There is no rate limit on these routes today. Treat that as fair use: honour the Cache-Control header, do not poll faster than the data changes, and send a User-Agent that names your product and a way to reach you.
  • Booking and tickets hand off to the studio's or organiser's own page through bookingUrl and registrationUrl. Coryo takes no payment and never books on a dancer's behalf.
  • v1 paths never rename. A breaking change becomes v2 and v1 keeps serving.
  • The Terms of Use apply, including the limit on republishing the catalog at scale.

Endpoints

All GET. Paths are relative to the base URL.

  • /feed Who is teaching, where and when
  • /sessions Is a class you already hold still on
  • /sessions/{id} One class, in the feed's shape
  • /sessions/{id}/detail What the studio says about this class, and whether there is room
  • /sessions/{id}/related What else to take if you like this class
  • /teachers/{slug} Who this teacher is, in their own or their studio's words
  • /studios/{slug} Where this studio is and what it says about itself
  • /events What is on beyond class: socials, battles, workshops, auditions
  • /events/{slug}/calendar Put this event in a calendar
  • /metros Which cities the catalog covers, and how much is on
  • /organizers Who runs events, by name
  • /organizers/{slug} One organizer and what they have coming up
  • /agencies Which agencies represent dancers in California
  • /agencies/{slug} One agency, how to submit, and who it represents
  • /agencies/directory Every agency and every roster name at once

Example

Heels classes in Los Angeles for one day.

curl \
  -H 'Authorization: Bearer coryo_YOUR_KEY' \
  -H 'User-Agent: your-product/1.0 ([email protected])' \
  'https://coryo.dance/api/v1/feed?metro=los-angeles&style=heels&from=2026-09-20&to=2026-09-21'

The response, trimmed. The spec lists every field.

{
  "window": { "from": "2026-09-20", "to": "2026-09-21", "timezone": "America/Los_Angeles" },
  "count": 1,
  "page": { "limit": 1000, "hasMore": false, "nextCursor": null },
  "scope": { "metro": "los-angeles", "name": "Los Angeles", "source": "request", "unplacedStudios": 0 },
  "sessions": [
    {
      "id": 184213,
      "localDate": "2026-09-20",
      "localStartTime": "19:30:00",
      "startsAt": "2026-09-21T02:30:00.000Z",
      "durationMin": 90,
      "title": "Heels",
      "style": "heels",
      "level": "all-levels",
      "status": "scheduled",
      "priceCents": 2500,
      "audience": "adult",
      "bookingUrl": "https://www.mindbody.io/fitness/classes/heels-example-studio#412-2026-09-20",
      "bookingPrecision": "occurrence",
      "freshness": { "trust": "partner-api", "fetchedAt": "2026-09-20T11:02:14.000Z", "verifiedAt": null },
      "venue": { "kind": "studio", "name": "Example Studio", "neighborhood": "North Hollywood", "studioSlug": "example-studio" },
      "teacher": { "slug": "example-teacher", "name": "Example Teacher" }
    }
  ]
}

Coverage

California, city by city: Los Angeles, San Diego, Bay Area, Sacramento, Santa Barbara, Modesto, Bakersfield, Ventura, San Luis Obispo, Santa Cruz, Inland Empire. More metros are ingesting. /metros is the live list and carries a count of what each city has on.

Contact

Integrations, data questions and anything that looks wrong: [email protected].