API publique des profs, studios et cours

Lisez le même annuaire que les gens voient sur MoveMentors : profs indépendants, petits studios et leurs prochains cours. Sans inscription, sans clé, en JSON simple. Conçue pour que les agents IA et les petits outils orientent vers des cours près de chez soi sans scraping.

URL de base

https://movementors.com/api/v1

Tous les endpoints ci-dessous commencent ici. Un simple GET dessus renvoie la liste de tous en JSON.

Essayez

Trouvez cinq profs de pilates. Collez ceci dans un terminal :

curl "https://movementors.com/api/v1/mentors?category=pilates&limit=5"

Endpoints

Tous en lecture seule et gratuits. Les listes acceptent page et limit (jusqu'à 50).

EndpointCe qu'il renvoie
GET/api/v1/mentorsChercher des profs indépendants par texte, ville ou discipline.
GET/api/v1/mentors/{slug}Le profil public d'un prof : disciplines, lieux et certifications.
GET/api/v1/studiosChercher des petits studios. Ajoutez rentable=1 pour les salles que d'autres profs peuvent louer.
GET/api/v1/studios/{slug}Le profil public d'un studio et ses adresses.
GET/api/v1/classesLes prochaines séances, en ligne ou sur place, avec dates, prix et hôtes.
GET/api/v1/classes/{id}Un cours avec son planning et son hôte.
GET/api/v1/healthSi le service fonctionne.
GET/api/v1/openapi.jsonLe contrat OpenAPI 3.1 complet, pour les générateurs de code et les agents.

Authentification

Aucune pour les endpoints de cette page. Pour réserver un cours ou gérer un planning pour quelqu'un, un agent passe par notre serveur MCP avec OAuth, et la personne donne son accord d'abord.

Connecter un assistant IA

Erreurs

Chaque erreur revient en JSON au format problème RFC 9457 (application/problem+json), jamais en page HTML. Lisez code pour savoir quoi faire, et hint pour savoir comment corriger.

  • 400invalid_parameter

    Un paramètre de requête est incorrect. Le champ param le nomme.

  • 404not_found

    Cet endpoint, ce prof, ce studio ou ce cours n'existe pas.

  • 405method_not_allowed

    Ces endpoints ne font que lire. Utilisez GET.

  • 429rate_limited

    Trop de requêtes. Attendez le nombre de secondes indiqué dans Retry-After.

  • 500internal_error

    Quelque chose a cassé chez nous. Réessayez en attendant un peu plus à chaque fois.

  • 503service_unavailable

    Le service est brièvement indisponible. Réessayez plus tard.

HTTP/1.1 404 Not Found
Content-Type: application/problem+json

{
  "type": "https://movementors.com/developers#error-not_found",
  "title": "Not Found",
  "status": 404,
  "detail": "Teacher not found",
  "instance": "/api/v1/mentors/unknown",
  "code": "not_found",
  "hint": "Check the path and identifier. GET /api/v1 lists every public endpoint.",
  "error": "Teacher not found"
}

Limites de débit

Les limites sont par adresse IP : 100 requêtes par minute, plus 5 000 par jour sur les endpoints de liste. Chaque réponse indique où vous en êtes, pour ralentir avant d'arriver au bout.

  • RateLimit-Policy

    Vos quotas, par exemple "burst";q=100;w=60.

  • RateLimit

    Requêtes restantes et secondes avant la remise à zéro de chaque quota.

  • RateLimit-Limit / -Remaining / -Reset

    La même chose pour le quota le plus proche de la fin, dans l'ancien format à valeur unique.

  • Retry-After

    Sur un 429, combien de secondes attendre.

Versions

La version est dans le chemin, donc rien ne change sans prévenir.

  • Les nouveaux endpoints, paramètres et champs sont ajoutés à v1 directement. Votre code continue de marcher.
  • Tout ce qui casserait du code existant, comme retirer ou renommer un champ, sort en /api/v2.
  • Avant qu'une version soit coupée, ses réponses portent un en-tête Deprecation (RFC 9745) et un en-tête Sunset (RFC 8594) avec la date, au moins 6 mois à l'avance.

Pour les agents et les outils

Points d'entrée lisibles par machine : GET /api/v1 · OpenAPI 3.1 · API catalog (RFC 9727) · llms.txt · MCP server card

Des questions, ou besoin d'une limite plus haute ? Écrivez à support@movementors.com