change.org Petition Search Scraper
Pricing
from $1.99 / 1,000 results
change.org Petition Search Scraper
Search change.org petitions by keyword and extract structured petition data (title, signatures, status, tags, creator, location) via change.org's Typesense search API.
Pricing
from $1.99 / 1,000 results
Rating
0.0
(0)
Developer
DataCach
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Search and extract change.org petitions at scale — by keyword, in 12 languages — and get clean, structured data you can use right away. The change.org Petition Scraper turns any search into a downloadable dataset of petitions, complete with signature counts, status, categories, decision-maker targets, creators, and locations. No browser automation, no manual copy-paste, and no code required.
Try it in seconds: type a search term like climate change, click Start, and export the results as JSON, CSV, or Excel.
What is the change.org Petition Search Scraper?
The change.org Petition Search Scraper is a tool that searches change.org petitions and returns structured results for every match. You give it one or more keywords; it queries change.org's own search index and collects each petition's headline, full text, signature count, status, tags, targets, creator, and origin location.
It runs on the Apify platform, so it's a scraper boosted with API access, scheduling, integrations (Make, Zapier, n8n, Google Sheets), proxy rotation, and run monitoring out of the box.
What can the change.org Petition Scraper do?
- 🔍 Search by keyword — pass any number of search terms, or use
*to pull an entire language collection. - 🌍 12 languages — search English, Spanish, French, Portuguese, German, Italian, Russian, Turkish, Japanese, Indonesian, Thai, or Hindi corpora.
- 🎯 Filter precisely — narrow by minimum signatures, country, status (published or victory), and category tags.
- ↕️ Sort results — by relevance, most signatures, newest, or recently updated.
- ⚡ Fast and reliable — calls change.org's search API directly (no slow headless browser) and fetches pages concurrently.
- 📦 Structured output — clean JSON records, downloadable as JSON, CSV, Excel, or HTML, or via the Apify API.
- 🧰 Set-and-forget limits — cap results with
maxItems; pagination is handled automatically.
What data does the change.org scraper extract?
Each petition in the dataset includes the following fields:
| Field | Description |
|---|---|
title | Petition headline / the "ask" |
url | Canonical petition URL on change.org |
signatures | Current total signature count |
status | published (active) or victory (won) |
victory | Whether the petition is flagged as won |
geoReach | Scope of the petition: local, national, or global |
tags | Category / topic tags (e.g. "Climate Change", "Animals") |
targets | Decision-makers the petition addresses |
description | Full petition body text |
createdAt / updatedAt | Creation and last-update timestamps (ISO 8601) |
createdLocale | Locale the petition was created in (e.g. en-US) |
imageUrl | Cover image URL |
location | Origin country, state, city, and coordinates |
creator | Petition starter (first name, last name, avatar) |
id | change.org petition ID |
Why scrape change.org petitions?
Petition data is a rich, real-time signal of what people care about. With the change.org Petition Scraper you can:
- 📊 Track advocacy and social trends — monitor which causes are gaining momentum by signature velocity and volume.
- 📰 Power journalism and research — gather sourced datasets on public sentiment for stories, papers, and reports.
- 🤝 Support nonprofits and NGOs — discover active campaigns, allies, and decision-maker targets in your issue area.
- 🏷️ Monitor a brand, industry, or policy — surface petitions that mention your organization or topic, in any of 12 languages.
- 🌱 Analyze causes by region — slice petitions by country, category, and traction to map where movements are strongest.
How to scrape change.org petitions
- Sign in to Apify — create a free account (no credit card needed to start).
- Open the Actor and go to the Input tab.
- Enter your search terms — for example,
climate changeandsave the bees. - (Optional) Refine your search — pick a language, sort order, and filters (minimum signatures, country, status, tags).
- Set a limit — use Maximum items to control how many petitions you collect.
- Click Start and watch the run collect petitions page by page.
- Export your data — download the dataset as JSON, CSV, Excel, or HTML, or fetch it through the Apify API.
That's it — anyone can run this Actor with point-and-click input; no coding or selectors required.
Input
Configure the Actor from the Input tab in Apify Console, or pass JSON via the API. The main fields are:
- Search terms (
searchTerms, required) — keywords to search for; one search runs per term. - Language (
language) — which language collection to search (default: English). - Sort by (
sortBy) — relevance, most signatures, newest, or recently updated. - Minimum signatures (
minSignatures) — only return petitions with at least this many signatures. - Country (
country) — restrict to a petition's origin country (ISO-3166 alpha-2, e.g.US). - Status (
status) —publishedorvictory. - Tags (
tags) — restrict to petitions carrying specific category tags. - Maximum items (
maxItems) — stop after collecting this many petitions in total.
Example input
{"searchTerms": ["climate change", "save the bees"],"language": "en","sortBy": "most_signatures","minSignatures": 1000,"country": "US","status": "published","maxItems": 200}
Output
Results are stored in a dataset, where every item is one petition. You can download the dataset in JSON, CSV, Excel, or HTML, or pull it programmatically via the Apify API.
Example output
{"id": "29099546","url": "https://www.change.org/p/joseph-r-biden-biden-administration-and-conocophillips-say-no-to-the-willow-project","title": "Biden Administration and ConocoPhillips: SAY NO TO THE WILLOW PROJECT!","description": "The Willow Project is a proposed development project in Northern Alaska by ConocoPhillips…","signatures": 2224061,"status": "published","victory": false,"geoReach": null,"tags": [],"targets": "Joseph R. Biden, ConocoPhillips","createdAt": "2021-05-27T17:58:34Z","updatedAt": "2026-06-07T03:12:34Z","createdLocale": "en-US","imageUrl": "https://assets.change.org/photos/5/lp/ng/gRLpNGofUOsPrIb-fullsize.jpg","location": { "country": "US", "state": null, "city": null, "lat": null, "lng": null },"creator": { "firstName": "Sonny", "lastName": "Ahk", "avatarUrl": null }}
Integrations and the Apify platform
Because this Actor runs on Apify, you can:
- Schedule runs to keep a petition dataset fresh automatically.
- Connect it to Make, Zapier, n8n, Slack, Google Sheets, and more via Apify Integrations.
- Call it from your code with the Apify API or the Python / JavaScript SDKs.
- Monitor runs, logs, and storage from the Console.
Related scrapers
Looking for more campaign and crowdfunding data? Browse the Apify Store for related scrapers.
FAQ
Is it legal to scrape change.org?
This Actor collects publicly available petition information that change.org shows to any visitor. Scraping public data is generally permitted, but you are responsible for how you use the data. Review change.org's Terms of Service, respect copyright, and comply with applicable laws such as GDPR — especially before storing or processing any personal data. Use the data ethically and do not use it for spam or harassment.
Do I need to know how to code?
No. Fill in the search terms in the Input tab and click Start. Developers can also run the Actor entirely through the Apify API.
Does change.org have an official API?
change.org does not offer a public, general-purpose petition search API. This Actor gives you structured, query-able access to petition search results and exports them in standard formats.
Which languages can I search?
Twelve: English, Spanish, French, Portuguese, German, Italian, Russian, Turkish, Japanese, Indonesian, Thai, and Hindi. change.org segments search by language rather than country, so pick the Language that matches the petitions you want.
Can I filter petitions by country, category, or signature count?
Yes. Use Country (ISO-2 code), Tags (category facets), Status, and Minimum signatures to narrow results, and Sort by to order them.
How many petitions can I collect?
Use Maximum items to set the cap; set it to 0 for no limit. The Actor paginates automatically and fetches several pages at once, so large result sets are collected efficiently.
In what formats can I export the data?
JSON, CSV, Excel, or HTML from the Console, or JSON via the Apify API and SDKs.
Why are some fields empty?
Petitions don't all carry the same metadata. Optional fields like location.city, creator.avatarUrl, targets, or tags are only present when change.org has that information, so they may be null or empty.
Disclaimer
This Actor is intended for lawful, ethical collection of publicly available information. It does not bypass logins or access private or restricted content. You are responsible for ensuring your use complies with change.org's Terms of Service and all applicable data-protection laws. Do not collect or process personal data without a valid legal basis.
Support and feedback
Found a bug or want a new feature? Open an issue on the Actor's Issues tab — feedback is welcome and helps improve the scraper. Need a custom data solution? Reach out through Apify.