CWJobs Scraper - UK IT Jobs, Employer or Agency avatar

CWJobs Scraper - UK IT Jobs, Employer or Agency

Pricing

from $1.20 / 1,000 result scrapeds

Go to Apify Store
CWJobs Scraper - UK IT Jobs, Employer or Agency

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

Studio Amba

Maintained by Community

Actor 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

  1. Open CWJobs Scraper in the Apify Console.
  2. Enter a keyword such as developer, data engineer or cyber security, or leave it empty for the whole board.
  3. Optionally enter a UK location such as london or manchester.
  4. Pick how recent the jobs should be under Posted within (default: last 7 days).
  5. Optionally keep only direct employers or only agencies, and only permanent or only contract jobs.
  6. Set Max results and click Start.
  7. 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

FieldTypeDescription
searchQuerystringJob keyword. Empty = every job on CWJobs.
locationstringUK town, city or region. Empty = whole UK.
postedWithinstring1, 3, 7 or 14 days, or empty for any time. Default 7.
companyTypestringall (default), direct or agency. Uses CWJobs' "Type of Company" filter.
contractTypestringall (default), permanent or contract.
tagAdvertiserAndContractTypebooleanDefault true. Fills advertiserType and contractType (see below).
maxResultsintegerMaximum jobs to return. Default 100, hard cap 50,000.
proxyConfigurationobjectDefault: 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.

FieldDescription
jobIdCWJobs / Totaljobs job id
jobTitleJob title
companyAdvertiser name (employer or agency)
companyIdCWJobs company id
companyProfileUrlThe advertiser's job list on CWJobs
companyLogoLogo URL
advertiserTypedirect_employer, agency or null
advertiserTypeSourcejob (CWJobs labels this advert) or company (label taken from the same company's other adverts)
contractTypepermanent, contract or null
location, postCodeLocation as advertised
locationPrecisionregion when the advert only names a region (South East, Yorkshire, UK), place otherwise
locationFromAdvert, locationFromAdvertSourceWith resolveRegionOnlyLocations on: the town read from the advert text of a region-only advert, null when the advert does not say
salary, currencySalary text as advertised, GBP when given
remoteOptionWork from home label
skillsSkills tagged by CWJobs
descriptionSnippetStart of the description
sourceSiteGroup site the advert was posted on. CWJobs shows Totaljobs IT adverts too
anonymousAdvertisertrue when the advertiser hides its name
sponsoredPaid placement
postedDate, expiryDateISO dates
urlLink to the advert
scrapedAtRun 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.
  • postedWithin is 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 original postedDate older than 7 days). Filter on postedDate if 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. companyProfileUrl points 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.