AI Trainer Jobs API
The AI Trainer Jobs API gives you the same jobs as this site, as JSON. It is free and read-only, and it needs no account or API key. Use it to build a job alert, show AI trainer jobs on your own site, or let an AI agent search jobs for someone.
Quick start
- Search jobs:
curl "https://aitrainerjobs.co/api/v1/jobs?category=coding&min_pay=40&country=BR" - Read one job:
curl https://aitrainerjobs.co/api/v1/jobs/{id} - List categories:
curl https://aitrainerjobs.co/api/v1/categories
Every parameter, field, and error is in the OpenAPI 3.1 spec.
Endpoints
-
GET /api/v1/jobs: open jobs, newest first. Filter bycategory,q(text search),min_pay(USD),pay_type(hour,once, ortask), andcountry(a code such asBR). Page through results withlimit(1 to 100, default 50) andoffset. GET /api/v1/jobs/{id}: one job by its 8-character id, open or closed. Closed jobs have noapply_url.GET /api/v1/categories: every category slug, with its number of open jobs.
Send people to a job's apply_url or url. Some apply links are referral links. Candidates pay
nothing, and their pay stays the same.
Versioning and deprecation
- The major version is in the path:
/api/v1. - Version 1 only gets changes that do not break clients: new optional parameters, new response fields, and new category slugs. Ignore fields you do not know.
- A breaking change gets a new path, such as
/api/v2. The old version keeps working until its sunset date. -
A deprecated path sends a
Deprecationheader (RFC 9745) and aLinkheader that names its replacement withrel="successor-version". -
Before I remove a path, it sends a
Sunsetheader (RFC 8594) with the removal date, at least 90 days ahead. I also list the change on this page.
Rate limits
- Each IP address can make 60 requests every 60 seconds to
/apipaths. -
API responses have a
RateLimit-Policyheader, such as"default";q=60;w=60, and aRateLimitheader, such as"default";r=59;t=60. Hereris the number of requests you have left, andtis the number of seconds until the count resets. Both follow the IETF RateLimit header fields draft. -
Over the limit, you get HTTP 429 with the error code
rate_limitedand aRetry-Afterheader in seconds. Wait that long, then try again. - The jobs update every 5 minutes, so polling more often gets you nothing new.
Errors
Errors are JSON with a code, a message, and a hint that tells you how to fix the request:
{"error":{"code":"invalid_parameter","message":"Invalid limit parameter.","hint":"Use an integer from 1 to 100."}}.
The codes are invalid_parameter (400), not_found (404), method_not_allowed (405),
rate_limited (429), and internal_error (500).
Files for agents and tools
- OpenAPI spec:
/openapi.json - API catalog (RFC 9727):
/.well-known/api-catalog - Site guide for LLMs:
/llms.txt - Markdown for the home, category, job, About, and this page: send
Accept: text/markdown - RSS feed of new jobs, plus one feed per category at
/jobs/{category}/feed.xml
Contact
Found a bug, or need a higher limit? Email danilo@aitrainerjobs.co.