Totaljobs.com Scraper - UK Job Listings & Salaries avatar

Totaljobs.com Scraper - UK Job Listings & Salaries

Pricing

from $0.25 / 1,000 jobs

Go to Apify Store
Totaljobs.com Scraper - UK Job Listings & Salaries

Totaljobs.com Scraper - UK Job Listings & Salaries

[💰 $0.25 / 1K] Extract UK job adverts from Totaljobs.com — employer, location, advertised salary, posting and expiry dates, full description, industry and GPS coordinates. Filter by keyword, location, radius, job type, salary or employer type, or paste a search URL. Export to JSON, CSV or Excel.

Pricing

from $0.25 / 1,000 jobs

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Pull live UK job adverts from Totaljobs.com at scale — employer, location, the salary exactly as it was advertised, posting and expiry dates, and the complete job description with GPS coordinates when you want them. Built for recruitment agencies, talent-intelligence teams and compensation analysts who need a current, structured view of the UK hiring market without building and maintaining the data collection themselves.

Why This Scraper?

  • Skip the recruiters — or target only them. Collect jobs posted directly by employers, jobs posted by recruitment agencies, or both. Measured live on a London search: 12,980 direct-employer jobs against 5,537 agency jobs.
  • 7 filters, and every one was measured to change the results — keyword, location, radius, job type, minimum salary, employer type and sort order, with 26 ready-made values between them (5 job types, a 10-step salary ladder, 3 employer types, 5 search radii, 3 sort orders). Nothing here is a decorative toggle.
  • 32 fields per job — 17 from the search results, plus 15 more read from the advert's own page, including the full description in both HTML and plain text.
  • Salary kept exactly as the employer wrote it£50000 - £55000 per annum, From £39,500 to £50,000 per annum, £23.10 per hour — and, with full details on, also as a number carrying its own period (YEAR / MONTH / WEEK / DAY / HOUR). Grabbing the first number out of £45k - £75k per year gives you 45; you get the honest text and a figure whose unit is never in doubt.
  • GPS coordinates plus city, region and country on single-site adverts — 103 of 119 sampled adverts carried a coordinate pair, and multi-location adverts are flagged rather than given an invented point.
  • Posting timestamps to the millisecond, distinct on every row (25 of 25 on a sampled page), beside each advert's expiry date — precise enough to order a single day's postings and to dedupe cleanly against your last run.
  • You get the jobs in the area you searched. Totaljobs' own headline count folds in a wide regional spill — a London search advertises 36,288 jobs of which only 21,766 are actually in London. This actor returns the in-area jobs and stops, so you are not paying for adverts in another county.
  • Syndicated listings are labelled, not hidden4 of 500 sampled rows arrived from a partner UK board, and each carries both a flag and the source site's name so you can keep them or drop them.
  • Field coverage measured across 5 UK regions and 4 job categories, 500 adverts — London, Manchester, Birmingham, Glasgow and Leeds against nursing, software engineering, sales and warehouse roles, rather than one city that flatters the numbers.

Use Cases

Recruitment & Staffing

  • Track which employers are hiring in a city and how quickly their adverts turn over
  • Find roles posted directly by an employer before an agency picks them up — filter to direct employers only
  • Map competing agencies by advert volume, sector and location
  • Watch a client's own adverts alongside every competing advert for the same role

Salary Benchmarking & Compensation

  • Compare advertised pay for the same title across London, Manchester, Birmingham, Glasgow or any other UK location
  • Track how a role's advertised band moves week to week using millisecond posting timestamps
  • Keep hourly, daily, weekly, monthly and annual pay separate instead of collapsing them into one number
  • Quantify how often employers in a sector disclose pay at all

Lead Generation & Sales Prospecting

  • Find companies whose hiring signals budget — a first data hire, a new sales team, a warehouse opening
  • Build territory lists from postcode and GPS coordinates rather than free-text place names
  • Score accounts by hiring velocity: adverts posted per week, per employer
  • Export the Totaljobs company profile page for every advertiser in one run

