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.
Quickstart
No API key. Same response shapes as the MCP tools. 30 requests per 60 seconds per IP.
GETList the 20 newest jobs
bashcurl "https://agentic-engineering-jobs.com/api/v1/jobs?sort=newest"GETGet a job by slug
bashcurl "https://agentic-engineering-jobs.com/api/v1/jobs/acme-senior-ai-engineer-abc123"GETGet the salary overview
bashcurl "https://agentic-engineering-jobs.com/api/v1/salaries?dimension=overview"
Filters for /api/v1/jobs
All filters are query parameters. Combine freely with AND semantics. Comma-separated lists are allowed for array fields.
| Name | Type | Example | Description |
|---|---|---|---|
| q | string | langchain | Full-text search across title, description, and company name. |
| page | integer | 1 | Page number; 20 jobs per page. |
| sort | enum | newest | newest | salary | relevance |
| locationType | enum | remote | remote | hybrid | onsite |
| employmentType | enum | full-time | full-time | contract | part-time | freelance |
| seniority | enum | senior | junior | mid | senior | lead | staff | principal |
| geoRegion | string | eu | eu | us | apac | latam | africa | global |
| salaryMin | integer | 120000 | Minimum salary in USD. |
| salaryMax | integer | 250000 | Maximum salary in USD. |
| agenticFrameworks | comma-list | langchain,crewai | SDKs imported to build agent logic. LangChain, CrewAI, LlamaIndex, Pydantic AI, Vercel AI SDK, OpenAI Agents SDK. |
| aiInfrastructure | comma-list | openai-api,pinecone | Services called or hosted. LLM providers (OpenAI API, Anthropic), vector DBs (Pinecone, Weaviate), observability (LangSmith), ML platforms (PyTorch, Hugging Face). |
| techStack | comma-list | python,typescript,postgresql | Generic languages, cloud platforms, infra primitives. Python, AWS, Kubernetes, PostgreSQL. |
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.
Response envelope
Success
Successful responses carry a `data` key. List responses add `meta` with `total`, `page`, and `per_page` fields.
{
"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.
{
"error": {
"code": "NOT_FOUND",
"message": "Job with slug 'xyz' not found."
}
}MCP tools
The same data is available as three MCP tools. Connect an MCP-capable client and call them directly.
| Tool | Input | Returns |
|---|---|---|
| search_jobs | q, location, locationType, seniority, salaryMin, agenticFrameworks, aiInfrastructure, techStack, page, sort | Compact job objects (no description HTML). |
| get_job | slug | Full job detail including description HTML. |
| get_salaries | dimension, slug (optional; country, infrastructure, tech-stack, framework only) | Salary breakdown for the requested dimension. |
Error codes
| Code | HTTP | Meaning |
|---|---|---|
| BAD_REQUEST | 400 | Invalid query parameters or request body. Check the message field for specifics. |
| NOT_FOUND | 404 | Resource with that slug does not exist or is not published. |
| RATE_LIMITED | 429 | Rate limit hit. Retry-After header gives seconds until the next window. |
| INTERNAL_ERROR | 500 | Server error. Retry; report at contact@agentic-engineering-jobs.com if persistent. |
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.
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.