# Projects Propublica — 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 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.

**Category:** Government & Public Data | **Website:** [projects.propublica.org/nonprofits/](https://projects.propublica.org/nonprofits/) | **Docs:** [parse.bot/marketplace/d2916a41-a6c5-4a5b-8785-acbc9375f4f8/projects-propublica-org-api](https://parse.bot/marketplace/d2916a41-a6c5-4a5b-8785-acbc9375f4f8/projects-propublica-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-projects-propublica-org-api-d2916a41/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_organization

Point-lookup of a single nonprofit by EIN. Returns full address, classification, financial summary, and all available tax filing data with revenue, expenses, assets, liabilities, compensation, grants received, and more. Dashes in the EIN are stripped automatically.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ein` | string | Yes | Employer Identification Number (e.g. '530196605' or '53-0196605'). Dashes are stripped automatically. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-projects-propublica-org-api-d2916a41/get_organization \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ein":"<string>"}'
```

### search_and_detail

Search for organizations and automatically fetch full details and filing data for each result. Combines search + detail lookups in one call. Best for getting comprehensive data on a small set of matching organizations. Keep limit small to avoid timeouts.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `c_code` | string | No | IRS subsection code filter (e.g. '3' for 501(c)(3)). |
| `limit` | integer | No | Number of organizations to return with full details (keep small to avoid timeouts). |
| `ntee` | string | No | NTEE major category numeric ID filter. |
| `page` | integer | No | Page number (0-indexed). |
| `query` | string | No | Search query — organization name, keyword, or EIN. |
| `state` | string | No | Two-letter US state code filter (e.g. 'NY', 'CA'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-projects-propublica-org-api-d2916a41/search_and_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"c_code":"<string>","limit":"<integer>","ntee":"<string>","page":"<integer>","query":"<string>","state":"<string>"}'
```

### search_organizations

Full-text search over US nonprofit organizations. Filters by state, NTEE major category, and IRS subsection code. Returns 25 results per upstream page; auto-paginates up to the requested limit. Each result is a lightweight summary (EIN, name, location, NTEE code, subsection); use get_organization for full financials and filings.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `c_code` | string | No | IRS subsection code filter (e.g. '3' for 501(c)(3), '4' for 501(c)(4)). |
| `limit` | integer | No | Maximum number of results to return (auto-paginates if needed). |
| `ntee` | string | No | NTEE major category numeric ID filter. |
| `page` | integer | No | Page number (0-indexed). |
| `query` | string | No | Search query — organization name, keyword, or EIN. |
| `state` | string | No | Two-letter US state code filter (e.g. 'NY', 'CA', 'TX'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-projects-propublica-org-api-d2916a41/search_organizations \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"c_code":"<string>","limit":"<integer>","ntee":"<string>","page":"<integer>","query":"<string>","state":"<string>"}'
```
