Idealist.org Jobs, Volunteering & Nonprofit Scraper
Pricing
from $5.00 / 1,000 results
Idealist.org Jobs, Volunteering & Nonprofit Scraper
Scrape Idealist.org nonprofit-sector jobs, volunteer opportunities, and the organization directory, with built-in delta mode. No login required.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Artsiom Kunitsyn
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
idealist-scraper
Scrapes Idealist.org, the leading nonprofit/social-impact jobs and volunteering platform โ paid jobs, volunteer opportunities, and the organization/nonprofit directory, all from the site's own public search index. No login, no API key.
Contents
๐ Key features
- Three entity types, one actor.
jobscovers paid nonprofit-sector postings,volunteerOpportunitiescovers Idealist's (much larger) volunteering board, andorganizationscovers the nonprofit/org directory itself โ mission, focus areas, location, whether it's currently hiring or seeking volunteers. - No login, no private endpoint. Idealist's own search runs through a public, read-only search index; this actor queries that directly instead of scraping rendered HTML pages.
- Delta mode built in. Every run classifies each result as
new,changed,unchanged, ordelistedagainst a persisted baseline, so a scheduled re-run only bills for what actually changed.
๐ Output
One dataset item per job, volunteer opportunity, or organization (see
.actor/dataset_schema.json for the full field list) plus a
change_type field.
Example โ job:
{"source": "idealist","external_id": "0584eb9326e540349dab0c670ca1ce17","entity_type": "jobs","url": "https://www.idealist.org/en/job/...","name": "Program Manager","org_name": "Smith Community Health","org_type": "NONPROFIT","city": "Georgetown","state": "TX","country": "US","location_type": "ONSITE","remote_ok": false,"areas_of_focus": ["HEALTH_MEDICINE"],"job_type": ["FULL_TIME"],"has_salary": true,"salary_minimum": 48000.0,"salary_maximum": 55000.0,"salary_period": "YEAR","salary_currency": "USD","published_at": "2026-09-01T00:00:00+00:00","change_type": "new"}
Example โ organization:
{"source": "idealist","external_id": "org-4821","entity_type": "organizations","name": "Smith Community Health","org_type": "NONPROFIT","mission": "Providing free clinical care to underserved families.","city": "Georgetown","state": "TX","country": "US","areas_of_focus": ["HEALTH_MEDICINE"],"hiring": true,"seeking_volunteers": true,"change_type": "new"}
Known gaps:
- Not every job posting has salary data โ
has_salary: falsewhen Idealist itself doesn't have it, rather than guessing. latitude/longitudeare only present when the listing has a specific physical location; a fully remote posting leaves themnull.
โ๏ธ Input
See .actor/input_schema.json for the full schema. Key parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
entityType | String | jobs | jobs, volunteerOpportunities, or organizations. |
query | String | (empty) | Optional free-text keyword search (e.g. "nurse", "climate"). Empty returns the full scope. |
maxItems | Integer | 50 | Stop after pushing this many items. Clear it (null) for a full run. |
maxPages | Integer | (unlimited) | Cap on result pages walked, if you want a partial sample. |
mode | String | auto | auto/full/incremental โ see Incremental mode. |
impersonate | String | chrome | curl_cffi TLS-impersonation target. |
proxyConfiguration | Object | off | Apify Proxy config. Off by default โ clean without one in testing. |
๐งช Input examples
Quick preview โ default 50-item cap on job postings:
{"entityType": "jobs"}
Full volunteer-opportunity scan, filtered by keyword:
{"entityType": "volunteerOpportunities","query": "climate","maxItems": null}
Organization directory, scheduled tracking run:
{"entityType": "organizations","mode": "incremental","maxItems": null}
๐ Incremental (delta) mode
Every run classifies each result as new, changed, unchanged, or delisted, against a
baseline persisted per entityType.
mode: auto(default) โ first run pushes everything (full); later runs push onlynew/changed/delisted.- A
query-filtered or page-capped run doesn't cover the full scope, so it never updates the baseline or reports delistings โ same rule as every other actor in this collection.
๐ How to scrape Idealist.org
- Open the actor in Apify Console and go to the Input tab.
- Pick an entityType โ
jobs,volunteerOpportunities, ororganizations. maxItemsdefaults to 50 (a quick preview) โ clear it for a full run.- Click Start.
- Browse results in the Output tab, or download as JSON/CSV/Excel, or pull them via the API.
โ FAQ
Is it legal to scrape Idealist.org? It's legal to collect publicly available job, volunteering, and organization listing data. Results may contain limited personal/organizational contact information; scrape it only with a legitimate purpose under GDPR.
What's the difference between jobs and volunteerOpportunities? Idealist's own platform
distinguishes paid positions from volunteer roles โ this actor keeps that distinction rather than
merging them into one undifferentiated feed.
Does this need a login or API key? No โ Idealist's own search index is publicly reachable.
Search keywords
idealist scraper, idealist.org scraper, nonprofit jobs scraper, social impact jobs, volunteer opportunities scraper, nonprofit organization directory, nonprofit job board data, NGO jobs feed, social impact hiring data, nonprofit lead generation