Labour-Market Research

  • Measure demand for a skill by region with repeatable multi-region, multi-category sweeps
  • Track the permanent / contract / temporary / part-time / remote mix over time
  • Quantify remote hiring from the advert's own remote flag instead of keyword guesswork
  • Feed a UK hiring index with a dataset that reproduces run to run

Job Boards & Aggregators

  • Populate a niche board with fresh UK adverts, complete with descriptions and employer logos
  • Keep an existing index current by re-running a newest-first search on a schedule
  • Keep or drop syndicated partner listings using the source-site flag
  • Push straight into an ATS, a warehouse or a search index as JSON, CSV or Excel

Getting Started

Simplest run

{
"jobType": "",
"searchLocation": "london",
"searchKeyword": "",
"radius": "10",
"sortBy": "2",
"minSalary": "",
"employerType": "0",
"maxItems": 100
}

Paste a filtered search URL from the site

Set your filters on the site, then copy the address bar URL — every filter in it is carried through.

Any number of search URLs can be listed, and each one is collected in full.

{
"searchUrls": [
"https://www.totaljobs.com/jobs/in-manchester",
"https://www.totaljobs.com/jobs/nursing/in-leeds"
],
"maxItems": 500
}

Everything, with full details

{
"searchUrls": [
"https://www.totaljobs.com/jobs/permanent/in-london"
],
"maxItems": 36298,
"enrichDetails": true
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
searchUrlsarrayTotaljobs.com search result URLs. Set your filters on Totaljobs.com, then paste the address bar URL here. Overrides the individual filters below when provided.
searchLocationstringlondonUK town, city, county or region, e.g. london, manchester, inverness. Measured live: "london" returns 21,766 in-area jobs, "manchester" 4,123, "inverness" 314, and each one comes back verbatim in the server's own applied-criteria echo. A place the site does not recognise is NOT redirected to a wider search -- it returns an empty result set (0 jobs), so a run that collects nothing means the place name was not recognised.
searchKeywordstring""Job title, skill or keyword, e.g. software engineer, nursing, warehouse. Leave blank to collect every job in the location. Measured live: blank returns 21,766 London jobs, "software engineer" returns 886 and every job on page 1 is a software engineering role.
jobTypestring""Only collect jobs of this type. Measured live for London: any 21,766 / permanent 14,315 / contract 2,485 / temporary 1,006 / part time 2,043 / work from home 3,260 in-area jobs.
minSalarystring""Only collect jobs paying at least this much a year. Totaljobs matches on the salary band the employer filed, so jobs whose advert text just says "Competitive" are still included when their filed band clears the bar. Measured live for London: no minimum 21,766 / £30,000 17,539 / £50,000 6,310 / £100,000 1,755 in-area jobs.
employerTypestring0Collect only jobs posted directly by the employer, or only jobs posted by recruitment agencies. Measured live for London: every advertiser 21,766 / direct employers 12,980 / agencies 5,537 in-area jobs.
radiusstring10How far around the location to look. Measured live for Inverness: 10 miles returns 314 in-area jobs and 30 miles returns 400, and the two runs return completely different jobs once you are past the first few pages (0 of 25 shared on page 13, and only the 30-mile run brings back the surrounding Scottish towns). Only these five distances work -- any other number is rejected by the site.
sortBystring2The order jobs are collected in. This is what decides which jobs you get when you set a Max results limit, so "Newest first" is the default. Measured live: all three change the jobs on page 1, and "Newest first" returns only jobs posted the same day.
maxItemsinteger100Maximum jobs per search URL (0 = collect everything each search returns). Totaljobs.com pages through at most 36,298 jobs per search, so use several narrower searches to collect more.

Options

ParameterTypeDefaultDescription
enrichDetailsbooleanfalseAdd 15 extra fields per job. Adds one request per job and is billed at the higher rate.
concurrencyinteger8How many requests to run in parallel. Lower this if you see failures.
proxyConfigurationobjectApify ProxyProxy settings for the run.

Output

Every job is one dataset row. Enabling enrichDetails adds 15 further fields to the same row — there is no second record type to join.

A real row, collected from Totaljobs.com with enrichDetails on. The two long description fields are shortened here with so the example stays readable; in the dataset they carry the whole advert.

{
"jobId": 107765897,
"title": "Sales Manager (Process / Chemical / Environmental Engineering)",
"url": "https://www.totaljobs.com/job/sales-manager-process-engineering/ernest-gordon-recruitment-job107765897",
"snippet": "Sales Manager (Process / Chemical / Environmental Engineering)£50,000 - £55,000 + Bonus + Private Medical + Enhanced Pension + Remote Working + Career ProgressionMidlands / Home BasedAre you an experienced technical sales professional who enjoys winning new business, developing long-term customer re",
"datePosted": "2026-07-29T13:34:04.943+00:00",
"expiryDate": "2026-08-26T13:34:04.943+00:00",
"listingBadge": "FEATURED",
"section": "main",
"salaryText": "£50000 - £55000 per annum + + Private Medical + Enhanced Pension",
"location": "Birmingham (B1)",
"postCode": "B1",
"companyName": "Ernest Gordon Recruitment",
"companyId": 1394371,
"companyProfileUrl": "https://www.totaljobs.com/jobs/ernest-gordon-recruitment?cmpId=1394371&cmp=1",
"companyLogo": "https://tjgliveassets.s3.eu-west-1.amazonaws.com/company-logos/b02ab5c23d204e09860471bdae411fd3.png",
"isBackfilled": false,
"sourceSite": null,
"employmentType": "FULL_TIME, CONTRACTOR, TEMPORARY, REMOTE_WORKING",
"industry": "Engineering, Engineering-Management",
"validThrough": "2026-08-26T13:34:04.943+00:00",
"remoteType": "TELECOMMUTE",
"description": "Sales Manager (Process / Chemical / Environmental Engineering) £50,000 - £55,000 + Bonus + Private Medical + Enhanced Pension + Remote Working + Career Progression Midlands / Home Based Are you an experienced technical sales professional who enjoys winning new business, developing long-term customer relationships and taking ownership of the sales process? …",
"descriptionHtml": "<p><strong>Sales Manager (Process / Chemical / Environmental Engineering)</strong></p><p><strong>£50,000 - £55,000 + Bonus + Private Medical + Enhanced Pension + Remote Working + Career Progression</strong></p><p><strong>Midlands / Home Based</strong></p>…",
"city": "Birmingham",
"region": "West Midlands",
"country": "GB",
"latitude": 52.47692,
"longitude": -1.90901,
"locationCount": 1,
"salaryValue": 50000,
"salaryPeriod": "YEAR",
"salaryCurrency": "GBP"
}

Core Fields & Price & Value & Location

FieldTypeDescription
jobIdnumberJob ID
titlestringJob title
urlstringJob URL
snippetstringDescription snippet
datePostedstringDate posted
expiryDatestringAdvert expires
listingBadgestringListing badge
sectionstringResult section
salaryTextstringSalary (as advertised)
locationstringLocation
postCodestringPostcode

Contacts & Details & Timestamps

FieldTypeDescription
companyNamestringCompany
companyIdnumberCompany ID
companyProfileUrlstringCompany profile URL
companyLogostringCompany logo
isBackfilledbooleanBackfilled from partner site
sourceSitestringSource site

With enrichDetails enabled

FieldTypeDescription
employmentTypestringEmployment type
industrystringIndustry
validThroughstringAdvert valid until
remoteTypestringRemote type
descriptionHtmlstringDescription (HTML)
descriptionstringDescription (text)
citystringCity
regionstringRegion
countrystringCountry
latitudenumberLatitude
longitudenumberLongitude
locationCountnumberAdvertised locations
salaryValuenumberSalary amount
salaryPeriodstringSalary period
salaryCurrencystringCurrency

Tips for Best Results

  • The sort order decides what a limited run collects. Once you set a max results limit, "Newest first" and "Best match" hand back different jobs from page one onward. Newest first is the default and returns adverts posted the same day; switch to Best match only when your keyword is doing the heavy lifting.
  • A run that collects nothing means the place or keyword was not recognised. Totaljobs never quietly widens an unknown location into a bigger search — it hands back an empty result set. So an empty run is a spelling problem, not an empty market. Use the plain place name: inverness, leeds, manchester.
  • The count on the site's own page is bigger than what you searched for. Its headline folds in a wide regional spill: a London search advertises 36,288 jobs while only 21,766 are in London. This actor collects the in-area jobs and stops there. If you want the surrounding towns as well, widen radius deliberately — an Inverness search returns 314 jobs at 10 miles and 400 at 30 miles, and past the first few pages the two runs share almost nothing: only the 30-mile run reaches the neighbouring Scottish towns.
  • Not every employer publishes a salary, and the rate swings hard by sector. Across a 500-advert sample spanning 5 regions and 4 job categories, the share of adverts quoting an actual figure ran from 44% (nursing in Leeds) to 100%, with the rest reading "Competitive" or similar. Plan for a partial column rather than a fixed rate. The minimum-salary filter still works on those adverts — Totaljobs matches on the band the employer filed, so a "Competitive" advert can legitimately clear a £50,000 floor.
  • Power user: several narrow searches beat one wide one. A single search pages through at most 36,298 jobs. Splitting by city, by job type or by salary step gets you past that ceiling and returns tighter in-area results at the same time — and a job matching more than one of your searches is de-duplicated before it reaches the dataset, so the extra searches cost you nothing in duplicates.
  • Leave enrichDetails off for a quick market count. Search rows already carry title, employer, location, advertised salary, posting date and expiry. Full details add the complete description, industry, employment type, structured salary and coordinates — essential for analysis, wasted on a headcount, and billed at the higher rate.
  • Two output fields mean less than they look. listingBadge mixes paid placement (PREMIUM, FEATURED) with a freshness flag (NEW), so filter on the specific value rather than on "has a badge". And locationCount tops out at 10 — a 10 means "10 or more advertised locations", which is also exactly when latitude and longitude are absent, because the site publishes no single point for a multi-location advert.

Pricing

From $0.25 per 1,000 results (search only) or from $2.00 per 1,000 results (with full details).

ResultsSearch OnlyWith Full Details
100$0.025$0.20
1,000$0.25$2.00
10,000$2.50$20.00
100,000$25.00$200.00

Those are the rates on Gold and above. Higher-volume plans pay less per result:

Your Apify planSearch OnlyWith Full Details
No discount$0.30$2.40
Bronze$0.28$2.28
Silver$0.27$2.12
Gold and above$0.25$2.00

Per 1,000 results.

A "result" is any job row in the output dataset. When you run several searches at once, a job matching more than one of them is de-duplicated before it reaches the dataset, so you are never charged twice for the same job. The full-details rate applies only to rows that actually came back enriched — if a job's detail record is unavailable, the row is still delivered and charged at the search-only rate. Platform fees (compute, storage) 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 on run completion
  • Apify API — Full programmatic access

This is an unofficial scraper. It is not affiliated with, endorsed by, or connected to Totaljobs.com or its operators in any way. All trademarks belong to their respective owners.

This actor is intended for legitimate market research and analytics. You are responsible for complying with applicable laws and with Totaljobs.com's Terms of Service.

Results may include personal data such as contact details. Treat them accordingly: do not use them for spam, harassment, or any unlawful purpose, and follow applicable privacy rules when storing or processing them.