Discover/Idealist API
live

Idealist APIidealist.org

Search and retrieve nonprofit jobs, internships, volunteer opportunities, and organizations from Idealist.org. 9 endpoints with filters for location, job type, and cause area.

Endpoint health
verified 22h ago
search_organizations
get_volunteer_opportunity_detail
search_jobs
get_organization_detail
get_organization_listings
9/9 passing latest checkself-healing
Endpoints
9
Updated
16d ago

What is the Idealist API?

The Idealist.org API covers 9 endpoints for searching and retrieving nonprofit jobs, volunteer opportunities, internships, and organizations from Idealist.org. search_jobs returns paginated job listings with fields like salaryMinimum, salaryMaximum, jobType, and locationType, while get_organization_listings pulls all active listings — jobs, internships, events, and volunteer opportunities — for a single organization in one call.

Try it
Search query keyword
Page number (0-indexed)
Search radius in meters from location
Latitude,longitude for geo search (e.g. '40.7128,-74.0060')
Comma-separated cause areas to filter by. Accepted values include: EDUCATION, HEALTH_MEDICINE, ENVIRONMENT, CHILDREN_YOUTH, ARTS_MUSIC, COMMUNITY_DEVELOPMENT, ANIMALS, HOUSING_HOMELESSNESS, HUMAN_RIGHTS_CIVIL_LIBERTIES, CLIMATE_CHANGE, VOLUNTEERING, SCIENCE_TECHNOLOGY
Location type filter: ONSITE, REMOTE, HYBRID
api.parse.bot/scraper/a6b511c9-8fb7-4db9-98f1-0e4aca5926e4/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/a6b511c9-8fb7-4db9-98f1-0e4aca5926e4/search_volunteer_opportunities?q=education&page=0&radius=500000&location=40.7128%2C-74.0060&cause_areas=EDUCATION&location_type=ONSITE' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace idealist-org-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.Idealist_org_API import Idealist, LocationType, JobType, OrgType, ListingNotFound

idealist = Idealist()

# Search for remote volunteer opportunities about education
for volop in idealist.volunteer_opportunities.search(q="education", location_type=LocationType.REMOTE, limit=5):
    print(volop.name, volop.org_name, volop.location_type)

# Search for full-time nonprofit jobs near NYC
for job in idealist.jobs.search(q="program manager", job_type=JobType.FULL_TIME, limit=3):
    print(job.name, job.salary_minimum, job.city)

# Search organizations and drill into details + listings
org_summary = idealist.organization_summaries.search(q="education", org_type=OrgType.NONPROFIT, limit=1).first()
if org_summary:
    org = org_summary.details()
    print(org.name, org.job_count, org.volop_count, org.hiring)
    listing = org.listings()
    print(listing.organization_name, len(listing.jobs))

# Search for internships
for internship in idealist.internships.search(q="marketing", location_type=LocationType.ONSITE, limit=3):
    print(internship.name, internship.org_name, internship.payment)

# Typed error handling
try:
    org_summary_bad = idealist.organization_summaries.search(q="nonexistent_xyz_org_12345", org_type=OrgType.NONPROFIT, limit=1).first()
    if org_summary_bad:
        org_summary_bad.details()
except ListingNotFound as exc:
    print(f"Listing not found: {exc}")

print("exercised: volunteer_opportunities.search / jobs.search / organization_summaries.search / .details / .listings / internships.search")
All endpoints · 9 totalmissing one? ·

Full-text search over Idealist's volunteer opportunity index. Supports keyword queries, geographic filtering via lat/lng + radius, cause area filtering, and location type filtering. Returns paginated results (20 per page, up to 50 pages). Each hit contains summary fields (name, orgName, city, locationType, objectID) suitable for display or drill-down via get_volunteer_opportunity_detail.

Input
ParamTypeDescription
qstringSearch query keyword
pageintegerPage number (0-indexed)
radiusintegerSearch radius in meters from location
locationstringLatitude,longitude for geo search (e.g. '40.7128,-74.0060')
cause_areasstringComma-separated cause areas to filter by. Accepted values include: EDUCATION, HEALTH_MEDICINE, ENVIRONMENT, CHILDREN_YOUTH, ARTS_MUSIC, COMMUNITY_DEVELOPMENT, ANIMALS, HOUSING_HOMELESSNESS, HUMAN_RIGHTS_CIVIL_LIBERTIES, CLIMATE_CHANGE, VOLUNTEERING, SCIENCE_TECHNOLOGY
location_typestringLocation type filter: ONSITE, REMOTE, HYBRID
Response
{
  "type": "object",
  "fields": {
    "hits": "array of volunteer opportunity objects with name, orgName, city, locationType, objectID, description, areasOfFocus, url",
    "page": "integer, current page number",
    "nbHits": "integer, total number of matching results",
    "nbPages": "integer, total number of pages available",
    "hitsPerPage": "integer, number of results per page"
  },
  "sample": {
    "data": {
      "hits": [
        {
          "city": null,
          "name": "Education Coordinator Internship",
          "type": "VOLOP",
          "orgName": "YIDDISH ARTS AND ACADEMICS OF N AMERICA INC",
          "objectID": "6231d1c3d62a48e5ab486a3196afb0a2",
          "areasOfFocus": [
            "ARTS_MUSIC",
            "EDUCATION",
            "SCIENCE_TECHNOLOGY"
          ],
          "locationType": "REMOTE"
        }
      ],
      "page": 0,
      "nbHits": 41158,
      "nbPages": 50,
      "hitsPerPage": 20
    },
    "status": "success"
  }
}

About the Idealist API

