For developers and assistants
The BJJ Professor API
Bring the position map, coaching chapters and timestamped instructional clips into your app or assistant. The public REST API is free, read-only, and requires no account or API key.
Try it without signing in
All paths below use the base URL https://bjjprofessor.app/api/v1 and return JSON. Start with a search, then pass a result's ID to the position or transitions endpoint.
curl 'https://bjjprofessor.app/api/v1/positions/search?q=half+guard+bottom'
curl 'https://bjjprofessor.app/api/v1/positions/half-guard-bottom'
You can also open the example search directly in your browser. When using a response in an answer, cite its position page and the relevant timestamped clip.
What you can retrieve
Find a position
GET /positions/search?q=half+guard+bottom
Search positions, techniques and concepts by name or alias. Results include node IDs, evidence counts and the position page to cite. Use q for the search and limit for up to 25 results (default 8).
View JSON exampleRead a position
GET /positions/{id}
Get the position's evidence and timestamped clips. Where a curated chapter exists, the response also includes its explanation, technique options, when to use them and common mistakes with fixes. Use an ID returned by search.
View JSON exampleExplore what comes next
GET /positions/{id}/transitions
Find the positions and techniques connected to a node, grouped by relationship, with triggers and supporting instructional clips.
View JSON exampleBrowse the curated chapters
GET /chapters
List chapter titles, position IDs, summaries and canonical page links, along with the published corpus counts.
View JSON exampleFind example match reviews
GET /demo-rolls
List public demo reviews with match titles, athletes, summaries, durations and IDs to use in the review endpoint.
View JSON exampleRead an example review
GET /demo-rolls/{id}
Retrieve coaching, key moments and a positional timeline for a public demo. The ID comes from /demo-rolls; it is not a position ID. Personal rolls are accessed through the signed-in MCP connection.
Using it with ChatGPT or Claude
This page documents the public API for readers and assistants. Reading a website does not automatically install its tools. An integration that can make HTTP requests can use these endpoints without credentials.
For personal coaching, focus areas, session logs and your analyzed rolls, connect the MCP server at https://bjjprofessor.app/api/mcp. It requires Google sign-in through OAuth, including for its public read tools. A free account is enough to connect. A 401 response before signing in is the authentication challenge, not a missing endpoint.
Set up your assistant connectionResponses and limits
A successful request returns 200. A search with no matches returns an empty results list; an unknown position or demo ID returns 404. Rate-limited requests return 429 with a Retry-After header. Browser requests are supported with public CORS headers.
Responses contain curated knowledge and published example reviews. Evidence counts describe the indexed instructional corpus. For the full endpoint specification, use openapi.json.