REST + MCP

Public API Reference

Read-only REST endpoints for agentic AI engineering job listings and salary data. Built to be called directly by agents, with an OpenAPI 3.1 spec and copy-paste curl examples.

OpenAPI 3.1No API key30 req / 60sv1 stable
01

Quickstart

No API key. Same response shapes as the MCP tools. 30 requests per 60 seconds per IP.

  • GETList the 20 newest jobs

    bash
    curl "https://agentic-engineering-jobs.com/api/v1/jobs?sort=newest"
  • GETGet a job by slug

    bash
    curl "https://agentic-engineering-jobs.com/api/v1/jobs/acme-senior-ai-engineer-abc123"
  • GETGet the salary overview

    bash
    curl "https://agentic-engineering-jobs.com/api/v1/salaries?dimension=overview"
02

Filters for /api/v1/jobs

All filters are query parameters. Combine freely with AND semantics. Comma-separated lists are allowed for array fields.

GET /api/v1/jobsQuery parameters
NameTypeExampleDescription
qstringlangchainFull-text search across title, description, and company name.
pageinteger1Page number; 20 jobs per page.
sortenumnewestnewest | salary | relevance
locationTypeenumremoteremote | hybrid | onsite
employmentTypeenumfull-timefull-time | contract | part-time | freelance
seniorityenumseniorjunior | mid | senior | lead | staff | principal
geoRegionstringeueu | us | apac | latam | africa | global
salaryMininteger120000Minimum salary in USD.
salaryMaxinteger250000Maximum salary in USD.
agenticFrameworkscomma-listlangchain,crewaiSDKs imported to build agent logic. LangChain, CrewAI, LlamaIndex, Pydantic AI, Vercel AI SDK, OpenAI Agents SDK.
aiInfrastructurecomma-listopenai-api,pineconeServices called or hosted. LLM providers (OpenAI API, Anthropic), vector DBs (Pinecone, Weaviate), observability (LangSmith), ML platforms (PyTorch, Hugging Face).
techStackcomma-listpython,typescript,postgresqlGeneric languages, cloud platforms, infra primitives. Python, AWS, Kubernetes, PostgreSQL.
03

Rate limits

REST API

30req / 60s

REST endpoints: 30 requests per 60 seconds per IP. A 429 response means you hit the limit. Wait 60 seconds and retry.

MCP tools

60req / 60s

MCP tools: 60 requests per 60 seconds per IP, applied independently to each tool (search_jobs, get_job, get_salaries).

Responses return Retry-After on 429. Honour it.

04

Response envelope

Success

Successful responses carry a `data` key. List responses add `meta` with `total`, `page`, and `per_page` fields.

json
{
  "data": [
    { "slug": "acme-senior-ai-engineer-abc123", ... }
  ],
  "meta": {
    "total": 412,
    "page": 1,
    "per_page": 20
  }
}

Error

Errors return `{ "error": { "code": "...", "message": "..." } }` with one of the stable codes listed below.

json
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Job with slug 'xyz' not found."
  }
}
05

MCP tools

The same data is available as three MCP tools. Connect an MCP-capable client and call them directly.

POST /api/mcp3 tools
ToolInputReturns
search_jobsq, location, locationType, seniority, salaryMin, agenticFrameworks, aiInfrastructure, techStack, page, sortCompact job objects (no description HTML).
get_jobslugFull job detail including description HTML.
get_salariesdimension, slug (optional; country, infrastructure, tech-stack, framework only)Salary breakdown for the requested dimension.
See the MCP onboarding guide
06

Error codes

application/jsonStable
CodeHTTPMeaning
BAD_REQUEST400Invalid query parameters or request body. Check the message field for specifics.
NOT_FOUND404Resource with that slug does not exist or is not published.
RATE_LIMITED429Rate limit hit. Retry-After header gives seconds until the next window.
INTERNAL_ERROR500Server error. Retry; report at contact@agentic-engineering-jobs.com if persistent.
07

Changelog

  • April 2026 (breaking): taxonomy refactored into three non-overlapping buckets. Field aiTools renamed to aiInfrastructure. Salary dimension "tool" renamed to "infrastructure". Coding assistants (Cursor, Copilot, Claude Code) dropped from filters. Clients hard-coded to the old field names must update.
  • April 2026: v1 public API stabilized. Response shapes are frozen; new fields may be added, existing fields will not be renamed or removed.
08

Interactive reference

Browse every endpoint and try requests directly below. Powered by Scalar.

Building an agent?

Skip HTTP. Connect an MCP client.

Two-minute setup for Claude Desktop, Claude Code, ChatGPT, Cursor, Windsurf.

/mcp