Search Endpoints

Four search endpoints — search_jobs, search_volunteer_opportunities, search_internships, and search_organizations — share a consistent pagination model. Each returns hits, page, nbHits, and nbPages. All support a keyword query via q and geographic filtering via location (a latitude,longitude string) combined with a radius in meters. search_jobs adds a job_type filter accepting FULL_TIME, PART_TIME, TEMPORARY, or CONTRACT. search_volunteer_opportunities accepts a cause_areas parameter for filtering by comma-separated values like EDUCATION or HEALTH_MEDICINE. search_organizations accepts an org_type filter covering NONPROFIT, SOCIAL_ENTERPRISE, and B_CORP.

Detail Endpoints

get_job_detail, get_volunteer_opportunity_detail, get_internship_detail, and get_organization_detail each accept an id (the objectID from the corresponding search results) and return a full data object. Job details include listingName, type, org, description, salary fields, and application info. Internship details include payment and benefits fields alongside standard description and application data. Note that get_job_detail may return listings that are no longer published if the ID was previously valid — callers should check listing status in the response before surfacing results.

Organization Listings

get_organization_listings is the only endpoint that aggregates across listing types. Pass an org_id and receive separate arrays for jobs, internships, volunteer_opportunities, and events, alongside organization_id and organization_name. This is useful for building an organization profile page without making four separate search queries filtered by org. get_organization_detail separately returns areasOfFocus, mission, address, and listing counts under jobs, volops, and interns.

Pagination and Identifiers

All search endpoints use 0-indexed pagination via the page parameter. Object IDs returned in objectID from any search result are the same IDs accepted by the corresponding detail endpoint. IDs are not interchangeable across types — a volunteer opportunity objectID cannot be passed to get_job_detail.

Reliability & maintenanceVerified

The Idealist API is a managed, monitored endpoint for idealist.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when idealist.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official idealist.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
22h ago
Latest check
9/9 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate nonprofit job boards filtered by location and job type using search_jobs with location, radius, and job_type parameters
  • Build cause-specific volunteer opportunity finders using cause_areas filters like EDUCATION or HEALTH_MEDICINE
  • Pull all active listings for a given nonprofit in one call with get_organization_listings to populate organization profile pages
  • Surface remote internship listings for social impact platforms using search_internships with location_type=REMOTE
  • Enrich nonprofit directory data by combining search_organizations results with get_organization_detail for mission statements and areas of focus
  • Build salary transparency tools for the nonprofit sector using salaryMinimum and salaryMaximum fields from search_jobs results
  • Filter volunteer opportunities by proximity for local community apps using location and radius geo parameters
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Idealist.org have an official public developer API?+
Idealist.org does not publish a documented public developer API for external access to its job and volunteer data.
What does `get_organization_listings` return compared to `get_organization_detail`?+
get_organization_listings returns arrays of active listings — jobs, internships, volunteer_opportunities, and events — associated with a given org_id. get_organization_detail returns the organization's profile fields: name, description, mission, address, areasOfFocus, and aggregate listing counts (jobs, volops, interns). The two endpoints complement each other; neither is a superset of the other.
Can `get_job_detail` return listings that are no longer active?+
Yes. The endpoint may return data for unpublished or expired listings if the ID was previously valid. The response does not include a guaranteed active/published flag in the documented fields, so callers building live-listing features should treat detail responses with care and handle potentially stale records.
Does the API cover Idealist event listings as standalone searchable entities?+
Not currently. Events appear only as part of the events array returned by get_organization_listings — there is no dedicated search_events endpoint or get_event_detail endpoint. You can fork this API on Parse and revise it to add those endpoints.
Can search results be filtered by cause area for jobs and internships, not just volunteer opportunities?+
Currently only search_volunteer_opportunities exposes a cause_areas filter. search_jobs and search_internships support keyword, location, and type filters but not cause area filtering. You can fork this API on Parse and revise it to add cause area parameters to the job and internship search endpoints if that filtering is available from the source.
Page content last updated . Spec covers 9 endpoints from idealist.org.
Related APIs in JobsSee all →
allforgood.org API
Search and discover volunteer opportunities worldwide by cause, location, and required skills, then access detailed information about specific opportunities and organizations. Sign up directly for causes that match your interests through integrated signup links.
projects.propublica.org API
Search and retrieve comprehensive information on over 1.9 million US nonprofits, including their financial data, tax filings, grants, executive compensation, and organizational classifications. Access detailed nonprofit profiles by name or EIN to discover funding sources, operational metrics, and key leadership details.
indeed.com API
Search and discover job opportunities on Indeed while accessing detailed job descriptions, company profiles, and salary insights all in one place. Get comprehensive career information including specific compensation data to help you find and evaluate the right job opportunity for you.
devex.com API
Search and explore global development opportunities including tenders, grants, job postings, news, organizations, and events all in one place. Find funding details, discover career opportunities, and stay updated on international development initiatives through a single integrated platform.
idealista.it API
Search and retrieve property listings from Idealista.it, Italy's leading real estate platform. Access listings for sale, rent, and new construction across Italian cities, with full property details and photos.
grantwatch.com API
Search and browse thousands of grants from GrantWatch.com to find funding opportunities tailored to individuals, nonprofits, small businesses, and foundations. Get detailed grant information, filter by category, and discover newly posted grants to match your eligibility and funding needs.
idealista.com API
Access data from idealista.com.
idealista.pt API
Search and filter property listings across Portugal by location, price, and size, then access detailed information about each property including its characteristics and pricing history. Monitor how property prices change over time to help you make informed decisions about buying or selling real estate.