TotalJobs Scraper
Pricing
Pay per usage
TotalJobs Scraper
Introducing the Total Jobs Scraper, a lightweight actor designed to efficiently extract job listings from Total Jobs. Fast and user-friendly. For optimal performance and to ensure reliable data collection, the use of residential proxies is strongly recommended. Start gathering job data today!
Pricing
Pay per usage
Rating
5.0
(1)
Developer
Shahid Irfan
Maintained by CommunityActor stats
1
Bookmarked
53
Total users
8
Monthly active users
9 days ago
Last modified
Categories
Share
Totaljobs Job Scraper
Extract job listings from Totaljobs.com for recruitment research, salary tracking, market analysis, and job board monitoring. Collect structured UK job data including titles, companies, locations, salaries, posting dates, direct job links, company links, logos, result page metadata, and short job descriptions.
Features
- Keyword and location search - Collect jobs by role, skill, sector, or UK location.
- Custom search URLs - Start from a specific Totaljobs results page when you need exact filters.
- Pagination support - Collect multiple result pages until your requested result count is reached.
- Clean output - Duplicate listings are skipped and empty values are removed from records.
- Company metadata - Capture company profile URLs and logos when available.
- Description text - Capture the listing description available in the result data.
Use Cases
Recruitment Research
Track open roles across specific skills, sectors, and UK regions. Recruiters can compare hiring demand, identify active employers, and build clean datasets for sourcing decisions.
Salary Benchmarking
Collect salary text from current listings and compare ranges by role, location, or company. This is useful for compensation reviews, job advert planning, and market reports.
Job Market Monitoring
Monitor new and promoted listings for specific search terms. Teams can schedule repeat runs and export the results for trend analysis.
Lead Generation
Find companies actively hiring for target roles. Company profile links and job URLs help sales and recruitment teams qualify outreach lists.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | String | No | "admin" | Job title, skill, or search phrase. |
location | String | No | "" | UK location to narrow the search. |
startUrl | String | No | - | Totaljobs search URL to use instead of keyword and location. |
url | String | No | - | Alternative custom Totaljobs search URL. |
postedWithin | String | No | - | Filter to jobs posted in the last 1, 3, or 7 days. |
results_wanted | Integer | No | 20 | Maximum number of jobs to collect. |
max_pages | Integer | No | 5 | Maximum search result pages to process. |
proxyConfiguration | Object | No | Apify Proxy | Proxy settings for reliable runs. |
Output Data
Each dataset item can contain:
| Field | Type | Description |
|---|---|---|
job_id | String | Stable Totaljobs job identifier parsed from the listing URL. |
title | String | Job title. |
company | String | Hiring company or agency name. |
location | String | Job location text. |
salary | String | Salary or rate text when shown. |
date_posted | String | Posting age, such as 2 days ago. |
job_url | String | Direct Totaljobs job listing URL. |
company_url | String | Totaljobs company search or profile URL. |
company_logo | String | Company logo URL when available. |
description_snippet | String | Short listing description. |
description_text | String | Clean description text from the listing data. |
source_search_url | String | Search URL that produced the record. |
source_page | Number | Result page number. |
is_featured | Boolean | Whether the listing was marked featured. |
is_premium | Boolean | Whether the listing was marked premium. |
is_new | Boolean | Whether the listing was marked new. |
Usage Examples
Basic Search
Collect 20 admin jobs from broad UK results:
{"keyword": "admin","results_wanted": 20}
Location Search
Collect software engineer jobs in London:
{"keyword": "software engineer","location": "London","results_wanted": 50,"max_pages": 3}
Custom Results Page
Use a Totaljobs URL with filters already applied:
{"startUrl": "https://www.totaljobs.com/jobs/data-analyst/in-manchester","results_wanted": 40,"postedWithin": "7"}
Sample Output
{"job_id": "107603010","title": "Admin Early 2026","company": "Pertemps Birmingham Industrial","location": "Midlands","salary": "£12.71 - £14.27 per hour","date_posted": "3 days ago","job_url": "https://www.totaljobs.com/job/admin-early-2026/pertemps-birmingham-industrial-job107603010","company_url": "https://www.totaljobs.com/jobs/pertemps-birmingham-industrial?cmpId=1445185&cmp=1","company_logo": "https://www.totaljobs.com/CompanyLogos/63a9dbff176c40448a86cd153a781cfc.png?im=Resize=(56,56)","description_snippet": "Administrator Pick Board Department - We are currently recruiting for an Administrator to join our busy Pick Board Department.","source_search_url": "https://www.totaljobs.com/jobs/admin","source_page": 1,"is_featured": true}
Tips for Best Results
Use Specific Searches
- Use role names such as
data analyst,warehouse operative, orfinance manager. - Add a location when you need regional datasets.
- Use
startUrlwhen you already have a filtered Totaljobs page.
Keep Test Runs Small
- Start with
20results when testing. - Increase
results_wantedafter confirming the output matches your needs. - Use
max_pagesas a safety cap for broad searches.
Description Coverage
- The result data includes the description text shown in the listing.
- Some job detail pages may not expose longer text through the available source.
- Empty description fields are skipped instead of being saved as null values.
Integrations
Connect your data with:
- Google Sheets - Review and filter job data in spreadsheets.
- Airtable - Build a searchable job or employer database.
- Webhooks - Send new results to your own systems.
- Make - Create automated workflows.
- Zapier - Trigger notifications or CRM updates.
Export Formats
- JSON - For applications and data pipelines.
- CSV - For spreadsheet analysis.
- Excel - For business reporting.
- XML - For system integrations.
Frequently Asked Questions
Can I scrape a specific Totaljobs search URL?
Yes. Add the search page to startUrl, and the actor will use it instead of building a search from keyword and location.
How many jobs can I collect?
You can set results_wanted to the number of records you need. The actor stops when it reaches that target or when max_pages is reached.
Why are some salary fields missing?
Some Totaljobs listings do not show salary information. Empty fields are removed from the record to keep the dataset clean.
Does the actor remove duplicates?
Yes. Listings are deduplicated by job ID or job URL before they are saved.
Can I collect full descriptions?
The actor collects the description text available from the result source. Complete detail-page descriptions are not exposed reliably by the available endpoint.
Support
For issues or feature requests, contact support through the Apify Console.
Resources
Legal Notice
This actor is designed for legitimate data collection purposes. Users are responsible for ensuring compliance with Totaljobs.com terms of service and applicable laws. Use collected data responsibly.