Nomado24 Jobs API
A free, open API for remote and hybrid jobs across Germany and the EU. It returns clean JSON, needs no API key, and is free to use as long as you link back to nomado24.de.
What is this?
The API returns the same fresh job postings our job board shows: curated remote and hybrid roles focused on Germany and the EU. Great for developers, side projects, dashboards or job aggregators that want a reliable, German-market source.
Base URL
https://api.nomado24.de/api/public/v1/jobsEvery request is a GET request and returns JSON. No authentication, no cookies.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| page | integer | 1 | Page number, starts at 1. |
| per_page | integer | 50 | Results per page, 1 to 100. Higher values are clamped to 100. |
| q | string | (empty) | Full-text search across title, company and description. |
| language | de | en | fr | (all) | Only jobs written in this language. |
Examples
curl
curl "https://api.nomado24.de/api/public/v1/jobs?q=react&language=en&per_page=20"JavaScript (fetch)
const res = await fetch(
"https://api.nomado24.de/api/public/v1/jobs?q=react&language=en&per_page=20"
);
const { data, meta } = await res.json();
console.log(data[0].title, data[0].url);Response
{
"data": [
{
"slug": "senior-react-developer-abc123",
"title": "Senior React Developer",
"companyName": "Acme GmbH",
"location": "Remote (EU)",
"remote": true,
"workArrangement": "remote",
"language": "en",
"tags": ["react", "typescript"],
"source": "remotive",
"publishedAt": "2026-07-10T00:00:00.000Z",
"url": "https://www.nomado24.de/en/remote-jobs/job/senior-react-developer-abc123",
"salaryMin": 5000,
"salaryMax": 7000,
"currency": "EUR"
}
],
"meta": {
"page": 1,
"perPage": 20,
"count": 1,
"attribution": "Data: Nomado24 (https://www.nomado24.de)",
"docsUrl": "https://www.nomado24.de/de/developers",
"license": "Free to use with an attribution link to nomado24.de"
}
}Every job links to its detail page on nomado24.de via the url field. External apply links are intentionally not exposed.
Rate limit
240 requests per 15 minutes per IP address. Please cache responses and paginate at a gentle pace.
Attribution (required)
Usage is free as long as you show a visible link back to nomado24.de. Just copy this snippet:
HTML snippet
Powered by <a href="https://www.nomado24.de">Nomado24</a>MCP server
The same job data is also available as an MCP server (Model Context Protocol) for AI assistants like Claude or Cursor: Streamable HTTP, stateless, no API key.
Endpoint
https://api.nomado24.de/api/public/v1/mcpPOST requests only (Streamable HTTP, JSON response mode). No session, no Server-Sent-Events stream.
Tools
| Tool | Parameters | Description |
|---|---|---|
| search_jobs | q, language, page, per_page (1-25, default 20) | Searches the same remote and hybrid jobs as the REST API. |
| get_job_statistics | (none) | Aggregate stats for the job board: active jobs, new jobs, top sources, salary ranges. |
Rate limit
120 requests per 15 minutes per IP address.
Every response carries the same attribution notice as the REST API. Usage is free as long as the source stays visible.
Claude (Custom Connector)
In Claude settings under Connectors, add a custom connector with this URL:
Custom Connector
Name: Nomado24 Jobs
URL: https://api.nomado24.de/api/public/v1/mcpCursor (mcp.json)
Add this to your mcp.json configuration:
{
"mcpServers": {
"nomado24": {
"url": "https://api.nomado24.de/api/public/v1/mcp"
}
}
}Beta note
The API is in beta. Fields and limits may still change, and the rate limit may be adjusted. For production use, drop us a line and we will keep you posted.
Contact
Questions, feedback or need higher limits? Email anton.petuchow@nomado24.de.
