CWJobs Scraper - UK IT Jobs, Employer or Agency
Pricing
from $1.20 / 1,000 result scrapeds
CWJobs Scraper - UK IT Jobs, Employer or Agency
Scrape UK IT and tech jobs from CWJobs.co.uk. Each job comes with CWJobs' own direct employer or agency label, permanent or contract type, salary, location, skills and posting date.
Pricing
from $1.20 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
CWJobs Scraper
CWJobs Scraper extracts IT and tech job adverts from CWJobs.co.uk, the UK IT job board of the Totaljobs Group. Every job comes with CWJobs' own label for the advertiser (direct employer or recruitment agency), the contract type (permanent or contract), salary, location, skills, posting date and a link to the advert.
You can search by keyword and location, or leave both empty and get every IT job on the board for the last day, three days, week or two weeks.
How to scrape CWJobs data
- Open CWJobs Scraper in the Apify Console.
- Enter a keyword such as
developer,data engineerorcyber security, or leave it empty for the whole board. - Optionally enter a UK location such as
londonormanchester. - Pick how recent the jobs should be under Posted within (default: last 7 days).
- Optionally keep only direct employers or only agencies, and only permanent or only contract jobs.
- Set Max results and click Start.
- Download the results as JSON, CSV or Excel from the Output tab, or read them through the Apify API.
What you can use it for
- Hiring signals for recruiters. A weekly list of UK companies that advertise IT roles themselves, with the stack they hire for.
- Agency market mapping. Which recruitment agencies post which IT roles, in which regions, and how many.
- Salary and rate benchmarking for permanent and contract IT roles across the UK.
- Labour market research on demand for skills such as Python, AWS, Azure or Kubernetes.
- Job aggregation for niche IT job sites and alerts.
Input
| Field | Type | Description |
|---|---|---|
searchQuery | string | Job keyword. Empty = every job on CWJobs. |
location | string | UK town, city or region. Empty = whole UK. |
postedWithin | string | 1, 3, 7 or 14 days, or empty for any time. Default 7. |
companyType | string | all (default), direct or agency. Uses CWJobs' "Type of Company" filter. |
contractType | string | all (default), permanent or contract. |
tagAdvertiserAndContractType | boolean | Default true. Fills advertiserType and contractType (see below). |
maxResults | integer | Maximum jobs to return. Default 100, hard cap 50,000. |
proxyConfiguration | object | Default: Apify automatic proxy. No residential proxy needed. |
Example input
{"searchQuery": "","postedWithin": "7","companyType": "all","maxResults": 5000}
About the advertiser and contract labels
CWJobs does not put "Direct Employer" or "Agency" on the job itself. It only exposes them through its search filters. With tagAdvertiserAndContractType switched on (the default), the actor runs the same search again with each filter and labels the jobs it finds. This costs a few extra requests per run. Switch it off for a faster run where advertiserType and contractType are empty.
CWJobs only labels part of its adverts. In October 2026 about half of the adverts of a week carried a "Direct Employer" or "Agency" label. Adverts that arrive through employers' own applicant tracking systems (large tech companies, universities, public bodies) usually have no label. Those jobs come back with advertiserType: null, never with a guessed value.
Output
Each item is one job advert.
| Field | Description |
|---|---|
jobId | CWJobs / Totaljobs job id |
jobTitle | Job title |
company | Advertiser name (employer or agency) |
companyId | CWJobs company id |
companyProfileUrl | The advertiser's job list on CWJobs |
companyLogo | Logo URL |
advertiserType | direct_employer, agency or null |
advertiserTypeSource | job (CWJobs labels this advert) or company (label taken from the same company's other adverts) |
contractType | permanent, contract or null |
location, postCode | Location as advertised |
locationPrecision | region when the advert only names a region (South East, Yorkshire, UK), place otherwise |
locationFromAdvert, locationFromAdvertSource | With resolveRegionOnlyLocations on: the town read from the advert text of a region-only advert, null when the advert does not say |
salary, currency | Salary text as advertised, GBP when given |
remoteOption | Work from home label |
skills | Skills tagged by CWJobs |
descriptionSnippet | Start of the description |
sourceSite | Group site the advert was posted on. CWJobs shows Totaljobs IT adverts too |
anonymousAdvertiser | true when the advertiser hides its name |
sponsored | Paid placement |
postedDate, expiryDate | ISO dates |
url | Link to the advert |
scrapedAt | Run timestamp |
Example output
{"jobId": 108178124,"jobTitle": "Full Stack Engineer","company": "Leeds Building Society","companyId": 334816,"companyProfileUrl": "https://www.cwjobs.co.uk/jobs/leeds-building-society?cmpId=334816","advertiserType": "direct_employer","advertiserTypeSource": "job","contractType": "permanent","location": "Leeds","salary": "Competitive","currency": "GBP","sourceSite": "Totaljobs.com","postedDate": "2026-10-15T08:15:46.537Z","expiryDate": "2026-11-25T09:15:46.537Z","url": "https://www.totaljobs.com/job/full-stack-engineer/leeds-building-society-job108178124","scrapedAt": "2026-10-15T09:00:00.000Z"}
Cost estimate
The actor reads CWJobs' result list as JSON, 25 jobs per request, on Apify's automatic proxy. A 20-job test run used about $0.0005 of platform usage. A full week of the whole board (about 9,000 jobs) is roughly 800 requests including the labelling passes. Usage for a run only settles after the run has finished with SUCCEEDED, so a dataset read during a run shows a cost that is far too low.
Limitations
- CWJobs labels only part of its adverts as "Direct Employer" or "Agency". Unlabelled adverts have
advertiserType: null. postedWithinis CWJobs' own filter. It also returns some older adverts that CWJobs still treats as recent (in October 2026 about a third of a "last 7 days" pull had an originalpostedDateolder than 7 days). Filter onpostedDateif you need the strict window.- Some agencies label themselves as direct employers. Check the name if the split matters to you.
- Company websites are not shown on CWJobs.
companyProfileUrlpoints to the company's job list on CWJobs. - Totaljobs IT adverts are cross-posted to CWJobs, so the same job can also appear in a Totaljobs dataset.
- The run fails on purpose when no job is found, so an empty dataset never looks like a successful run.
About CWJobs
CWJobs.co.uk is the IT and technology job board of the Totaljobs Group (StepStone). It lists permanent and contract roles across software development, data, cloud, infrastructure, security, IT support and project delivery, from employers and recruitment agencies across the UK.
Maintained by Studio Amba
We run 700+ scrapers for European websites, and the priority is keeping every one of them working. Automated runs test this actor against the live site and verify the output is complete. When the website changes, the scraper usually gets repaired the same day, without you having to report anything. Questions and issues go straight to the people who built it, and most get an answer the same day.
If this actor works for you, a review on its Store page helps other people find it.
Need this data on a schedule, or a custom version?
We run this scraper as a managed service for businesses: scheduled runs, deduplication, delta detection, and delivery to your inbox, Google Sheets, or API, maintenance included. We can also build a custom version with your exact fields and filters, or combine multiple sources into one feed.
See studioamba.dev/services or email hello@studioamba.dev for a free data sample.