Goodmoves Jobs Scraper avatar

Goodmoves Jobs Scraper

Pricing

$2.60 / 1,000 scraped jobs

Go to Apify Store
Goodmoves Jobs Scraper

Goodmoves Jobs Scraper

Scrape public Goodmoves job listings from search, browse, location, and direct vacancy URLs. Export titles, employers, salaries, locations, dates, apply links, OSCR charity numbers, organisation websites, and source metadata.

Pricing

$2.60 / 1,000 scraped jobs

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

🔎 Scrape Goodmoves charity jobs

Goodmoves Jobs Scraper collects public job listings from Goodmoves and saves them as structured data you can export, schedule, or pull through the Apify API. Use this Goodmoves jobs scraper to turn Goodmoves search, browse, location, and direct vacancy URLs into job rows with titles, organisations, locations, salaries, dates, descriptions, apply links, OSCR charity numbers, organisation websites, and source metadata.

For a small first run, keep the prefilled Goodmoves URLs and set Maximum jobs to 25. Review the dataset, then replace the examples with the Goodmoves filters you care about.

✅ What this Goodmoves jobs scraper does

  • Scrapes public Goodmoves listing, search, browse, location, and direct vacancy URLs.
  • Saves one dataset row per accepted Goodmoves job posting.
  • Extracts job title, organisation, description, salary, workplace type, work hours, employment type, dates, location, apply metadata, source position, and scrape time.
  • Can enrich rows with organisation website, website domain, Goodmoves organisation profile URL, and Scottish Charity Register number when Goodmoves exposes them.
  • Supports a run-wide job limit so you can test small and scale later.
  • Supports scheduled monitoring with Only new jobs when you want later runs to save jobs that have not already been delivered by this Actor.
  • Works with Apify exports, schedules, webhooks, integrations, and API clients.

This Actor focuses on public Goodmoves job data. It does not log in, submit applications, contact organisations, scrape applicant data, or read private employer dashboards.

📦 What data you get

Each dataset item is one Goodmoves job. Fields can be empty when Goodmoves does not show that value for a specific vacancy.

  • jobId and salesforceId: Goodmoves job identifiers.
  • jobUrl and sourceListingUrl: vacancy URL and the listing URL that produced it when available.
  • title: job title.
  • descriptionHtml and descriptionText: job description content.
  • postedDate, closingDate, and daysUntilClosing: visible date information when available.
  • companyName, companyProfileUrl, organisationSlug, and organisationSalesforceId: organisation details from the vacancy.
  • companyWebsite, companyDomain, and oscrCharityNumber: optional organisation enrichment.
  • location: source location text and parsed location values when available.
  • workplaceType, employmentType, workHours, industry, and occupationalCategory: Goodmoves job classification fields.
  • salary: raw salary text plus parsed numeric range, currency, and period when available.
  • applyType, applyUrl, applyEmail, externalApplyUrl, and applyUrlDecoded: application metadata.
  • position: listing position and absolute position from the source page.
  • enrichment: whether organisation enrichment was requested and whether a profile was found.
  • scrapedAt: scrape timestamp.

🧭 Common use cases

  • Track Scottish charity-sector hiring by role, location, salary, or organisation.
  • Build repeatable Goodmoves exports for recruiting research or labour-market analysis.
  • Monitor fundraising, support, policy, care, housing, youth work, and charity leadership vacancies.
  • Feed Goodmoves job data into spreadsheets, dashboards, CRMs, alerts, or data warehouses.
  • Compare posted salaries, closing dates, workplace types, and organisation details across Goodmoves results.
  • Save direct Goodmoves vacancy pages into a consistent dataset for later review.

🚀 How to run it

  1. Open Goodmoves and set the filters you want.
  2. Copy the resulting Goodmoves URL.
  3. Paste one or more URLs into Goodmoves URLs.
  4. Keep Maximum jobs at 25 for your first run.
  5. Leave Include organisation details enabled if you want website, domain, and OSCR charity-number fields.
  6. Run the Actor and open the dataset.

Supported URL types include:

  • https://goodmoves.org/jobs-in/glasgow
  • https://goodmoves.org/search?keywords=fundraising
  • https://goodmoves.org/browse/charity-sector
  • https://goodmoves.org/vacancy/...

You do not need Goodmoves cookies, a Goodmoves account, or a separate Goodmoves API key.

🎛️ Input options

  • Goodmoves URLs: Goodmoves listing, search, browse, location, or direct vacancy URLs. You can mix URL types in one run.
  • Only new jobs: for scheduled monitoring. The first run builds the saved baseline, and later runs save jobs this Actor has not delivered before.
  • Reset saved jobs: clears the saved monitoring baseline at the start of the run.
  • Include organisation details: fetches Goodmoves organisation profiles when available to add website, domain, and OSCR charity number.
  • Maximum jobs: maximum number of Goodmoves jobs to save across the whole run.

🧾 Output example

{
"type": "job",
"jobId": "a4sP1000001abcDIAQ",
"jobUrl": "https://goodmoves.org/vacancy/a4sP1000001abcDIAQ/example-role",
"sourceListingUrl": "https://goodmoves.org/jobs-in/glasgow",
"title": "Community Support Worker",
"companyName": "Example Charity",
"companyProfileUrl": "https://goodmoves.org/organisation/example-charity",
"companyWebsite": "https://www.examplecharity.org.uk/",
"companyDomain": "examplecharity.org.uk",
"oscrCharityNumber": "SC012345",
"location": {
"text": "Glasgow",
"locality": "Glasgow",
"region": null,
"country": "GB"
},
"salary": {
"rawText": "£28,000 - £32,000",
"min": 28000,
"max": 32000,
"currency": "GBP",
"period": null
},
"closingDate": "2026-06-30",
"applyType": "email",
"applyEmail": "jobs@examplecharity.org.uk",
"scrapedAt": "2026-06-05T19:00:00.000Z"
}

💳 Pricing

This Actor uses pay-per-event pricing. You are charged for each Goodmoves job saved to the dataset. Runs that find no matching jobs do not create paid job items.

⚠️ Limits and caveats

  • Goodmoves can omit fields such as salary, work hours, workplace type, apply email, or organisation details on some vacancies.
  • Organisation enrichment depends on public Goodmoves organisation profiles. If a profile is missing or incomplete, organisation fields can stay empty.
  • Only new jobs is Actor-level monitoring state, not a Goodmoves account feature. Use Reset saved jobs when you want to rebuild that saved baseline.
  • Direct vacancy URLs normally produce one job item each when the page still exposes public job data.
  • Recoverable source issues are handled as skipped pages or empty results instead of placeholder dataset rows.

❓ FAQ

🔐 Can I scrape Goodmoves without a login?

Yes. This Actor works with public Goodmoves pages and does not ask for Goodmoves cookies, passwords, or API keys.

🔗 Can I use direct vacancy URLs?

Yes. Add direct Goodmoves vacancy URLs to Goodmoves URLs. Each valid direct vacancy URL normally saves one job item.

🔄 Can I monitor new Goodmoves jobs?

Yes. Enable Only new jobs and run the Actor on a schedule. The first run builds the baseline for this Actor, and later runs save jobs that were not delivered before.

💷 Why is a salary field empty?

Some Goodmoves postings do not show salary details. When salary text is visible, the Actor saves the raw text and tries to parse numeric min and max values.

📝 Changelog

  • 0.0: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré