Guardian Jobs Scraper: UK Charity, Media, Public avatar

Guardian Jobs Scraper: UK Charity, Media, Public

Pricing

from $3.00 / 1,000 serp results

Go to Apify Store
Guardian Jobs Scraper: UK Charity, Media, Public

Guardian Jobs Scraper: UK Charity, Media, Public

Extract UK job listings from Guardian Jobs (jobs.theguardian.com). Returns 28+ fields per row: title, employer, salary (GBP min/max), location, sector, contract type, hours, closing date, description, apply URL, plus employer phone, address, website and about text when present. Pay per result.

Pricing

from $3.00 / 1,000 serp results

Rating

0.0

(0)

Developer

NanoScrape

NanoScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Guardian Jobs Scraper

Extract UK job listings from Guardian Jobs, the UK-focused job board run by The Guardian. Strong coverage of charity, media, education, government, arts and heritage, science, and public sector roles that are hard to find on generalist boards.

What it does

Given one or more search keywords (optionally with a UK location and sector filter), or a direct SERP URL, the actor walks Guardian Jobs search results, extracts each job card, and can optionally fetch the full detail page for the complete description, structured salary, contract type, hours, application deadline, and employer contact info (phone, address, website, about text).

  • Search by keyword (charity manager, science teacher, communications officer, ...) or feed direct SERP URLs
  • Filter by UK location with a 20-mile radius
  • Filter by sector (Charities, Media, Education, Government and Politics, Arts and Heritage, Health, Technology and IT, and more)
  • Filter by minimum annual salary and contract type (Permanent, Contract, Temporary, Voluntary)
  • Fast SERP mode returns core fields from the search page alone
  • Full detail mode returns the complete job description, sector, contract type, hours, closing date, plus employer phone, address, website and about text when the employer profile exposes them
  • Deep employer mode also resolves each unique employer's /employer/{id} page for enriched about text and a list of the employer's other currently-open roles

Sample output

{
"_type": "job",
"id": "10160808",
"title": "Head of Finance",
"company": "PERIDOT PARTNERS",
"company_logo_url": "https://jobs.theguardian.com/getasset/8a8658b1-39cb-4e00-9ddd-9a9117e85863/;w=200",
"location": "Remote, UK-based with c.2 in-person meetings per annum",
"country": "GB",
"sector": "Charities, Community & Social Care, Executive Management",
"contract_type": "Permanent",
"hours": "Full time",
"employment_type": "full-time, permanent",
"experience_level": "director",
"remote_option": "remote",
"salary_min": 60000,
"salary_max": 65000,
"salary_currency": "GBP",
"salary_period": "year",
"salary_text": "c.\u00a360,000 - \u00a365,000",
"description_snippet": "Help shape the future of one of the UK's leading bereavement charities.",
"posted_at": "2026-08-11",
"closing_date": "2026-08-27",
"source_url": "https://jobs.theguardian.com/job/10160808/head-of-finance/",
"source_platform": "jobs.theguardian.com",
"apply_url": "https://jobs.theguardian.com/job/10160808/head-of-finance/",
"search_query": "charity manager in London",
"scraped_at": "2026-08-20T09:08:29Z",
"company_about": "Placing purpose and quality before profit, Peridot Partners is a values-led third sector executive recruitment agency...",
"company_phone": "0203 0360 623",
"company_email": null,
"company_website": "http://www.peridotpartners.co.uk",
"company_address_street": "PERIDOT PARTNERS THE STANLEY BUILDING 7 PANCRAS SQUARE",
"company_address_city": "LONDON",
"company_address_postcode": "N1C 4AG",
"company_address_country": "GB",
"company_active_jobs_count": 5,
"company_active_jobs": [
{
"title": "Director of Finance & Corporate Services",
"job_url": "https://jobs.theguardian.com/job/10160147/director-of-finance-and-corporate-services",
"description_snippet": "Help shape the future of one of the UK's leading bereavement charities.",
"location": "Remote, UK-based with occasional in-person meetings in London",
"salary_text": "c\u00a385,000"
}
]
}

Pricing

$0.001 per actor start + $0.003 per SERP result + $0.005 per full detail result + $0.005 per unique employer resolved (only when includeCompanyDetails is on).

Typical cost:

  • SERP mode: about $3 per 1,000 jobs (title, employer, salary text, location, snippet, posted date, logo)
  • Full mode: about $8 per 1,000 jobs (adds sector, contract type, hours, full description, closing date, structured salary, employer phone, address, website, about text)
  • Deep employer mode (adds includeCompanyDetails=true): about $8 per 1,000 jobs + $0.005 per unique employer. Employers are deduplicated within a run, so 100 jobs from 40 different employers cost about $8.20, not $8.50.

You only pay for detail fetches that succeed. Failed fetches are not charged.

