Adzuna Jobs Scraper avatar

Adzuna Jobs Scraper

Pricing

Pay per usage

Go to Apify Store
Adzuna Jobs Scraper

Adzuna Jobs Scraper

[πŸ’° $0.55 / 1K] Extract job listings from Adzuna across 19 countries. Search by keyword, location, salary, contract type, and distance to get structured data including titles, companies, salaries, descriptions, categories, and direct apply links.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

3

Monthly active users

11 days ago

Last modified

Share

Pull job listings from Adzuna at scale β€” titles, companies, native salary ranges, full descriptions, contract terms, categories, geo coordinates, and direct apply links across 19 country markets. Built for recruiters, labor-market analysts, and job-board aggregators who need clean, structured Adzuna data without copying postings by hand or babysitting a brittle in-house scraper.

Why This Scraper?

  • 19 country markets in one actor β€” United States, United Kingdom, Germany, France, Australia, Canada, India, Netherlands, Italy, Spain, Switzerland, and 8 more, each returning salaries in its own local currency.
  • Clean numeric salary min/max, not just a text blob β€” every row carries salaryMin and salaryMax as real numbers alongside the original salary text, so salary benchmarking and sorting just work. A salaryIsPredicted flag tells you when a figure is Adzuna's own estimate versus an advertised wage.
  • Full-text job descriptions, not truncated snippets β€” flip fetchDescription on and every row carries the complete posting text pulled from the listing's detail page, not the one-line search-result teaser most scrapers stop at.
  • Seven native Adzuna filters wired in β€” salary range, full-time vs. part-time, permanent vs. contract, distance radius in miles, posted-within window (24 hours to 30 days), and sort by relevance, date, or highest salary.
  • Geo coordinates on every job β€” latitude and longitude for each listing, ready to drop onto a map or join against your own location data.
  • ISO-8601 dates you can sort and diff β€” postedDate and validThrough as clean timestamps, plus the job category and a stable jobId for de-duplication across runs.
  • Three ways to search β€” keyword queries, a city plus a mileage radius, or paste fully-filtered Adzuna search URLs straight from your browser. Mix all three in a single run.
  • Up to 1,000 jobs per keyword, auto-deduplicated β€” batch up to 50 keywords per run; overlapping searches never produce duplicate rows.

Use Cases

Recruitment & Talent Sourcing

  • Build live feeds of open roles by title, city, and radius
  • Track which companies are hiring for a given skill in a target market
  • Surface direct apply links for fast candidate outreach
  • Monitor new postings in the last 24 hours for hard-to-fill roles

Labor-Market & Economic Research

  • Measure hiring demand by category and region across 19 countries
  • Compare full-time vs. contract volume in a sector over time
  • Map openings geographically using per-job coordinates
  • Quantify how long roles stay live using posted and expiry dates

Salary Benchmarking & Compensation

  • Pull numeric salary ranges to benchmark pay by role and location
  • Separate advertised salaries from Adzuna's predicted figures
  • Compare compensation across countries in local currency
  • Build percentile bands for offer and pay-equity analysis

Job-Board & Aggregator Feeds

  • Power a niche job board with fresh, structured listings
  • Enrich existing postings with full descriptions and categories
  • Keep an alerting system fed with newest-first results
  • Re-run filtered Adzuna search URLs on a schedule to stay current

Sales & Lead Generation

  • Identify companies actively scaling a particular team
  • Target outreach by hiring signals in a specific city or sector
  • Feed hiring data into a CRM as a growth indicator

Getting Started

The minimum input β€” one keyword in one country:

{
"searchQueries": ["software engineer"],
"country": "us",
"maxResults": 100
}

Filtered Search β€” Location, Salary, and Recency

Senior full-time roles near a city, paying at least a threshold, posted recently:

{
"searchQueries": ["data scientist"],
"country": "gb",
"location": "London",
"distance": 25,
"salaryMin": 60000,
"contractTime": "full_time",
"contractType": "permanent",
"maxDaysOld": "7",
"sortBy": "date",
"maxResults": 250
}

Advanced β€” Paste Adzuna Search URLs

Dial in a search on the Adzuna website, then paste the URLs to scrape them exactly as-is:

{
"startUrls": [
"https://www.adzuna.com/search?q=product+manager&w=New+York",
"https://www.adzuna.de/search?q=software+entwickler"
],
"fetchDescription": true,
"maxResults": 500
}

Input Reference

ParameterTypeDefaultDescription
searchQueriesstring[]["software engineer"]Job titles or keywords. Each keyword runs a separate search; results are merged and de-duplicated. Up to 50 per run.
countryselectUnited StatesAdzuna market to search. Salaries are returned in that country's local currency. 19 countries supported.
locationstring""City or region within the chosen country (e.g. "London", "New York"). Leave empty to search the whole country.
startUrlsstring[][]Full Adzuna search-result URLs to scrape exactly as-is. Useful when you have already dialed in a search on the website. Up to 50 URLs.

Filters & Limits

ParameterTypeDefaultDescription
maxResultsinteger100Maximum jobs to collect per keyword (1–1,000). The last page is kept in full, so the final count can slightly overshoot.
salaryMinintegerβ€”Only show jobs paying at least this much per year, in local currency.
salaryMaxintegerβ€”Only show jobs paying at most this much per year, in local currency.
contractTimeselectAnyWorking hours: Any, Full-time, or Part-time.
contractTypeselectAnyContract arrangement: Any, Permanent, or Contract.
distanceintegerβ€”Search radius from the location, in miles (1–500). Ignored when location is empty.
maxDaysOldselectAny timePosted-within window: Any time, Last 24 hours, Last 3 days, Last 7 days, Last 14 days, or Last 30 days.
sortByselectMost relevantResult order: Most relevant, Newest first, or Highest salary first.

