BYTETOOLS

AI Dev Jobs API

Free AI job board API with no key: machine learning and AI engineering roles with agent-oriented metadata declaring exactly which actions need human review. Tested example included.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the AI Dev Jobs API?

AI Dev Jobs publishes AI and ML engineering vacancies through an open REST API needing no key. Alongside the postings, every response declares its own access mode, throttling policy and which downstream actions require verified human review.

This board was designed for agents to read, and it is unusually candid about it. The response opens with an `access` object stating that public reads are open and free, that API keys are optional and exist only for stable agent identity, and where to register if you want one — the API documenting its own terms in the payload rather than making you find a page.

The `candidate_resume_action` block goes further and is genuinely novel. It describes an action an agent might want to take — compiling a job-specific resume — and explicitly flags `requires_explicit_human_review` and `saved_artifact_requires_verified_human` as true. In other words, the API tells an automated client up front which operations it must not perform unsupervised. Whether or not you are building an agent, that pattern is worth seeing. Note the `degraded` and `estimated` flags on the envelope, which warn you when results are being served from a fallback path.

Quick facts

Base URL
https://aidevboard.com/api/v1
Authentication
Public read endpoints are open and free. An optional free API key gives stable agent identity and keyed hourly throttling rather than unlocking extra data.
Rate limit
Hourly abuse throttles on anonymous traffic. An optional key moves you to keyed throttling.
Pricing
Free for public reads.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the AI Dev Jobs API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. List AI and ML engineering jobs

GET https://aidevboard.com/api/v1/jobs?limit=2

curl
curl 'https://aidevboard.com/api/v1/jobs?limit=2'
JavaScript (fetch)
const res = await fetch("https://aidevboard.com/api/v1/jobs?limit=2");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://aidevboard.com/api/v1/jobs?limit=2", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "access": {
    "catalog_url": "https://aidevboard.com/api/v1/catalog",
    "description": "Public read endpoints are open and free. API keys are optional for stable agent identity and keyed hourly throttling.",
    "docs_url": "https://aidevboard.com/docs",
    "employer_pilot_url": "https://aidevboard.com/verified-interview-pilot",
    "mode": "open",
    "register_url": "https://aidevboard.com/api/v1/register"
  },
  "candidate_resume_action": {
    "application_authorized": false,
    "candidate_charge": 0,
    "endpoint": "https://aidevboard.com/api/v1/candidate/resume-preview",
    "job_id_json_path": "jobs[].id",
    "method": "POST",
    "preview_requires_identity": false,
    "required_body_fields": [
      "job_id",
      "evidence_bullets"
    ],
    "requires_explicit_human_review": true,
    "saved_artifact_protocol": "mcp",
    "saved_artifact_requires_verified_human": true,
    "saved_artifact_tool": "compile_job_specific_resume",
    "search_requires_identity": false,
    "status": "available_after_candidate_selects_job",
    "submission_performed": false,
    "uses_candidate_verified_evidence": true
  },
  "degraded": false,
  "estimated": false,
  "has_next": true,
  "jobs": [
    {
      "id": "de2fe643-57d2-481c-ae63-e9cde0fbbe4f",
      "company_id": "d3f1a010-47af-48d2-8b4e-a5953078daac",
      "title": "Senior Software Engineer, Production Engineering",
      "slug": "senior-software-engineer-production-engineering-571d6200",
      "description": "WHY HARVEY\n\nAt Harvey, we’re transforming how legal and professional services operate. By combining

Parameters

ParameterTypeRequiredDescription
limitqueryOptionalHow many jobs to return. 2
qqueryOptionalFull-text search across title, description, company and tags. llm
tagsqueryOptionalComma-separated tag filter. llm,pytorch
workplacequeryOptional`remote`, `hybrid` or `onsite`. `remote=true` is accepted as shorthand. remote
global_remotequeryOptionalSet true to return only roles with explicit worldwide hiring evidence, excluding region-restricted ones. true
locationqueryOptionalPartial-match location filter. london

Response fields

accessobject
The API's own terms: `mode` (open), a description of the key policy, and `docs_url`, `catalog_url` and `register_url` links.
candidate_resume_actionobject
Machine-readable description of an agent-facing action, including `requires_explicit_human_review` and `saved_artifact_requires_verified_human`, both true. It declares what an agent must not do unsupervised.
degradedboolean
True when results are being served from a fallback path rather than the primary index.
estimatedboolean
True when counts are approximate rather than exact.
has_nextboolean
Whether more results exist beyond this page.
jobsarray
The matching vacancies.
jobs[].id / company_idstring
UUIDs for the posting and the employer.
jobs[].title / slugstring
Role title and its URL-friendly form.
jobs[].descriptionstring
Full role description.

What you can build with the AI Dev Jobs API

  • Build an AI-specialist job alert or digest
  • Filter to genuinely worldwide remote roles using global_remote
  • Give an agent a job source that states its own usage boundaries
  • Track which tools and frameworks appear most often in AI job requirements

Common errors and how to fix them

`degraded: true`

Results came from a fallback path rather than the primary index.

Fix: Treat the results as possibly incomplete and retry later before drawing conclusions from counts.

`estimated: true`

Result counts are approximate.

Fix: Do not display an estimated count as exact. Page with `has_next` instead of relying on a total.

Throttled

Anonymous traffic is subject to hourly abuse throttles.

Fix: Register the optional free key for stable identity and keyed throttling, or reduce your request rate.

Remote roles that are not really remote

Many listings labelled remote are region-restricted.

Fix: Use `global_remote=true`, which the API defines as requiring explicit worldwide hiring evidence.

AI Dev Jobs API — frequently asked questions

Does the AI Dev Jobs API need a key?

No. Public read endpoints are open and free. An optional key exists for stable agent identity and keyed throttling, not to unlock extra data.

What is the candidate_resume_action block?

A machine-readable description of an agent-facing action, which explicitly flags that it requires human review before anything is saved or submitted. It is the API telling an automated client what it must not do on its own.

What does global_remote do?

It filters to roles with explicit evidence of worldwide hiring, excluding the region-restricted listings that are commonly labelled remote but are not.

What do the degraded and estimated flags mean?

`degraded` means results came from a fallback path and may be incomplete; `estimated` means counts are approximate. Both are worth surfacing rather than ignoring.

Tools that pair with this API

AI Dev Jobs is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.