Civil Service Jobs Search Scraper avatar

Civil Service Jobs Search Scraper

Pricing

from $2.99 / 1,000 job details

Go to Apify Store
Civil Service Jobs Search Scraper

Civil Service Jobs Search Scraper

Scrape job listings from Civil Service Jobs (civilservicejobs.service.gov.uk), the official UK government civil service recruitment portal. Extract job titles, departments, locations, salary ranges, grades, and descriptions for public sector recruitment.

Pricing

from $2.99 / 1,000 job details

Rating

0.0

(0)

Developer

Jobs API

Jobs API

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

11 hours ago

Last modified

Share

This Apify Actor extracts current public vacancies from the official Civil Service Jobs portal locally or on Apify Cloud. It uses a normal headless Chrome session, completes the site’s own public quick-check through the visible checkbox/Continue flow, reads the official search results, and enriches each row from its stable jobs.cgi?jcode=... detail page.

Modes

  • search: one bounded keyword/location search.
  • searchMultiple: several keyword/location searches with stable job-code deduplication.
  • single: one jobUrl, url, or numeric jobId.
  • multiple: jobUrls, urls, or jobIds.
  • startUrls: official search or stable detail URLs.

Every detail row is identity-checked against its public reference/job code and is buffered until the required employer, location, and rich description fields are complete. Published values are omitted when absent; no placeholder, fabricated application URL, diagnostic dataset row, proxy, fingerprint spoofing, or CAPTCHA/WAF bypass is used.

Local commands

npm install --no-audit --no-fund
npm test
npm run check
npx --yes apify validate-schema .actor/input_schema.json
npx --yes apify validate-schema .actor/dataset_schema.json
npx --yes apify validate-schema .actor/key_value_store_schema.json
npx --yes apify-cli run --purge --input-file INPUT.json
npm run validate

The Actor writes jobs only to the default dataset. RUN_SUMMARY, RUN_DIAGNOSTICS, RUN_SKIPS, RUN_HEALTH, RUN_METADATA, and RUN_REQUESTS are KVS-only run state. A blocked or failed public route exits nonzero with zero dataset rows and structured diagnostics.

Input examples

{
"mode": "search",
"query": "policy advisor",
"location": "London",
"maxItems": 3,
"maxCandidates": 12,
"maxPages": 1,
"maxRequests": 24
}

Stable detail URLs look like:

https://www.civilservicejobs.service.gov.uk/csr/jobs.cgi?jcode=2010702

The Apply now control on current adverts is an official login form rather than a final external destination. The output records that source-backed form action and explicitly marks finalDestinationPublished: false; it never invents a destination.