NewSearch millions of jobs from your AI agent with MCP
All posts
GuideReed
Guide·Aug 15, 2026·6 min read

Reed API: the UK jobs API you can actually get a key for

Indeed retired its Publisher API and LinkedIn sits behind partner programmes, but Reed.co.uk still hands out free API keys in minutes - for a real search endpoint over live UK postings. Here is how the Jobseeker API works: basic auth with the key as the username, the full filter surface, 100 results per page, and the details call you need for full descriptions. And where it stops - one board, one country, keyword-only filtering - plus what to reach for when that ceiling matters.

Dvir Atias

Dvir Atias

Founder, JobsPipe

Getting job data out of the household names is a story of closed doors: Indeed retired its Publisher API, LinkedIn’s job endpoints sit behind partner programmes, and Google never shipped a read API at all. Reed.co.uk, one of the UK’s largest job sites, is the standing exception. Register on its developer portal and you get a free key for a genuine search API - keyword, location and salary filters over live postings, not an affiliate widget. Here is exactly how the Jobseeker API works, the two-call pattern it forces on you, and the points where one board in one country stops being enough.

A real key, in minutes

Reed’s developer portal issues Jobseeker API keys self-serve: no sales call, no partner agreement, no site audit. Authentication is HTTP basic auth with a detail that trips people up - the API key goes in the username field and the password stays empty. The current version is 1.0, and the whole API is two endpoints. Search looks like this:

curl -u "$REED_API_KEY:" \
  "https://www.reed.co.uk/api/1.0/search?\
keywords=data%20engineer&\
locationName=London&\
distanceFromLocation=15&\
minimumSalary=70000&\
fullTime=true"

Note the trailing colon after the key in the -u argument - that is the empty password. Get it wrong and you see 401s with a perfectly valid key.

The search surface

The filter set is compact but genuinely useful:

  • keywords, plus locationName with distanceFromLocation - a radius in miles that defaults to 10.
  • Employment-shape booleans: permanent, contract, temp, partTime, fullTime.
  • minimumSalary and maximumSalary, in annual GBP.
  • Poster filters: postedByRecruitmentAgency, postedByDirectEmployer, and a graduate flag.
  • Employer scoping: employerId or employerProfileId - set only one; if both are present the profile id wins.
  • Paging: resultsToTake, capped at 100 per call, with resultsToSkip as the offset.

Each search result carries the job id, the employer id and name, the job title, the location, a shortened description, and the salary band the poster set. One documented caveat worth respecting: if the salary was hidden on reed.co.uk, the API returns no salary information for that job at all - the fields are absent, not zero.

The second call you always end up making

The search response is a listing preview, not the posting. The full text and the structured detail live behind https://www.reed.co.uk/api/1.0/jobs/{jobId}: the complete job description, the currency, a salary type (per hour, day, week, month or annum) plus computed yearly equivalents, the contract type, full-time or part-time, the expiration date, an external application URL when applying happens off-site, and the canonical reed.co.uk job URL. In practice every pipeline becomes two-phase: page through search, then fetch details per job - a full page of 100 results costs 101 requests. The documentation names no rate limit; read that as undocumented, not unlimited, and pace your crawler accordingly.

The agency layer

Those two poster filters exist for a reason: a large share of UK job inventory is posted by recruitment agencies rather than employers, and Reed carries both. The practical consequence is duplication of a kind no jobId can solve - the same underlying role surfacing through several agencies, each as its own posting, often with different salary bands and anonymised employer names. If you are counting demand or deduplicating openings, postedByDirectEmployer=true is the honest baseline, at the cost of a much smaller result set.

Where it stops

  • One board, one country. locationName expects UK place names and the radius is measured in miles. There is no US, EU or APAC coverage to configure - this is reed.co.uk’s own inventory, full stop.
  • Keyword-only semantics. Beyond salary and the employment booleans, everything is a keyword search. There is no skills filter, no occupation or industry classification, and no structured remote flag - “remote” is a string you put in keywords, with all the noise that implies.
  • Snippets in search. Anything that parses requirements, skills or stacks out of postings needs the per-job details call, and the request count scales with corpus size.
  • Poll-only. No webhooks, no change feed. Detecting closed jobs means re-crawling and diffing expiration dates yourself.

When Reed is the right choice

If your product or analysis is UK-scoped, Reed’s API is one of the best free options in the market - and notably more data-friendly than the publisher-API family. There are no mandatory visitor parameters tying every call to a live human search, the way Careerjet requires, and job URLs point at reed.co.uk or the employer’s own application page rather than a tracking redirect. Among free keys with UK depth, its closest neighbour is Adzuna, which trades Reed’s single-board depth for aggregation plus documented analytics endpoints. We compare the whole free tier of this market on the free jobs API page.

When one board stops being enough

The UK job market is much bigger than any single board. As of mid-August 2026, JobsPipe tracks over 160,000 live UK postings across its sources - roughly 90,500 first published on LinkedIn, 62,900 on Indeed, and thousands more read directly from Workday, Workable and Ashby career sites that never hit a job board at all. If your reason for wanting an API is coverage - sourcing, market analytics, feeding an AI agent - the single-board ceiling is the first thing you will hit, and the keyword-only filtering is the second:

curl https://api.jobspipe.dev/v1/jobs/search \
  -H "Authorization: Bearer jp_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "job_country_code_or": ["GB"],
    "skills_or": ["python"],
    "posted_at_max_age_days": 7
  }'

One call, every source, full descriptions included - no per-job detail fetch. Records carry classification you can filter on: skills_or for skills, occupation_code_or for ISCO-08 occupations, isic_division_or for industries, alongside job_title_or and the country filter above. The free tier includes 1,000 jobs per month.

A fair split: Reed’s API for UK-only products that live inside one board’s inventory - it is free, honest and self-serve, which is more than most of this market offers. A cross-source API the moment coverage or structured filtering is the point.

Every UK source in one call - full postings, skills filters, free tier included.

Get a free API key