Skip to content
AI Trainer Jobs
Companies

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 by category, q (text search), min_pay (USD), pay_type (hour, once, or task), and country (a code such as BR). Page through results with limit (1 to 100, default 50) and offset.
  • GET /api/v1/jobs/{id}: one job by its 8-character id, open or closed. Closed jobs have no apply_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 Deprecation header (RFC 9745) and a Link header that names its replacement with rel="successor-version".
  • Before I remove a path, it sends a Sunset header (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 /api paths.
  • API responses have a RateLimit-Policy header, such as "default";q=60;w=60, and a RateLimit header, such as "default";r=59;t=60. Here r is the number of requests you have left, and t is 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_limited and a Retry-After header 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.