API Documentation

Build with our REST API. Post jobs, search, and apply — both as humans and agents.

Base URL: https://aidevboard.com/api/v1

Get Free API Key View Pricing

Rate Limits

API responses include rate limit headers and an X-API-Tier header where applicable:

Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-API-Tier. Hourly throttles return 429; monthly quota exhaustion returns 402 quota_exceeded with limit, used, reset_at_unix, register_url, and subscribe_url.

Public Endpoints (No Auth)

GET /api/v1/jobs

Search and list active job postings. Returns paginated results with metadata.

ParameterTypeDescription
qstringFull-text search (title, description, company, and tags)
tagsstringComma-separated tags (e.g., llm,pytorch,python)
typestringfull-time, part-time, contract, freelance (alias: job_type)
levelstringjunior, mid, senior, lead, principal
locationstringFilter by location (partial match)
workplacestringremote, hybrid, onsite (also accepts remote=true)
companystringCompany slug (e.g., openai, anthropic) — returns only that company's jobs
salary_minintMinimum salary in USD/year (e.g., 200000)
salary_maxintMaximum salary in USD/year — range overlap
salary_floor_minintStrict floor: job's minimum salary must be ≥ this value
pageintPage number (default: 1)
limitintResults per page (default: 20, max: 50)
curl https://aidevboard.com/api/v1/jobs?tags=llm,pytorch&level=senior&workplace=remote
GET /api/v1/jobs/{id-or-slug}

Get a specific job by ID.

curl https://aidevboard.com/api/v1/jobs/research-engineer-performance-rl-2f0da25a
GET /api/v1/jobs/{id-or-slug}/similar

Find jobs similar to a given job, scored by tag overlap, workplace, level, and job type match.

ParamTypeDescription
limitintMax results (1-20, default 5)
curl https://aidevboard.com/api/v1/jobs/research-engineer-performance-rl-2f0da25a/similar?limit=5
POST /api/v1/jobs/match

Match jobs to a candidate profile. Returns ranked results scored by skill overlap, salary fit, and preferences. Recommended for agentic job search.

FieldTypeDescription
skills requiredstring[]Candidate skills (e.g., ["python", "llm", "pytorch"])
salary_minintDesired minimum salary (USD/year)
salary_maxintDesired maximum salary (USD/year)
workplacestringremote, hybrid, onsite
levelstringjunior, mid, senior, lead, principal
limitintMax results (default: 20, max: 50)
curl -X POST https://aidevboard.com/api/v1/jobs/match \ -H "Content-Type: application/json" \ -d '{"skills":["go","backend","payments"],"salary_min":200000,"workplace":"remote"}'
Scoring & Example Response

Scoring: +2 per matching tag, +3 salary overlap, +2 workplace match, +1 level match, +1 per skill in description.

{ "matches": [ { "job": { "id": "d290f1ee-6c54-4b01-90e6-d701748f0851", "title": "Senior Backend Engineer", "company_name": "Cursor", "salary_min": 250000, "salary_max": 380000, "tags": ["go", "backend", "llm"], "workplace": "remote" }, "match_score": 12, "matched_tags": ["go", "backend"], "match_reasons": ["2 tag matches", "salary overlap", "workplace match"] } ], "total": 47 }
GET /api/v1/tags

List popular tags with job counts.

curl https://aidevboard.com/api/v1/tags
GET /api/v1/stats

AI developer job market statistics: salary benchmarks, tag trends, company rankings, workplace and experience breakdowns. Updated daily.

curl https://aidevboard.com/api/v1/stats
GET /api/v1/companies

List all companies with active job listings, including job counts and average salaries.

curl https://aidevboard.com/api/v1/companies

Returns: company slug, name, website, job count, average salary, and salary data count for each company. Sorted by job count descending.

GET /api/v1/companies/{slug}

Get a specific company's details and all active job listings.

curl https://aidevboard.com/api/v1/companies/anthropic
GET /api/v1/salary-trends

Historical salary data with daily snapshots. Filter by tag, level, or location.

ParameterTypeDescription
tagstringFilter by tag (e.g., llm, pytorch)
levelstringFilter by level (senior, mid, lead, etc.)
locationstringFilter by location
daysintNumber of days to return (default: 90)
curl https://aidevboard.com/api/v1/salary-trends?tag=llm&days=30
Example Response
{ "days": 30, "snapshots": [ { "date": "2026-04-16T00:00:00Z", "total_active_jobs": 7477, "jobs_with_salary": 2896, "avg_salary": 225489, "median_salary": 213500, "p25_salary": 180700, "p75_salary": 260050, "avg_salary_remote": 218706, "avg_salary_onsite": 217433, "avg_salary_hybrid": 256480, "new_jobs_today": 565 } ] }
GET /api/v1/pricing

List available pricing tiers and features.

Registration

POST /api/v1/register/company

Register a company and get an API key for posting jobs.

curl -X POST https://aidevboard.com/api/v1/register/company \ -H "Content-Type: application/json" \ -d '{"name":"Acme AI","email":"hire@acme.ai","website":"https://acme.ai"}'
POST /api/v1/register

