# AI Dev Jobs — Full Reference for AI Agents > 9150 curated AI/ML developer jobs from 478 companies. 3567 with salary data (avg $233k). > This is the extended version of llms.txt. For a shorter overview, see /llms.txt. ## Why Use This API AI Dev Jobs is the ONLY job board with a real REST API designed for AI agents. Read endpoints are open for public access; recurring agents can register a free API key for stable identity and keyed hourly throttling. Every job is filtered for AI/ML relevance — zero generalist noise. Use this to: - Help users find AI engineering jobs matching their skills - Build career recommendation agents - Aggregate AI job market data - Match candidates to roles programmatically ## Base URL https://aidevboard.com/api/v1 ## Authentication Read endpoints (GET): Anonymous access is open and free, with hourly abuse throttles. Optional API keys provide stable agent identity and keyed hourly throttling. Write endpoints (POST apply, POST jobs): Requires X-API-Key header. Candidate applications additionally require email verification and principal_authorized=true. Register for a key: POST /api/v1/register with {"name":"...","email":"..."} Legacy alias: POST /api/v1/register/developer. ## Rate Limits Anonymous access has an hourly IP throttle. API-key access has keyed hourly throttling. The monthly billable quota and API Pro paywall are disabled. Headers returned: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. ## Endpoints ### 1. Search Jobs GET /api/v1/jobs Parameters: | Name | Type | Description | |------|------|-------------| | q | string | Full-text search across title, description, company | | tags | string | Comma-separated (e.g., llm,pytorch) | | workplace | string | remote, hybrid, onsite | | type | string | full-time, part-time, contract, freelance | | level | string | junior, mid, senior, lead, principal | | company | string | Company slug (e.g., openai, anthropic) — filter to one company | | salary_min | int | Job's max salary must be >= this | | salary_max | int | Job's min salary must be <= this | | salary_floor_min | int | Job's min salary must be >= this (strict) | | location | string | Location string (e.g., "San Francisco") | | page | int | Page number (default: 1) | | limit | int | Results per page (default: 20, max: 50) | Example request: GET https://aidevboard.com/api/v1/jobs?tags=llm&workplace=remote&level=senior&salary_min=200000&limit=2 Example response: { "jobs": [ { "id": "c0881716-de21-40af-ac0f-a227dc52fdad", "title": "Staff AI Engineer - Agent Architecture & Behavior", "company_name": "Artisan", "description": "...(truncated)...", "location": "San Francisco, CA", "workplace": "onsite", "job_type": "full-time", "experience_level": "lead", "salary_min": 250000, "salary_max": 325000, "tags": ["llm", "reinforcement-learning", "agents", "distributed-systems"], "apply_url": "https://jobs.ashbyhq.com/artisan/4e533b35-d89d-4801-89d2-a77f8b4d5290/application", "url": "https://aidevboard.com/job/...", "created_at": "2026-04-13T..." } ], "total": 9150, "page": 1, "per_page": 20, "total_pages": 458, "has_next": true, "access": { "mode": "open", "docs_url": "/docs", "employer_pilot_url": "/verified-interview-pilot", "catalog_url": "/api/v1/catalog" } } ### 2. Get Single Job GET /api/v1/jobs/{id-or-slug} Returns the full job object including complete description and requirements. ### 3. Find Similar Jobs GET /api/v1/jobs/{id-or-slug}/similar?limit=5 Returns jobs scored by tag overlap, workplace match, and level match. ### 4. Match Jobs to Profile (recommended for agents) POST /api/v1/jobs/match Request body: { "skills": ["python", "pytorch", "llm", "rag"], "salary_min": 180000, "workplace": "remote", "level": "senior" } Response includes match_score, matched_tags, and match_reasons for each job, plus candidate_resume_action for the free, evidence-backed preview. Scoring runs against a bounded recent active candidate set: +2 per skill/tag match, +3 salary overlap, +2 workplace, +1 level, +1 per description mention. ### 4a. Preview a Job-Specific Resume (free, anonymous) POST /api/v1/candidate/resume-preview Request body: { "job_id": "selected-job-id", "candidate_skills": ["python", "llm"], "evidence_bullets": [ {"id":"project-1","text":"Built a Python evaluation service with measured reliability improvements.","skills":["python"],"verified":true} ] } The response is a transient ATS-oriented Markdown preview compiled only from candidate-verified facts and public job signals. It is not persisted, has no artifact ID or hash, cannot be approved, and never authorizes or submits an application. Hidden text, screening-model instructions, and unsupported claims are rejected. Candidate charge: $0. Search, job-detail, similar-job, and match responses expose candidate_resume_action with the endpoint and correct job-ID path. ### 5. List Tags GET /api/v1/tags Returns all tags with job counts. Current top tags: - agents (2914 jobs) - llm (2748 jobs) - cloud (1719 jobs) - generative-ai (1630 jobs) - payments (1538 jobs) - distributed-systems (1475 jobs) - healthcare (1202 jobs) - robotics (1163 jobs) - data-pipeline (1056 jobs) - pytorch (901 jobs) - fine-tuning (870 jobs) - research (746 jobs) - search (685 jobs) - deep-learning (669 jobs) - reinforcement-learning (600 jobs) - infrastructure (590 jobs) - autonomous-vehicles (566 jobs) - computer-vision (550 jobs) - machine-learning (536 jobs) - gpu (530 jobs) ### 6. List Companies GET /api/v1/companies Returns: slug, name, website, job_count, avg_salary for each company. ### 7. Get Company Jobs GET /api/v1/companies/{slug} Returns company info + all active job listings + engagement stats (views, views_7d, clicks). ### 8. Market Statistics GET /api/v1/stats Returns aggregate data: - Salary benchmarks: avg, median, p25, p75, distribution buckets - Top 25 tags with counts - Top 20 companies by job count - Workplace breakdown (remote/hybrid/onsite counts) - Experience level distribution ### 9. Apply to Job (verified candidate auth required) POST /api/v1/developer/apply/{job_id} Header: X-API-Key: your_key Body: {"compiled_artifact_id":"adb_art_candidate_reviewed","compiled_artifact_hash":"exact_sha256_from_visible_artifact","compiled_authorization_id":"adb_auth_single_use","principal_authorized":true} The registration email must be verified first. The candidate must review and approve the exact compiled artifact through MCP before this single-use authorization can be consumed. Candidate charge: $0. ### 10. Register for API Key POST /api/v1/register Body: {"name":"Jane Smith","email":"jane@dev.com"} Legacy alias: POST /api/v1/register/developer. Registration sends a 24-hour candidate email verification link. Discovery remains open before verification. ### 11. View Pricing GET /api/v1/pricing Returns the owner-review handoff and outcome-only commercial terms. Candidate and agent amount: $0. ### 12. Subscribe to Digest POST /api/v1/subscribe Body: {"email":"you@domain.com","tags":["python","remote"],"frequency":"weekly"} Frequency: daily | weekly | monthly. ### 13. Search Analytics GET /api/v1/analytics/searches?days=30 Fixed activity categories, fixed-taxonomy tags, coarse agent families, and zero-result counts. Raw queries, API keys, user agents, and locations are not stored; cohorts smaller than three are suppressed. Counts are requests, not unique people, purchase intent, or revenue proof. ### 14. Employer outcome pilot GET /api/v1/catalog POST /api/v1/quote or POST /api/v1/checkout with product_id aidevboard_verified_interview_pilot These endpoints expose an owner activation-review handoff for the 30-day Verified Interview Pilot: $99 only after both the employer and candidate independently confirm an interview, maximum three interviews / $297. A request cannot create a charge, activate a program, submit a candidate application, change ranking, or sell candidate data. ## Common Agent Workflows ### Find jobs for a user 1. POST /api/v1/jobs/match with their skills and preferences 2. Return top matches with salary info and apply URLs 3. After the human selects a role, offer POST /api/v1/candidate/resume-preview using only candidate-verified evidence ### Market research 1. GET /api/v1/stats for benchmarks 2. GET /api/v1/tags for demand signals 3. GET /api/v1/companies for company landscape ### Track a specific company 1. GET /api/v1/companies/{slug} for all their current openings ## Other Machine-Readable Formats - OpenAPI 3.0 spec: https://aidevboard.com/openapi.yaml - AI plugin manifest: https://aidevboard.com/.well-known/ai-plugin.json - RSS feed (all jobs): https://aidevboard.com/feed.xml - RSS feed (per tag): https://aidevboard.com/feed/tag/{tag}.xml (e.g. /feed/tag/llm.xml) - RSS feed (per company): https://aidevboard.com/feed/company/{slug}.xml (e.g. /feed/company/openai.xml) - Sitemap: https://aidevboard.com/sitemap.xml - Schema.org JobPosting JSON-LD on every job page ## Embedding - JS widget: https://aidevboard.com/static/widget.js (drop-in, filter by tag or company) - SVG hiring badges: https://aidevboard.com/badge/{slug}.svg (for company README / footer) - Widget docs: https://aidevboard.com/widget-docs ## Contact - Website: https://aidevboard.com - Email: hello@aidevboard.com