New to Apify? Every account gets a $5 free monthly platform credit, enough for around 1,600 SERP rows or around 600 full-detail rows on this actor before you commit to paying anything. Test extensively first.

Input

FieldTypeDescription
searchQueriesarray of stringsKeywords to search for (each runs as a separate search). Provide either this or startUrls.
startUrlsarray of stringsDirect SERP URLs to crawl instead of building searches from keywords (for example https://jobs.theguardian.com/jobs/charity/). Mutually exclusive with searchQueries.
locationstringUK town, city, or region. 20-mile radius is applied automatically. Ignored when using startUrls.
sectorselectOptional sector filter (Charities, Media, Education, and more).
salaryMinintegerMinimum annual salary in GBP.
contractTypeselectPermanent, Contract, Temporary, or Voluntary.
maxResultsintegerTotal cap across all keywords (default 25).
maxResultsPerQueryintegerCap per individual keyword (default 200).
includeJobDetailsbooleanFetch each detail page for full data plus employer contact info (default false).
includeCompanyDetailsbooleanAlso resolve each unique employer's Guardian Jobs company page for enriched about text and an active-jobs list. Requires includeJobDetails=true. Deduplicated per run. Default false.
maxConcurrencyintegerParallel detail-page requests (default 4, max 20).

Output fields

Core listing: _type, id, title, company, company_logo_url, location, country, source_url, apply_url, source_platform, scraped_at.

Structured job facets (full mode): sector, contract_type, hours, employment_type, experience_level, remote_option.

Salary: salary_min, salary_max, salary_currency, salary_period, salary_text.

Description: description_snippet (SERP mode), description_full and description_html (full mode).

Dates: posted_at, closing_date (full mode).

Context: search_query (which keyword produced this row).

Employer contact (full mode, when the employer exposes it): company_about, company_phone, company_email, company_website, company_address_street, company_address_city, company_address_postcode, company_address_country.

Deep employer mode (includeCompanyDetails=true): company_active_jobs_count, company_active_jobs (array of {title, job_url, description_snippet, location, salary_text}), plus enriched company_about.

Use with AI Agents (MCP)

Connect this actor to any MCP-compatible AI client: Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.

Apify MCP server URL:

https://mcp.apify.com?tools=santamaria-automations/guardianjobs-scraper

Example prompt once connected:

"Use guardianjobs-scraper to find the 20 most recent charity manager roles in London with a minimum salary of 40,000. Enable includeCompanyDetails so I get each employer's phone number and other open roles. Return a table with employer, title, salary, phone."

Clients that support dynamic tool discovery (Claude.ai, VS Code) will receive the full input schema automatically.

Why this scraper

  • Guardian Jobs is a hand-curated UK board. Signal-to-noise on charity, media, education, and public sector roles is far higher than on aggregators.
  • Structured salary and closing dates come out of the JSON-LD job posting embedded in every listing, not a fragile HTML scrape.
  • Sector taxonomy is the real Guardian Jobs one (16+ sectors), not our own guessed labels.
  • Employer logos, phone numbers, and postal addresses turn a job scraper into a lead-generation feed for outreach teams. Deep employer mode adds a per-employer active-jobs list without refetching the same company twice.

Common use cases

  • Sourcing candidates for a charity or media recruiter: filter by sector=charities or sector=media.
  • Feeding a UK public-sector jobs board: filter by sector=government-and-politics or contractType=permanent.
  • Building a nonprofit sector salary benchmark: pull all charity jobs with includeJobDetails=true and analyze salary_min / salary_max.
  • Outbound lead-gen: run with includeCompanyDetails=true to get employer phone, address, website plus every other role at that employer for warm-intro talking points.
  • Watching your target employer: search their name as a keyword and re-run daily to catch new roles.

Notes and limits

  • Guardian Jobs caps a single search at around 1,000 results. To pull more, split queries by sector or location.
  • Some listings only advertise a salary range as free text (for example "Competitive" or "Voluntary"). In those cases salary_min and salary_max will be null and salary_text carries the original phrase.
  • Sector, contract type, hours, closing date, and employer contact fields only populate when includeJobDetails is true (they live on the detail page, not the SERP card).
  • company_email is often null. Guardian Jobs employer profiles rarely include a mailto link, unlike phone and address which are common.
  • company_active_jobs and enriched company_about only populate when includeCompanyDetails is true, and only for employers that have a dedicated /employer/{id} profile page (most large employers do, some ad-hoc listings from agencies do not).
  • The company field on the SERP mode comes from the "recruiter" line on the card, which can be either the employer or a recruitment agency. Full mode uses the JSON-LD hiringOrganization name which is more consistently the employer.

Support

For issues, feature requests, or filter combinations that don't behave as expected, please open an issue on the Issues tab of this actor. We typically respond within 6 hours.

Contact: contact@nanoscrape.com