Jobs — entry 001 of 18
AI Dev Jobs
A REST job board built specifically for AI/agent access: search, apply, and even post AI/ML developer roles through a documented JSON API and an MCP server, alongside human-facing RSS/HTML views. Read endpoints are open with no key, gated only by hourly abuse throttling; an optional free API key raises those limits and gives a stable agent identity.
AI Dev Board is a job board built specifically for AI/ML engineering roles, with a REST API designed for both human tooling and agentic access -- its own OpenAPI 3.0.3 spec (served live at aidevboard.com/openapi.yaml, enumerated this run) declares 22 paths covering job search, a candidate-matching endpoint, company profiles, tag/market statistics, and employer job-posting commerce. Every read endpoint is open with no key.
GreatAPIs Score
Auth quickstart
- No API key is required to read. A live probe of GET /tags this run returned real `x-ratelimit-limit: 200` / `x-ratelimit-remaining` headers with `x-api-tier: anonymous` -- the anonymous tier is capped at 200 requests, and `x-ratelimit-reset` decoded to the top of the current hour, confirming the spec's own "hourly abuse throttles" description as a measured fact, not a docs claim.
- A free API key is available via `POST /register` with a JSON body of `{"name", "email"}`, returned in the response and then sent back as an `X-API-Key` header on later calls (per the live spec's `securitySchemes.apiKey`) -- not tested live this run since it requires submitting a real email address; the spec states it exists only to raise the throttle and give a stable agent identity, not to unlock otherwise-gated data.
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
List every job tag with its live posting count
GEThttps://aidevboard.com/api/v1/tags
{"candidate_actions":{"job_search_pack":{"amount_cents":2900,"api_checkout_url":"https://aidevboard.com/api/v1/checkout?product_id=aidevboard_ai_skills_demand_pack","checkout_url":"https://aidevboard.com/market-demand-pack?qc=api-tags-job-search-pack\u0026utm_campaign=skills_demand_pack\u0026utm_medium=tags_api\u0026utm_source=api","currency":"USD","description":"Full ranked public AI/ML demand CSV, source job URLs, and decision brief with market and offer angles.","fulfillment":"automatic_email_after_paid_checkout","human_checkout_url":"https://aidevboard.com/market-demand-pack?qc=api-tags-job-search-pack\u0026utm_campaign=skills_demand_pack\u0026utm_medium=tags_api\u0026utm_source=api","name":"AI Market Demand Pack","next_step":"Open checkout_url for Stripe Checkout, or call api_checkout_url to get the non-charging checkout handoff payload.","price_usd":29,"product_id":"aidevboard_ai_skills_demand_pack","quote_url":"https://aidevboard.com/api/v1/quote?product_id=aidevboard_ai_skills_demand_pack"}},"degraded":false,"tags":{"agents":2837,"alignment":408,"api-design":489,"autonomous-vehicles":537,"backend":223,"c++":30,"cloud":1658,"code-generation":290,"computer-graphics":142,"computer-vision":541,"data-engineering":93,"data-pipeline":1240,"data-science":385,"deep-learning":763,"devops":109,"diffusion-models":85,"distributed-systems":1487,"embedded":67,"embeddings":302,"evaluation":96,"fine-tuning":874,"frontend":84,"fullstack":190,"generative-ai":1733,"gpu":555,"healthcare":1210,"inference":92,"infrastructure":647,"jax":43,"llm":2661,"machine-learning":589,"microservices":213,"mlops":532,"mobile":36,"nlp":311,"payments":1455,"platform":211,"pre-training":153,"product-management":42,"pytorch":1016,"rag":424,"reinforcement-learning":546,"research":775,"robotics":1105,"rust":55,"search":660,"security":479,"software-engineering":131,"speech":195,"tensorflow":451}}
GET /tags was requested directly because it's the smallest real endpoint on the whole spec: /jobs?limit=1 runs 7,609 B and the single-job route /jobs/{id_or_slug} runs 7,167 B (both measured live this run), each dominated by one job's full description text. /tags carries no per-job text at all, just tag names and counts, and at 1,894 B is the only response observed this run that stays under a few KB. Not truncated after capture -- this is the whole body.
Developer reference
https://aidevboard.com/api/v1200 requests/hour for the anonymous tier, confirmed live via x-ratelimit-limit/x-ratelimit-remaining response headers, resetting on the top of the clock hour (x-ratelimit-reset)
Gotchas & limits
- Every response, including this one, embeds a `candidate_actions.job_search_pack` (or `access`/`market_demand_pack`, depending on the endpoint) block advertising a $29 paid "AI Market Demand Pack" CSV -- confirmed live on both /tags and /jobs. It's a commerce compatibility field bolted onto otherwise-free read endpoints, not part of the job/tag data itself.
- The anonymous tier is rate-limited to 200 requests/hour, confirmed live via the `x-ratelimit-limit`/`x-ratelimit-remaining` headers on /tags; `x-ratelimit-reset` decoded to an exact top-of-the-hour Unix timestamp, so the window resets on the clock hour rather than 60 minutes after the first call.
- A nonexistent job ID or slug (confirmed live with `/jobs/does-not-exist-xyz`) returns a clean `404 application/json` body `{"error":"job not found"}` -- not an empty body or an HTML error page.
- `POST /jobs/match` (the candidate-matching/agentic-search endpoint) requires a `skills` array in the JSON body; an empty `{}` body returns `400 application/json` with `{"error":"skills array required (e.g. [\"python\",\"llm\",\"pytorch\"])"}`, confirmed live -- the message itself documents the expected shape.
- CORS is wide open: confirmed live with `access-control-allow-origin: *` on /tags, both bare and with an `Origin: https://example.com` header.
- The `Link` response header on every request (confirmed live on /tags) advertises `/llms.txt`, `/openapi.yaml`, and `/.well-known/mcp.json` as machine-readable alternates -- all three were confirmed live and reachable (200) this run.