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.
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 'https://aidevboard.com/api/v1/jobs?limit=2'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);import requests
res = requests.get("https://aidevboard.com/api/v1/jobs?limit=2", timeout=20)
res.raise_for_status()
print(res.json()){
"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 combiningParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | query | Optional | How many jobs to return. 2 |
q | query | Optional | Full-text search across title, description, company and tags. llm |
tags | query | Optional | Comma-separated tag filter. llm,pytorch |
workplace | query | Optional | `remote`, `hybrid` or `onsite`. `remote=true` is accepted as shorthand. remote |
global_remote | query | Optional | Set true to return only roles with explicit worldwide hiring evidence, excluding region-restricted ones. true |
location | query | Optional | Partial-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
Resume Keyword Matcher
Compare your resume against a job description, see which keywords and phrases you cover, which are missing, and how densely each section uses them.
JobPosting Schema Generator
Generate JobPosting JSON-LD structured data for Google Jobs with salary, location, remote options and employment type. Free, with required-field warnings.
Keyword Extractor (RAKE)
Pull the key phrases out of any text with the RAKE algorithm. Ranks multi-word phrases by co-occurrence score, entirely in your browser.
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.