# Idealist — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search and retrieve volunteer opportunities, jobs, internships, and nonprofit organizations from Idealist.org to find meaningful work or discover organizations aligned with your values. View detailed information about specific listings and organizations to make informed decisions about where to contribute your time and skills.

**Category:** Jobs | **Website:** [idealist.org/](https://idealist.org/) | **Docs:** [parse.bot/marketplace/f95f3567-d997-4ba4-991e-2e45f07e4822/idealist-org-api](https://parse.bot/marketplace/f95f3567-d997-4ba4-991e-2e45f07e4822/idealist-org-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-idealist-org-api-f95f3567/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_internship_detail

Fetch the full detail record for a single internship by its ID (objectID from search results). Returns comprehensive information including HTML description, organization, compensation/payment, benefits, hours, application details, and remote options.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | Yes | Internship ID (objectID from search_internships results) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-idealist-org-api-f95f3567/get_internship_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"<string>"}'
```

### get_job_detail

Fetch the full detail record for a single job listing by its ID (objectID from search results). Returns comprehensive information including HTML description, organization, salary, benefits, application info, professional level, and remote options.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | Yes | Job listing ID (objectID from search_jobs results) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-idealist-org-api-f95f3567/get_job_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"<string>"}'
```

### get_organization_detail

Fetch the full detail record for a single organization by its ID (objectID from search results). Returns comprehensive information including description, mission, address, areas of focus, active listing counts (jobs, internships, volops, events), and contact info.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | Yes | Organization ID (objectID from search_organizations results) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-idealist-org-api-f95f3567/get_organization_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"<string>"}'
```

### get_organization_listings

Get all active listings (volunteer opportunities, jobs, internships, events) for a specific organization. Extracts listing arrays from the organization detail endpoint and returns them in a flat structure with organization metadata.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `org_id` | string | Yes | Organization ID (objectID from search_organizations results) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-idealist-org-api-f95f3567/get_organization_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"org_id":"<string>"}'
```

### get_volunteer_opportunity_detail

Fetch the full detail record for a single volunteer opportunity by its ID (objectID from search results). Returns comprehensive information including HTML description, organization info, location, schedule, application requirements, and remote options.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | Yes | Volunteer opportunity ID (objectID from search_volunteer_opportunities results) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-idealist-org-api-f95f3567/get_volunteer_opportunity_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"<string>"}'
```

### search_internships

Full-text search over Idealist's internship index. Supports keyword queries, geographic filtering, and location type filtering. Returns paginated results (20 per page, up to 50 pages). Each hit includes name, orgName, city, locationType, payment status, and objectID.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `location` | string | No | Latitude,longitude for geo search (e.g. '40.7128,-74.0060') |
| `location_type` | string | No | Location type filter: ONSITE, REMOTE, HYBRID |
| `page` | integer | No | Page number (0-indexed) |
| `q` | string | No | Search query keyword |
| `radius` | integer | No | Search radius in meters from location |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-idealist-org-api-f95f3567/search_internships \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"location":"<string>","location_type":"<string>","page":"<integer>","q":"<string>","radius":"<integer>"}'
```

### search_jobs

Full-text search over Idealist's nonprofit job index. Supports keyword queries, geographic filtering, job type filtering, and location type filtering. Returns paginated results (20 per page, up to 50 pages). Each hit includes summary fields (name, orgName, city, jobType, salary, objectID).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `job_type` | string | No | Job type filter: FULL_TIME, PART_TIME, TEMPORARY, CONTRACT |
| `location` | string | No | Latitude,longitude for geo search (e.g. '40.7128,-74.0060') |
| `location_type` | string | No | Location type filter: ONSITE, REMOTE, HYBRID |
| `page` | integer | No | Page number (0-indexed) |
| `q` | string | No | Search query keyword |
| `radius` | integer | No | Search radius in meters from location |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-idealist-org-api-f95f3567/search_jobs \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"job_type":"<string>","location":"<string>","location_type":"<string>","page":"<integer>","q":"<string>","radius":"<integer>"}'
```

### search_organizations

Full-text search over Idealist's nonprofit organization index. Supports keyword queries, geographic filtering, and organization type filtering. Returns paginated results (20 per page, up to 50 pages). Each hit includes name, city, orgType, description, hiring status, and objectID.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `location` | string | No | Latitude,longitude for geo search (e.g. '40.7128,-74.0060') |
| `org_type` | string | No | Organization type filter: NONPROFIT, SOCIAL_ENTERPRISE, B_CORP |
| `page` | integer | No | Page number (0-indexed) |
| `q` | string | No | Search query keyword |
| `radius` | integer | No | Search radius in meters from location |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-idealist-org-api-f95f3567/search_organizations \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"location":"<string>","org_type":"<string>","page":"<integer>","q":"<string>","radius":"<integer>"}'
```

### search_volunteer_opportunities

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.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `cause_areas` | string | No | 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` | string | No | Latitude,longitude for geo search (e.g. '40.7128,-74.0060') |
| `location_type` | string | No | Location type filter: ONSITE, REMOTE, HYBRID |
| `page` | integer | No | Page number (0-indexed) |
| `q` | string | No | Search query keyword |
| `radius` | integer | No | Search radius in meters from location |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-idealist-org-api-f95f3567/search_volunteer_opportunities \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"cause_areas":"<string>","location":"<string>","location_type":"<string>","page":"<integer>","q":"<string>","radius":"<integer>"}'
```
