GoFundMe Campaigns Scraper avatar

GoFundMe Campaigns Scraper

Pricing

Pay per event

Go to Apify Store
GoFundMe Campaigns Scraper

GoFundMe Campaigns Scraper

🔎 Scrape public GoFundMe fundraisers by keyword or URL. Extract campaign titles, organizer, story, amounts, goals, donations, and images.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Extract public fundraiser data from GoFundMe search results and campaign pages. Use keywords, GoFundMe search URLs, or direct fundraiser URLs to collect campaign titles, organizers, locations, amounts raised, goals, donation counts, stories, images, and status fields.

The actor is built for public data collection. It does not log in, donate, message organizers, or access private donor information.

What does GoFundMe Campaigns Scraper do?

GoFundMe Campaigns Scraper turns public GoFundMe fundraiser pages into structured dataset rows.

It can:

  • 🔎 Search GoFundMe by keyword, person, location, cause, or topic
  • 🔗 Process direct https://www.gofundme.com/f/... campaign URLs
  • 📄 Open campaign pages for richer details
  • 💰 Extract raised amount, goal, currency, and donation count
  • 🧑 Capture organizer and visible beneficiary or charity information
  • 🏙️ Capture public location fields when GoFundMe exposes them
  • 🖼️ Save fundraiser image URLs
  • 📊 Export clean JSON, CSV, Excel, XML, or API results from Apify datasets

Who is it for?

This scraper is useful for teams that monitor public fundraising activity at scale.

  • 📰 Journalists tracking crisis response, disaster relief, or local stories
  • 🧑‍💼 Nonprofit analysts monitoring fundraising markets and campaign language
  • 🏥 Healthcare researchers studying public medical fundraising patterns
  • 🏛️ Public policy teams looking at emergency relief needs
  • 📈 Market researchers comparing cause categories and donation momentum
  • 🧰 Data teams building dashboards from public campaign metadata

Why use this scraper?

GoFundMe pages are useful but hard to analyze manually. Search pages are designed for browsing, not for spreadsheet work. This actor converts public fundraiser pages into structured rows so you can sort, filter, deduplicate, and monitor campaigns over time.

Public data and limitations

The actor only extracts data visible on public GoFundMe pages. Some fields are optional because GoFundMe may hide them, omit them, or expose different fields by country, category, or campaign type.

It does not collect private donor emails, private payment details, private organizer data, or authenticated account-only information.

How much does it cost to scrape GoFundMe campaigns?

Default pricing is pay-per-result. Formula-derived BRONZE pricing is about $0.1165 per 1,000 saved campaign rows, plus a small run-start event. Actual billing depends on the live Apify pricing configuration shown on the actor page.

For small tests, keep maxItems low. For monitoring workflows, raise maxItems once you have confirmed the query returns the type of campaigns you want.

Input options

FieldTypeDescription
searchQueriesarrayKeywords, causes, people, or locations to search on GoFundMe
startUrlsarrayPublic GoFundMe search URLs or direct campaign URLs
maxItemsintegerMaximum campaign records to save across all inputs
includeDetailsbooleanVisit campaign pages for full story, organizer, image, date, and status fields

Example input

{
"searchQueries": ["medical bills", "flood relief"],
"startUrls": [
{ "url": "https://www.gofundme.com/f/flood-relief-fund-2025" }
],
"maxItems": 25,
"includeDetails": true
}

Output data

Each dataset row represents one public GoFundMe fundraiser campaign.

FieldDescription
campaignUrlCanonical public fundraiser URL
fundraiserIdGoFundMe fundraiser ID when visible
slugURL slug
titleCampaign title
organizerNamePublic organizer name
organizerIdPublic organizer ID when visible
beneficiaryNameVisible beneficiary name, if present
charityNameVisible charity name, if present
categoryIdGoFundMe category ID when exposed
city, state, countryCodePublic location fields
amountRaisedAmount raised as a number
goalAmountGoal as a number
currencyCurrency code such as USD
donationCountNumber of donations shown by GoFundMe
storyPlain-text campaign story
imageUrlsPublic image URLs
statusCampaign status when visible
createdAt, publishedAt, updatedAtPublic date fields when visible
sourceQuery, sourceUrlInput source tracking

Example output

{
"campaignUrl": "https://www.gofundme.com/f/flood-relief-fund-2025",
"fundraiserId": "92508227",
"title": "2025 Flood Relief Fund",
"organizerName": "GoFundMe Org",
"amountRaised": 678255,
"goalAmount": 1000000,
"currency": "USD",
"donationCount": 3173,
"city": "Los Angeles",
"state": "CA",
"countryCode": "US",
"status": "ACTIVE"
}

