
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Scrape Totaljobs (UK) job listings by keyword, location and filters, or from search and job URLs. Get title, company, salary (parsed min and max), location, posting dates, labels and optionally the full description, address and coordinates.
Scrape job listings from Totaljobs, one of the UK's largest job boards. Search by keyword and location with Totaljobs' own filters, or paste search and job URLs, and get the title, company, salary (with parsed minimum and maximum), location, posting dates and labels for every job, plus the full description, address and coordinates when you want them. No login, no browser, pay only for the jobs you save.
salaryMin, salaryMax and period (year, day, hour).data analyst) and a Location (for example Leeds), or paste Totaljobs search or job URLs.| Field | Description |
|---|---|
keyword | Job title, skill or company. |
location | UK town, city, county or region. |
startUrls | Totaljobs search URLs (their filters are kept) or job URLs. |
maxItems | Maximum jobs to save (0 = no limit). |
includeDetails | Open each job page for the description, address and coordinates (default off). |
postedWithin | any, 1, 3, 7 or 14 days. |
radius | Miles around the location: 0, 5, 10, 20, 30, 50 or 100. |
includeNearbyJobs | Keep the jobs Totaljobs lists from outside the radius (default on). |
jobType | Permanent, contract, temporary, part time or work from home. |
remoteOnly | Only work-from-home jobs. |
minSalary | Minimum yearly salary in GBP. |
companyType | Direct employers or recruitment agencies only. |
excludeSponsored | Leave out promoted listings. |
{
"keyword": "software engineer",
"location": "London",
"maxItems": 20,
"postedWithin": "7",
"includeDetails": true
}
| Field | Description |
|---|---|
jobKey, url | Totaljobs job id and job page link. |
title, company, companyId, companyUrl, companyLogoUrl | Job title and employer. |
location, postCode | Where the job is. |
salary, salaryMin, salaryMax, salaryCurrency, salaryPeriod | Salary text as shown and its parsed parts. |
datePosted, postedDaysAgo, publishFromDate, publishToDate | Posting dates. |
textSnippet, labels, topLabels, skills | Snippet and Totaljobs' tags. |
isSponsored, isTopJob, isHighlighted, section | Listing flags; section is main (matches) or regional (outside the radius). |
descriptionHtml, descriptionText, employmentType, industry, validThrough, directApply, locationDetail | Job page fields (with full details on). |
query, searchLocation, searchUrl, scrapedAt | Where the row came from. |
{
"jobKey": "108178766",
"title": "Registered Nurse & Clinical Team Leader",
"company": "Priority Recruitment Services",
"location": "Manchester, Greater Manchester",
"postCode": "M3 2BA",
"url": "https://www.totaljobs.com/job/registered-nurse-clinical-team-leader/priority-recruitment-services-job108178766",
"salary": "£30000 - £40000 per annum, Benefits Bonus & more",
"salaryMin": 30000,
"salaryMax": 40000,
"salaryCurrency": "GBP",
"salaryPeriod": "YEAR",
"datePosted": "2026-10-15T09:42:05.483Z",
"postedDaysAgo": 0,
"textSnippet": "Registered Nurse & Clinical Team Leader providing clinical leadership across community care services",
"companyId": 1456006,
"companyUrl": "https://www.totaljobs.com/jobs/priority-recruitment-services/in-manchester?cmpId=1456006&cmp=1",
"isSponsored": false,
"section": "main",
"publishToDate": "2026-11-26T10:42:05.483Z",
"detailsFetched": true,
"descriptionText": "Registered Nurse & Clinical Team Leader\n£30,000–£40,000 DOE + Annual Performance Bonus\n...",
"employmentType": "FULL_TIME",
"industry": "Health, Health-Management",
"validThrough": "2026-11-26T10:42:05.483Z",
"directApply": true,
"locationDetail": {"city": "Manchester", "region": "North West", "postalCode": "M3 2BA", "country": "GB", "lat": 53.4830017, "lng": -2.2470901},
"query": "nurse",
"searchLocation": "Manchester",
"scrapedAt": "2026-10-16T00:48:49.692Z"
}
You pay $1.20 per 1,000 jobs saved ($0.0012 per job), plus platform usage. Search results are light: they come through the datacenter proxy, and a test run of 1,000 jobs used $0.002 of compute and traffic, so 1,000 jobs cost about $1.20 in total. With Include full job details on, each job page adds about 0.08 MB of UK residential proxy traffic, roughly $0.15 per 1,000 jobs. Empty searches and rejected inputs are never charged.
Is it legal to scrape Totaljobs? The actor reads only public job listings that anyone can see without an account. Check the site's terms and your local rules for how you use the data, especially any personal data.
Do I need an account or a proxy? No account. Search results work through the default datacenter proxy. With full details on, job pages go through UK residential proxies automatically, because Totaljobs refuses datacenter addresses there.
How many jobs can I get? As many as a search lists on Totaljobs; every result page is read. Add more URLs or locations for more; duplicates across searches are removed.
Why is a field empty? Totaljobs does not show every field for every job: many listings have no salary or postcode, and some salaries are text such as "Competitive". Job page fields stay empty unless Include full job details is on.
What are "regional" jobs?
After the jobs that match your location and radius, Totaljobs lists jobs from further away. They are marked section: "regional". Turn off Include jobs further away to skip them.
Can I schedule it or use the API? Yes. Schedule runs in the console, or start runs and read the dataset through the API and integrations.
salary.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
keywordstringOptionalKeyword
Job title, skill or company, e.g. software engineer, registered nurse, accountant. Leave empty to list every job in the location.
locationstringOptionalLocation
UK town, city, county or postcode area, e.g. London, Manchester, Leeds, Greater Manchester. Leave empty for the whole UK.
startUrlsarrayOptionalSearch or job URLs
Totaljobs search pages copied from your browser (https://www.totaljobs.com/jobs/data-analyst/in-leeds?postedWithin=7, filters in the URL are kept) or single job pages (https://www.totaljobs.com/job/...-job108183499).
maxItemsintegerOptionaldefault 20Max results
Maximum number of jobs to save across all searches. 0 means no limit.
includeDetailsbooleanOptionaldefault falseInclude full job details
Open each job page for the full description (HTML and text), employment type, industry, street address, postcode, coordinates, expiry date and direct-apply flag. Slower: one more page per job, loaded through UK residential proxies.
postedWithinenumOptionaldefault "any"Date posted
Only jobs posted within this period.
radiusenumOptionalDistance from location (miles)
Search radius around the location. Leave empty for the site default (10 miles).
includeNearbyJobsbooleanOptionaldefault trueInclude jobs further away
Totaljobs lists jobs from outside the radius after the matching ones (shown as 'regional' in the section field). Turn off to keep only jobs inside the radius.
jobTypeenumOptionaldefault "any"Job type
Only jobs of this type.
remoteOnlybooleanOptionaldefault falseRemote jobs only
Only jobs Totaljobs marks as work from home.
minSalaryintegerOptionalMinimum salary (yearly, GBP)
Only jobs paying at least this much per year, e.g. 40000.
companyTypeenumOptionaldefault "any"Employer type
Only jobs from direct employers or only from recruitment agencies.
excludeSponsoredbooleanOptionaldefault falseSkip sponsored jobs
Leave out promoted listings.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work for the search results. Job pages (with full details on) always go through UK residential proxies, because Totaljobs refuses datacenter addresses there.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| jobKey | string | null | |
| title | string | null | |
| company | string | null | |
| location | string | null | |
| url | string | null | |
| salary | string | null | |
| salaryMin | number | null | |
| salaryMax | number | null | |
| datePosted | string | null |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Job | One saved job listing. | $0.0012 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('openrole/totaljobs-scraper').call({
"keyword": "software engineer",
"location": "London",
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run openrole/totaljobs-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=openrole/totaljobs-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Jobs from a Totaljobs search URL and a job page.
Job listings with full descriptions.
Contract roles posted in the last 7 days within 10 miles.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.