Goodmoves Scraper
Pricing
from $3.00 / 1,000 results
Goodmoves Scraper
Scrape charity, nonprofit and public sector job listings from Goodmoves - Scotland's leading third-sector job board. Search by keyword, location, sector, role, workplace type and more.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
Goodmoves Jobs Scraper
Scrape charity, nonprofit and third-sector job listings from Goodmoves — Scotland's leading platform for third-sector recruitment, also covering England and Wales. Extract job titles, organisations, salaries, locations, closing dates, working patterns, and application details from thousands of live vacancies.
Features
- Search mode — Filter by keyword, location with mileage radius (5 / 10 / 25 / 50 miles), sector, role, workplace type (Remote / Hybrid / On site), working pattern, region, and salary range.
- Direct URL mode — Pass one or more Goodmoves vacancy URLs to scrape specific listings.
- Rich output — 23 fields per listing including vacancy ID, organisation profile, structured salary data, hours per week, recruitment pack PDF URL, and application email.
- Pagination — Automatically pages through all search results up to the
maxItemscap. - Reliable retries — Automatic retry with back-off on transient HTTP errors (429, 5xx).
- No proxy or authentication required — Works on the Apify free plan with no configuration beyond your search filters.
Input
| Field | Type | Description |
|---|---|---|
mode | select | search (filter-based) or byUrl (direct vacancy URLs) |
startUrls | list | Vacancy URLs for byUrl mode (e.g. https://goodmoves.org/vacancy/…). Required when mode is byUrl. |
keywords | string | Job title, skills, or organisation name |
location | string | Town, city, or postcode to search near (UK/Scotland). Resolved to coordinates via free geocoding — see radius. |
radius | select | Search radius around location: 5 / 10 / 25 / 50 miles (default 10). Only applied when location is set. |
sector | select | Charitable sector (Health, Environment, Youth, etc.) |
role | select | Job role category (Fundraising, Management, IT, etc.) |
workplaceType | select | Remote / Hybrid / On site |
workingPattern | select | Full time / Part time / Management Board |
region | select | Geographic region (Edinburgh & Lothians, Glasgow & Clyde, etc.) |
sortBy | select | Sort order: Relevance / Closing soon / Newest / Oldest / Salary high-low |
salaryMin | integer | Minimum salary (£) |
salaryMax | integer | Maximum salary (£) |
maxItems | integer | Maximum number of listings to return (default: 20) |
Example input
{"mode": "search","keywords": "fundraising manager","location": "Edinburgh","radius": "25","sector": "health","workplaceType": "Hybrid","maxItems": 50}
Output
Each item in the dataset represents one job listing. Fields are omitted when not available.
| Field | Type | Description |
|---|---|---|
vacancyId | string | Unique Goodmoves vacancy identifier |
title | string | Job title |
organization | string | Hiring organisation name |
organizationDescription | string | Organisation summary |
organizationLogoUrl | string | Organisation logo image URL |
organizationUrl | string | Link to the organisation's Goodmoves profile |
sectors | list | Charitable sector tags (e.g. ["Health", "Social Care"]) |
roles | list | Role category tags (e.g. ["Fundraising", "Management"]) |
employmentType | string | Employment type (e.g. "Full time") |
workplaceType | string | Workplace arrangement (Remote, Hybrid, or On site) |
salaryText | string | Human-readable salary (e.g. "£48,000 – £54,000") |
salaryMinGbp | integer | Minimum salary in £ |
salaryMaxGbp | integer | Maximum salary in £ |
location | string | Job location (city, region, country) |
postcode | string | Postcode for the role |
hoursPerWeek | integer | Weekly hours |
datePosted | string | Date the vacancy was published (ISO 8601) |
closingDate | string | Application closing date (ISO 8601) |
description | string | Full job description text |
applicationEmail | string | Contact email for applications |
recruitmentPackUrl | string | URL to the recruitment pack PDF |
jobUrl | string | Canonical URL of the vacancy on Goodmoves |
scrapedAt | string | Timestamp when the record was scraped (UTC ISO 8601) |
Example output
{"vacancyId": "a0h3z00000GpnMaAAJ","title": "Director of Income Generation and Communications","organization": "Ayrshire Cancer Support","organizationDescription": "Ayrshire Cancer Support is dedicated to improving the lives of those affected by cancer.","organizationLogoUrl": "https://storage.googleapis.com/acs-logo.png","organizationUrl": "https://goodmoves.org/organisation/ayrshire-cancer-support","sectors": ["Health"],"roles": ["Development", "Fundraising", "Communications & Marketing", "Management"],"employmentType": "Full time","workplaceType": "Hybrid","salaryText": "£48,000 – £54,000","salaryMinGbp": 48000,"salaryMaxGbp": 54000,"location": "Ayr, Carrick and Cumnock, South Ayrshire, Scotland","postcode": "KA8 8LD","hoursPerWeek": 35,"datePosted": "2026-06-10T14:45:00","closingDate": "2026-06-25T16:00:00","description": "We are looking for an experienced Director to lead our income generation...","applicationEmail": "director@ayrshirecs.org.uk","jobUrl": "https://goodmoves.org/vacancy/a0h3z00000GpnMaAAJ/director-of-income-generation","scrapedAt": "2026-06-10T15:30:00Z"}
FAQs
Which jobs does Goodmoves list? Goodmoves specialises in third-sector roles — charities, social enterprises, housing associations, and community organisations. The majority of listings are based in Scotland, with a growing number from England and Wales.
How many jobs can I scrape?
Set maxItems to control the maximum number of results. A keyword search typically returns hundreds to thousands of matches. The scraper paginates automatically.
Does this require authentication or cookies? No. All Goodmoves job listings are publicly accessible without a login. This scraper uses no credentials and no paid proxy tier.
Why are some fields missing from a record?
Fields are only included when Goodmoves provides data for them. For example, applicationEmail is only present if an email address appears on the vacancy page, and salaryText is only present if the posting includes salary information.
Can I scrape a specific job listing?
Yes — set mode to byUrl and supply one or more Goodmoves vacancy URLs in startUrls. startUrls is required in this mode; the run stops with a clear status message if it's left empty.
How does the location + radius filter work?
Goodmoves only applies its location filter server-side when the search is paired with map coordinates (normally supplied by a JS location-picker widget on the live site). This scraper resolves location to coordinates itself using the free OpenStreetMap Nominatim geocoding service (no API key, no extra cost) and passes them straight through with your chosen radius. If a location can't be resolved (e.g. a typo or a non-UK place), the run continues without the location filter and the run's status message explains why.
How often is data updated? The scraper fetches live data from Goodmoves each time it runs. For up-to-date listings, schedule the actor to run daily.