How to scrape GoFundMe by keyword

  1. Open the actor on Apify.
  2. Add one or more phrases to searchQueries.
  3. Set maxItems to the number of fundraiser rows you need.
  4. Keep includeDetails enabled if you need stories, images, organizers, or dates.
  5. Click Start.
  6. Download the dataset as CSV, JSON, Excel, or connect through the Apify API.

How to scrape direct fundraiser URLs

Paste public campaign URLs into startUrls, for example:

{
"startUrls": [
{ "url": "https://www.gofundme.com/f/flood-relief-fund-2025" }
],
"maxItems": 1,
"includeDetails": true
}

This is best when you already have a list of fundraiser pages and want consistent campaign details.

Tips for better results

  • Use specific phrases such as wildfire relief california instead of only help.
  • Run separate queries for separate research topics so sourceQuery stays useful.
  • Use direct URLs when you need exact known campaigns.
  • Disable includeDetails only when you need faster search metadata and do not need the full story.
  • Deduplicate by campaignUrl or fundraiserId in your downstream database.

Integrations

You can connect the dataset to:

  • Google Sheets or Excel reporting workflows
  • BI dashboards for donation and category trends
  • Data warehouses for longitudinal monitoring
  • Newsroom research notebooks
  • Nonprofit CRM enrichment workflows using only public campaign context
  • Alerting pipelines that watch for new campaigns matching a cause or location

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/gofundme-campaigns-scraper').call({
searchQueries: ['medical bills'],
maxItems: 25,
includeDetails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('automation-lab/gofundme-campaigns-scraper').call(run_input={
'searchQueries': ['flood relief'],
'maxItems': 25,
'includeDetails': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

API usage with cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~gofundme-campaigns-scraper/runs?token=MY-APIFY-TOKEN' \
-H 'Content-Type: application/json' \
-d '{"searchQueries":["medical bills"],"maxItems":25,"includeDetails":true}'

MCP usage

Use this actor from MCP-compatible tools through Apify MCP:

https://mcp.apify.com/?tools=automation-lab/gofundme-campaigns-scraper

Claude Code setup:

$claude mcp add apify-gofundme https://mcp.apify.com/?tools=automation-lab/gofundme-campaigns-scraper

Claude Desktop JSON config:

{
"mcpServers": {
"apify-gofundme": {
"url": "https://mcp.apify.com/?tools=automation-lab/gofundme-campaigns-scraper"
}
}
}

Example prompts:

  • "Run the GoFundMe Campaigns Scraper for flood relief campaigns and summarize the top campaigns by amount raised."
  • "Scrape these GoFundMe URLs and return a CSV with organizer, goal, raised amount, and story."
  • "Find public medical fundraiser campaigns matching this query and group them by state."

Data quality notes

GoFundMe can change field availability by page, country, campaign state, or experiment. The actor keeps optional fields nullable rather than inventing values. Numeric amount fields are returned as numbers when GoFundMe exposes clean numeric values.

Legality and responsible use

This actor is designed for publicly available GoFundMe pages. You are responsible for using the data legally and ethically. Respect privacy, platform terms, copyright, and applicable data protection rules. Avoid contacting organizers in ways that could be spammy, harmful, or misleading.

Troubleshooting

If a query returns too few results, try broader terms, remove punctuation, or use a GoFundMe search URL from your browser.

If story or organizer fields are empty, keep includeDetails enabled and verify that the public campaign page shows those fields.

If a campaign URL is skipped, confirm it follows the public /f/<slug> format and is not a private, deleted, or redirected page.

FAQ

Can it scrape donor names?

No. This actor focuses on campaign-level public fundraiser metadata, not private donor details.

Does it need proxies?

The first version uses normal HTTP requests and does not require a residential proxy.

Can I monitor the same query every day?

Yes. Schedule the actor on Apify and deduplicate by campaignUrl or fundraiserId in your destination.

Can I scrape a whole category?

Use category-related keywords or GoFundMe search URLs. Category labels may not always be exposed as human-readable names, so the actor currently returns categoryId when visible.

Other Automation Lab actors that can complement this workflow:

Changelog

  • Initial version: search public GoFundMe campaigns and scrape campaign details.

Support

If you need a field that appears publicly on GoFundMe but is missing from the dataset, open an issue on Apify with a sample public URL and expected field name.