API pública de professores, estúdios e aulas

Leia o mesmo diretório que as pessoas veem na MoveMentors: professores independentes, estúdios pequenos e suas próximas aulas. Sem cadastro, sem chave, JSON simples. Feita para que agentes de IA e pequenas ferramentas indiquem aulas locais sem fazer scraping.

URL base

https://movementors.com/api/v1

Todos os endpoints abaixo começam aqui. Um GET nela devolve a lista de todos em JSON.

Experimente

Encontre cinco professores de pilates. Cole isto num terminal:

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

Endpoints

Todos somente leitura e gratuitos. As listas aceitam page e limit (até 50).

EndpointO que devolve
GET/api/v1/mentorsBusque professores independentes por texto, cidade ou modalidade.
GET/api/v1/mentors/{slug}O perfil público de um professor: modalidades, locais e certificações.
GET/api/v1/studiosBusque estúdios pequenos. Adicione rentable=1 para salas que outros professores podem alugar.
GET/api/v1/studios/{slug}O perfil público de um estúdio e seus endereços.
GET/api/v1/classesPróximas sessões, online ou presenciais, com datas, preços e anfitriões.
GET/api/v1/classes/{id}Uma aula com sua agenda e seu anfitrião.
GET/api/v1/healthSe o serviço está no ar.
GET/api/v1/openapi.jsonO contrato OpenAPI 3.1 completo, para geradores de código e agentes.

Autenticação

Nenhuma para os endpoints desta página. Para reservar uma aula ou gerir uma agenda por alguém, um agente usa nosso servidor MCP com OAuth, e a pessoa aprova antes.

Conecte um assistente de IA

Erros

Todo erro volta como JSON no formato de problema RFC 9457 (application/problem+json), nunca como página HTML. Leia code para decidir o que fazer e hint para saber como resolver.

  • 400invalid_parameter

    Um parâmetro da consulta está errado. O campo param diz qual.

  • 404not_found

    Esse endpoint, professor, estúdio ou aula não existe.

  • 405method_not_allowed

    Estes endpoints só leem. Use GET.

  • 429rate_limited

    Pedidos demais. Espere os segundos indicados em Retry-After.

  • 500internal_error

    Algo falhou do nosso lado. Tente de novo, esperando um pouco mais a cada vez.

  • 503service_unavailable

    O serviço está fora do ar por um momento. Tente mais tarde.

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 uso

Os limites são por endereço IP: 100 pedidos por minuto, mais 5.000 por dia nos endpoints de listas. Cada resposta mostra onde você está, para reduzir o ritmo antes de acabar a cota.

  • RateLimit-Policy

    Suas cotas, por exemplo "burst";q=100;w=60.

  • RateLimit

    Pedidos restantes e segundos até cada cota renovar.

  • RateLimit-Limit / -Remaining / -Reset

    O mesmo para a cota mais perto de acabar, no formato antigo de valor único.

  • Retry-After

    Num 429, quantos segundos esperar.

Versões

A versão fica no caminho, então nada muda sem aviso.

  • Novos endpoints, parâmetros e campos entram na v1 sem mudar o resto. Seu código continua funcionando.
  • Qualquer coisa que quebraria código existente, como remover ou renomear um campo, sai como /api/v2.
  • Antes de uma versão ser desligada, as respostas trazem um cabeçalho Deprecation (RFC 9745) e um cabeçalho Sunset (RFC 8594) com a data, com pelo menos 6 meses de antecedência.

Para agentes e ferramentas

Pontos de entrada legíveis por máquina: GET /api/v1 · OpenAPI 3.1 · API catalog (RFC 9727) · llms.txt · MCP server card

Dúvidas, ou precisa de um limite maior? Escreva para support@movementors.com