Advanced

ParameterTypeDefaultDescription
fetchDescriptionbooleantrueFetch the full job description from each listing's detail page. Leave on for the most complete data; turn off for faster runs (the description field then holds only the search-result snippet).

Output

Each record is one job listing. Here is a representative result with full descriptions enabled:

{
"title": "Senior Software Engineer",
"company": "Acme Technologies",
"location": "New York, NY",
"locationAreas": ["US", "New York", "New York City"],
"salary": "$140,000 - $180,000",
"salaryMin": 140000,
"salaryMax": 180000,
"salaryIsPredicted": false,
"salaryCurrency": "USD",
"contractTime": "full_time",
"contractType": "permanent",
"category": "IT Jobs",
"descriptionSnippet": "We are hiring a Senior Software Engineer to lead our platform team...",
"description": "We are hiring a Senior Software Engineer to lead our platform team. You will design and ship backend services, mentor engineers, and own delivery end to end...",
"postedDate": "2026-05-21T09:00:00Z",
"validThrough": "2026-06-20T09:00:00Z",
"latitude": 40.7128,
"longitude": -74.006,
"jobUrl": "https://www.adzuna.com/details/4567890123",
"jobId": "4567890123",
"country": "us",
"searchQuery": "software engineer",
"searchLocation": "New York",
"scrapedAt": "2026-05-30T14:30:00Z"
}

Core Fields

FieldTypeDescription
titlestringJob title.
companystringHiring company name.
locationstringHuman-readable location label as shown on Adzuna.
locationAreasstring[]Location broken into a hierarchy (country β†’ region β†’ city).
categorystringAdzuna job category (e.g. "IT Jobs", "Healthcare & Nursing Jobs").
descriptionSnippetstringShort teaser from the search-result card.
descriptionstringFull job description when fetchDescription is on; otherwise the snippet.
jobIdstringStable Adzuna listing identifier, ideal for de-duplication.
jobUrlstringDirect link to the Adzuna listing.

Salary

FieldTypeDescription
salarystringSalary as displayed on Adzuna, formatted with currency.
salaryMinnumberLower bound of the salary range, native numeric value.
salaryMaxnumberUpper bound of the salary range, native numeric value.
salaryIsPredictedbooleantrue when the figure is Adzuna's estimate rather than advertised.
salaryCurrencystringISO currency code for the salary (e.g. "USD", "GBP", "EUR").
contractTimestringfull_time or part_time when stated by the listing.
contractTypestringpermanent or contract when filtered for.

Location & Timing

FieldTypeDescription
latitudenumberListing latitude.
longitudenumberListing longitude.
postedDatestringISO-8601 date the job was posted.
validThroughstringISO-8601 date the listing expires, when published.

Run Metadata

FieldTypeDescription
countrystringAdzuna country code the result came from (e.g. "us", "gb").
searchQuerystringThe keyword that produced this row (null for start-URL results).
searchLocationstringThe location filter used for this row.
scrapedAtstringISO-8601 timestamp of when the row was captured.

Tips for Best Results

  • Sort by date and run on a schedule β€” set sortBy to Newest first with maxDaysOld of Last 24 hours, then schedule the actor to catch fresh postings within hours of going live.
  • Copy fully-filtered searches as URLs β€” tune category, salary, and location filters on the Adzuna site, then paste the resulting URLs into startUrls to reproduce that exact search without rebuilding it field by field.
  • Leave fetchDescription on for analysis, off for scale β€” full descriptions add a request per job; turn it off when you only need titles, companies, salaries, and links for a fast, wide sweep.
  • Sort and filter on salaryMin / salaryMax, but read the salary text for the pay period β€” the numeric fields are clean and sortable, while the original salary text tells you whether a figure is per year, per day, or per hour (most are annual, but contract roles can be daily). Check salaryIsPredicted before treating any figure as an advertised wage.
  • Match location with distance β€” a city plus a mileage radius captures the surrounding commuter belt that a city-only search misses.
  • Batch related titles in one run β€” pass several variants ("data scientist", "ml engineer", "data analyst") in searchQueries; overlapping results are de-duplicated automatically by jobId.
  • Pick the right country β€” each market is searched on its own Adzuna domain, so set country to the market you actually want rather than relying on a location string alone.

Pricing

$0.55 per 1,000 results β€” no monthly rental, no tiered plans. You pay only for the job listings you actually receive.

ResultsEstimated Cost
100$0.06
1,000$0.55
10,000$5.50
100,000$55.00

No compute charges β€” you only pay per result returned. A "result" is any job row in the output dataset. Platform fees (storage and similar) are additional and depend on your Apify plan.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n β€” Workflow automation
  • Google Sheets β€” Direct spreadsheet export
  • Slack / Email β€” Notifications on new results
  • Webhooks β€” Trigger custom APIs when a run completes
  • Apify API β€” Full programmatic access

This actor is designed for legitimate recruitment, labor-market research, and salary analysis. Users are responsible for complying with applicable laws and Adzuna's Terms of Service. Do not use collected data for spam, harassment, or any illegal purpose, and respect candidates' and employers' privacy when handling personal data.