Totaljobs Jobs Search Scraper avatar

Totaljobs Jobs Search Scraper

Pricing

from $2.99 / 1,000 job details

Go to Apify Store
Totaljobs Jobs Search Scraper

Totaljobs Jobs Search Scraper

Scrape job listings from Totaljobs.com, one of the UK's largest job boards and part of the StepStone Group. Extract job titles, companies, locations, salary ranges, job types, and descriptions for UK recruitment intelligence and market analysis.

Pricing

from $2.99 / 1,000 job details

Rating

0.0

(0)

Developer

Jobs API

Jobs API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Share

Extract structured UK job vacancies from official TotalJobs search and detail pages. The Actor supports keyword search, one detail URL, or a bounded list of detail URLs. It follows detail pages before saving data and fails closed instead of publishing search-card fragments as complete jobs.

What it extracts

  • Job title, company, location, and canonical job URL
  • Salary text and normalized minimum/maximum values when published
  • Employment type, work arrangement, and contract information
  • Full job description and description HTML
  • Skills, benefits, category, seniority, and education fields when available
  • Publication and expiry dates when exposed by the source
  • Source provenance, stable job ID, extraction timestamp, and detail-verification metadata

TotalJobs controls which fields are available for each vacancy. Missing optional source fields remain null or empty; the Actor never invents values.

Input modes

Set mode to search, provide query and location, and bound the run with maxItems, maxPages, and maxRequests.

{
"mode": "search",
"query": "software engineer",
"location": "London",
"maxItems": 3,
"maxPages": 1,
"maxRequests": 4
}

Single job

{
"mode": "single",
"jobUrl": "https://www.totaljobs.com/job/example-job/example-company-job123456789"
}

Multiple jobs

Set mode to multiple and provide at least two official /job/...-job<ID> URLs in jobUrls or startUrls. Direct URLs are canonicalized and deduplicated.

Proxy and access

The default is a direct connection. TotalJobs can return Akamai challenge pages or 403 responses from some data-center networks. If that happens, enable proxyConfiguration; a country-matched residential proxy is generally more reliable for this UK source. Proxy use is optional and billed according to the selected proxy service.

{
"mode": "search",
"query": "software engineer",
"location": "London",
"maxItems": 1,
"maxPages": 1,
"maxRequests": 2,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "GB"
}
}

The Actor uses the browser bundled in its container on Apify Cloud and can use installed Google Chrome during local execution.

Output

Each dataset item is one detail-verified job. The dataset schema provides table, JSON, and overview views. The OUTPUT key-value-store record contains the run summary, including requested and extracted counts, runtime, access method, diagnostics, and proxy telemetry.

{
"jobId": "123456789",
"title": "Software Engineer",
"company": "Example Ltd",
"location": "London",
"description": "Full source-provided job description...",
"url": "https://www.totaljobs.com/job/example-job/example-ltd-job123456789",
"source": "TotalJobs",
"detailVerified": true
}

Reliability and limits

  • Search results are paginated only up to maxPages and stop after maxItems complete records.
  • maxRequests is a hard request ceiling and must allow one search request plus the requested detail pages.
  • Requests use bounded timeouts, retries, and an optional delay.
  • Job identity is checked between the requested URL and extracted page data.
  • Duplicate IDs and URLs, challenge pages, non-job pages, and incomplete detail records cause a diagnostic failure instead of partial output.
  • Vacancies can expire between search discovery and detail extraction. Reduce maxItems or rerun with fresh URLs if the source removes a listing.

Local development

npm install
npm test
apify run --purge --input-file INPUT.json
npm run validate:dataset

Use small inputs when validating source behavior. Automated use remains subject to TotalJobs terms and applicable law.