DEVELOPERS

Job Search API

Search Jobgether job opportunities. Intended for AI agents/assistants answering user job-search queries. Each job's `url` is its Jobgether listing page, not an external apply link. Results are capped at 25 per page.

No API key No signup OpenAPI 3.1 GET & POST

Quick start

curl "https://jobgether.com/astroapi/ai/jobs.json?keyword=frontend&locations=spain&limit=3"

Base endpoint: /astroapi/ai/jobs.json — GET takes parameters as query string params. POST takes the same parameters as a JSON object body (Content-Type: application/json) — array-valued params (jobReferences, locations, industries, contractType, experience) may be given as a JSON array or a comma-separated string. Both methods accept the same parameters and return the same response shape.

Parameters

Every parameter is optional. Call the endpoint with no parameters at all and you get the most recent listings.

NameTypeDescriptionExample
keywordstringFree-text search across job title, job function, skills, company name, contract type, and language.react developer
jobReferencesstring[] (comma-separated or repeated)Job function slugs (e.g. "frontend-developer"). Unknown values return a 400 error — there is no fixed enum, this is a large taxonomy; when unsure, omit and rely on `keyword` instead.frontend-developer,backend-developer
locationsstring[] (comma-separated or repeated)Location slugs — country, continent, or city (e.g. "spain", "europe", "worldwide"). Unknown values return a 400 error.spain,france
industriesstring[] (comma-separated or repeated)Industry slugs or ids.fintech
contractTypestring[] (comma-separated or repeated)Employment type.
full-timepart-timefixed-termfreelanceinternships
full-time
experiencestring[] (comma-separated or repeated)Seniority level required.
entry-level-graduatejunior-1-2-yearsmid-level-2-5-yearssenior-5-10-yearsexpert-10-years
senior-5-10-years
remoteTypestringDegree of remote work. All jobs on this platform are remote-friendly by default (Full Remote); use this to widen or narrow that.
full-remoteremote-firsthybrid
full-remote
includeHybridboolean ("true"/"false")When "true", also include hybrid roles alongside remote ones.true
salaryMinnumberMinimum annual salary filter, in the given `currency`.60000
salaryMaxnumberMaximum annual salary filter, in the given `currency`.90000
currencystringISO currency code for the salary filters.EUR
sortstringResult ordering. Defaults to "relevance".
relevancedate
date
pageintegerPage number, starting at 1. Capped at 10.1
limitintegerResults per page. Defaults to 10, capped at 25.10

Examples

Remote frontend jobs in Spain paying over 50k EUR
curl "https://jobgether.com/astroapi/ai/jobs.json?keyword=frontend&locations=spain&salaryMin=50000&currency=EUR"
Senior full-time roles, most recent first
curl "https://jobgether.com/astroapi/ai/jobs.json?experience=senior-5-10-years&contractType=full-time&sort=date"
Include hybrid roles in Europe
curl "https://jobgether.com/astroapi/ai/jobs.json?locations=europe&includeHybrid=true&limit=5"
Same as the first example, sent as a POST
curl -X POST "https://jobgether.com/astroapi/ai/jobs.json" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"frontend","locations":["spain"],"salaryMin":50000,"currency":"EUR"}'

Response

{
  "jobs": [
    {
      "id": "65f1a2b3c4d5e6f7a8b9c0d1",
      "title": "Senior Frontend Developer",
      "company": "Acme Inc.",
      "url": "https://www.jobgether.com/offer/senior-frontend-developer-acme-inc",
      "location": "Spain, France",
      "remote": "Full Remote",
      "contractType": "Full time",
      "experience": "Senior (5-10 years)",
      "salaryRange": "60000-80000 EUR",
      "jobFunctions": [
        "Frontend Developer"
      ],
      "postedAt": "2026-07-01T00:00:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 10,
    "hasMore": true
  },
  "browseOnSiteUrl": "https://www.jobgether.com/search-offers?keyword=frontend",
  "docs": "/astroapi/ai/jobs/docs"
}

Errors

On invalid input, the endpoint returns HTTP 400 with the offending field and its allowed values so a caller can self-correct.

{
  "error": "Invalid value for 'experience': \"senior\"",
  "field": "experience",
  "allowedValues": [
    "entry-level-graduate",
    "junior-1-2-years",
    "mid-level-2-5-years",
    "senior-5-10-years",
    "expert-10-years"
  ],
  "docs": "/astroapi/ai/jobs/docs"
}

Notes

Fair use

The API is public and unauthenticated. We rate-limit at the edge rather than issuing keys, so keep request volume reasonable and cache what you can. If you are planning something high-volume, write to support@jobgether.com first so we do not mistake you for a scraper.