Goodmoves Scraper avatar

Goodmoves Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Goodmoves Scraper

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

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

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 maxItems cap.
  • 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

FieldTypeDescription
modeselectsearch (filter-based) or byUrl (direct vacancy URLs)
startUrlslistVacancy URLs for byUrl mode (e.g. https://goodmoves.org/vacancy/…). Required when mode is byUrl.
keywordsstringJob title, skills, or organisation name
locationstringTown, city, or postcode to search near (UK/Scotland). Resolved to coordinates via free geocoding — see radius.
radiusselectSearch radius around location: 5 / 10 / 25 / 50 miles (default 10). Only applied when location is set.
sectorselectCharitable sector (Health, Environment, Youth, etc.)
roleselectJob role category (Fundraising, Management, IT, etc.)
workplaceTypeselectRemote / Hybrid / On site
workingPatternselectFull time / Part time / Management Board
regionselectGeographic region (Edinburgh & Lothians, Glasgow & Clyde, etc.)
sortByselectSort order: Relevance / Closing soon / Newest / Oldest / Salary high-low
salaryMinintegerMinimum salary (£)
salaryMaxintegerMaximum salary (£)
maxItemsintegerMaximum 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.

FieldTypeDescription
vacancyIdstringUnique Goodmoves vacancy identifier
titlestringJob title
organizationstringHiring organisation name
organizationDescriptionstringOrganisation summary
organizationLogoUrlstringOrganisation logo image URL
organizationUrlstringLink to the organisation's Goodmoves profile
sectorslistCharitable sector tags (e.g. ["Health", "Social Care"])
roleslistRole category tags (e.g. ["Fundraising", "Management"])
employmentTypestringEmployment type (e.g. "Full time")
workplaceTypestringWorkplace arrangement (Remote, Hybrid, or On site)
salaryTextstringHuman-readable salary (e.g. "£48,000 – £54,000")
salaryMinGbpintegerMinimum salary in £
salaryMaxGbpintegerMaximum salary in £
locationstringJob location (city, region, country)
postcodestringPostcode for the role
hoursPerWeekintegerWeekly hours
datePostedstringDate the vacancy was published (ISO 8601)
closingDatestringApplication closing date (ISO 8601)
descriptionstringFull job description text
applicationEmailstringContact email for applications
recruitmentPackUrlstringURL to the recruitment pack PDF
jobUrlstringCanonical URL of the vacancy on Goodmoves
scrapedAtstringTimestamp 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.