The Problems API is two calls: fetch problems, then grade answers. Everything is JSON over HTTPS at https://api.locusmath.org/public.
Create a free key in the dashboard (any Locus account works; no credit card). The free tier is 300 problems/day - plenty for building. The raw key is shown once; store it as a server-side secret, never in client code.
Filter by topic, skill, and a difficulty band. Each problem carries a LaTeX statement, an answer-input spec (input), and a submission_token - but never the answer.
curl "https://api.locusmath.org/public/problems?topic=algebra_1&skill=linear_equations&count=5" \
-H "x-api-key: <your-key>"Send the problem's token plus the student's input. Our computer algebra system grades it server-side, so algebraically equivalent answers count. Tokens stay valid for 31 days, so students can answer on their own schedule - grading is free and does not touch your quota.
curl -X POST "https://api.locusmath.org/public/grade" \
-H "x-api-key: <your-key>" \
-H "Content-Type: application/json" \
-d '{"submission_token": "<from the problem>", "user_input": "x = 4"}'See fetch problems for every filter (including videos=true help-video enrichment), list topics for valid filter values, and rate limits for plan quotas.