allforgood.org APIallforgood.org ↗
Search and retrieve volunteer opportunities from AllForGood's global network. Filter by location, skills, issue area, and presence type across 4 endpoints.
curl -X GET 'https://api.parse.bot/scraper/495cbd4b-b6fe-472c-b766-2d09624cf903/search_opportunities?query=teaching&hits_per_page=5' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for volunteer opportunities with various filters and keyword search. Returns paginated results with facet counts for filtering options.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-based). |
| query | string | Search keyword. |
| radius | integer | Search radius in meters (used with lat_lng). |
| skills | string | Filter by skills/interests (comma-separated): Administrative, Advocacy, Teaching, Marketing, Business Skills, Media, Web Development, Social Media, Leadership, Nonprofit Management, Research, Data Science, Health Professional, Design, Skilled Labor, Photography, Human Resources, Event Support, Arts, Physical Labor, Technology, Legal, Writing, Caregiving, Finance, Public Speaking, Driving, Mentoring, Fundraising, Spanish Speakers, Food Service, Community Outreach, Accounting, Coaching, Facilitation, Board Service. |
| lat_lng | string | Geographic coordinates as latitude,longitude for location-based search (e.g. 40.0379,-76.3025). |
| presence | string | Filter by presence type (comma-separated): Remote, In-Person. |
| issue_areas | string | Filter by issue areas (comma-separated): Education, Health & Wellness, Community Strengthening, Arts & Culture, Children & Youth, Animals, Seniors, Hunger, Disaster Response & Recovery, Environment, STEM, Veterans & Military Families, Disabilities, Technology, Civil Rights, Family Services, Women's Issues, Literacy, Poverty, Sports & Recreation, Immigrant & Refugee Services, Public Safety, Job Training & Employment, Homelessness, COVID-19, Mentoring, Adult Education. |
| hits_per_page | integer | Number of results per page. |
| commitment_types | string | Filter by commitment types (comma-separated): Ongoing, Event, AmeriCorps. |
{
"type": "object",
"fields": {
"page": "integer current page number",
"facets": "object with counts per filter category (presence, duration_kind, concentrated_skills, concentrated_features, concentrated_cause_areas)",
"total_hits": "integer total matching opportunities",
"total_pages": "integer total pages available",
"opportunities": "array of opportunity summaries with id, title, organization, location, presence, dates, url"
},
"sample": {
"data": {
"page": 0,
"facets": {
"presence": {
"Remote": 3255,
"In-Person": 6855
},
"duration_kind": {
"Event": 355,
"Ongoing": 9588
}
},
"total_hits": 10114,
"total_pages": 200,
"opportunities": [
{
"id": "68-4811b6f2-7f2d-d0d8-3404-bb5e57e55034",
"url": "https://engage.pointsoflight.org/opportunities/68-4811b6f2-7f2d-d0d8-3404-bb5e57e55034",
"dates": "Recruiting now",
"title": "TEACHING",
"location": "",
"presence": "In-Person",
"organization": "Tanzania Host Volunteer"
}
]
},
"status": "success"
}
}About the allforgood.org API
The AllForGood API gives programmatic access to volunteer opportunities indexed across the Points of Light Engage network, covering 4 endpoints for search, detail retrieval, organization lookup, and signup links. search_opportunities returns paginated results with facet counts across presence type, skills, and cause area, while get_opportunity_detail exposes full descriptions, coordinates, and direct signup URLs for individual listings.
Search and Filter Volunteer Opportunities
The search_opportunities endpoint accepts keyword queries alongside filters for issue_areas (e.g. Education, Health & Wellness, Arts & Culture), skills (e.g. Marketing, Advocacy, Teaching), and presence (Remote or In-Person). Geographic search is supported by passing lat_lng coordinates with an optional radius in meters. Responses include total_hits, total_pages, and a facets object that breaks down match counts by presence type, duration, skills, and cause area — useful for building dynamic filter UIs without additional roundtrips.
Opportunity Detail and Signup
get_opportunity_detail takes an opportunity id from search results and returns the full description, location, date_time or recruiting status, a signup_url pointing to the external application page, and a coordinates object with lat and lng floats when available. The organization object includes both a human-readable name and a machine-readable id that feeds directly into get_organization_opportunities.
Organization and Signup Endpoints
get_organization_opportunities accepts an org_id (the organization.id slug from detail results) and returns all opportunities currently listed by that organization, each with id, title, and url. For cases where only the signup link is needed, get_signup_link takes an opportunity id and returns the signup_url directly, returning an empty string when no external link is available.
- Build a volunteer matching app that filters opportunities by
skillsandissue_areasto surface relevant listings for a user's profile. - Display a map of nearby volunteer events using
lat_lngandradiusfromsearch_opportunitiescombined withcoordinatesfromget_opportunity_detail. - Aggregate all volunteer programs for a specific nonprofit using
get_organization_opportunitieswith the org'sidslug. - Power a remote-only volunteer board by filtering
search_opportunitieswithpresence=Remote. - Embed a direct 'Sign Up' button in a third-party platform by retrieving
signup_urlviaget_signup_link. - Build cause-specific volunteer digests by querying
search_opportunitieswith individualissue_areasvalues and reading thefacetscounts. - Track the breadth of a nonprofit's volunteer listings over time by periodically calling
get_organization_opportunitiesand comparing the returnedopportunitiesarrays.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does AllForGood have an official developer API?+
What does the `facets` object in `search_opportunities` responses actually contain?+
facets object returns counts per filter category, including presence type (Remote, In-Person), duration kind, concentrated skills, concentrated features, and cause areas. These counts reflect how many matching opportunities exist for each filter value within the current query, so you can render accurate filter checkboxes without separate count queries.Does the API return volunteer hour logs, user profiles, or past participation records?+
Are coordinates always present in `get_opportunity_detail` responses?+
coordinates field returns an object with lat and lng floats when the opportunity has a mapped location, but returns an empty object when location data is unavailable — which is common for fully remote opportunities. Always check for a non-empty coordinates object before attempting geographic operations.Can I retrieve opportunities for multiple organizations in a single call?+
get_organization_opportunities accepts one org_id per request and returns all opportunities for that single organization. Bulk multi-org retrieval in one call is not currently supported. You can fork this API on Parse and revise it to add a batched endpoint that accepts multiple org_id values and merges results.