Get a developer API key for searching and applying to jobs. Legacy alias: /api/v1/register/developer.

curl -X POST https://aidevboard.com/api/v1/register \ -H "Content-Type: application/json" \ -d '{"name":"Jane Smith","email":"jane@dev.com"}'

Company API (Requires Company API Key)

Pass your API key via X-API-Key header or Authorization: Bearer {key}.

POST /api/v1/company/jobs

Post a new job listing.

curl -X POST https://aidevboard.com/api/v1/company/jobs \ -H "Content-Type: application/json" \ -H "X-API-Key: aidjk_your_key" \ -d '{ "title": "Senior LLM Engineer", "description": "Build and deploy LLMs...", "requirements": "5+ years ML experience...", "salary_min": 200000, "salary_max": 350000, "location": "Remote", "job_type": "full-time", "experience_level": "senior", "tags": ["llm", "pytorch", "python"], "tier": "featured" }'
POST /api/v1/company/pay

Activate a job listing by paying. Returns checkout URL for Stripe payment.

curl -X POST https://aidevboard.com/api/v1/company/pay \ -H "Content-Type: application/json" \ -H "X-API-Key: aidjk_your_key" \ -d '{"job_id":"abc-123","tier":"featured"}'
GET /api/v1/company/jobs

List all jobs posted by your company.

GET /api/v1/company/jobs/{id}/applications

Get all applications for a specific job.

PATCH /api/v1/company/applications/{id}

Update application status (reviewed, shortlisted, rejected).

curl -X PATCH https://aidevboard.com/api/v1/company/applications/abc-123 \ -H "Content-Type: application/json" \ -H "X-API-Key: aidjk_your_key" \ -d '{"status":"shortlisted"}'

Developer API (Requires Developer API Key)

POST /api/v1/developer/apply/{job_id}

Apply to a job listing programmatically.

curl -X POST https://aidevboard.com/api/v1/developer/apply/abc-123 \ -H "Content-Type: application/json" \ -H "X-API-Key: aidjk_your_key" \ -d '{ "cover_letter": "I have 7 years of ML experience...", "skills": ["python", "pytorch", "llm"], "experience_years": 7, "github_url": "https://github.com/janesmith" }'
POST /api/v1/developer/subscribe

Upgrade to Pro tier ($49/month). Returns a Stripe checkout URL for payment, or upgrades instantly in test mode.

curl -X POST https://aidevboard.com/api/v1/developer/subscribe \ -H "X-API-Key: aidjk_your_key"
Response
{ "tier": "pro", "rate_limit": 5000, "status": "completed", "message": "Upgraded to Pro" }

Webhooks

Pro tier subscribers will receive webhook notifications for new jobs matching their search criteria. Coming soon.

Machine-Readable Formats

For AI agents and automated tools:

ResourceURL
OpenAPI 3.0 Spec/openapi.yaml (also: /openapi.json)
LLM Instructions/llms.txt
MCP Server/mcp (Streamable HTTP transport)
MCP Manifest/.well-known/mcp.json
Agent Discovery/.well-known/agent.json
AI Plugin Manifest/.well-known/ai-plugin.json
RSS Feed/feed.xml · per-tag: /feed/tag/{tag}.xml · per-company: /feed/company/{slug}.xml
Aggregator Feed/feed/indeed.xml (Indeed/ZipRecruiter format)
Sitemap/sitemap.xml
Embed Widget/widget-docs (drop-in JS — live feed on any site)
Hiring Badges/badge/{slug}.svg (dynamic SVG for README/footer)

MCP Server

AI Dev Jobs is available as an MCP server. AI agents can search jobs, look up companies, and retrieve salary data through the Model Context Protocol.

SETUP One-line install — any MCP client
curl -fsSL https://aidevboard.com/install | sh

Runs claude mcp add if Claude Code is installed. Prints Cursor, Cline, and Continue snippets otherwise.

SETUP Manual — Claude Code / Claude Desktop
claude mcp add --transport http aidevjobs https://aidevboard.com/mcp

Available tools:

ToolDescription
search_jobsSearch and filter AI/ML jobs by keyword, location, workplace, salary, tags, and experience level
get_jobGet full details for a specific job by ID or slug
list_companiesList all companies with active AI job listings
get_companyDetailed company profile: open roles, salary range, workplace distribution, top skills
get_statsGet market statistics: salary ranges, top tags, hiring trends
match_jobsRank jobs against a candidate profile (skills, salary, workplace, level)
get_salary_dataSalary benchmarks by tag, level, workplace, or company (avg, median, p25, p75)
list_tagsAll available job tags/skills with active job counts
get_trending_companiesCompanies posting the most AI/ML jobs in a trailing window
get_similar_jobsNear-match active jobs for a specific job ID or slug
list_productsPaid ADB products: promoted listings, API Pro, and Dossier SKUs
quote_productDeterministic quote for any paid product
start_checkoutCheckout handoff for Stripe Checkout without charging automatically

The MCP server uses Streamable HTTP transport at https://aidevboard.com/mcp. No authentication required. Listed in the official MCP registry as com.aidevboard/jobs.

Need Help?

Email us at hello@aidevboard.com for API support.