Funders Index

Reference

Every endpoint, with the parameters it takes. Each one is also an MCP tool of the same name. The OpenAPI description is machine readable.

REST

Send Authorization: Bearer <your key> with every request. Responses are JSON.

MCP tools

Connect an MCP client to https://mcp.fundersindex.com/mcp. Every endpoint below is also a tool of the same name, with the same parameters.

Claude Code

Add the server with your key, then ask your questions in plain language.

claude mcp add --transport http funders-index https://mcp.fundersindex.com/mcp --header "Authorization: Bearer YOUR_KEY"

Endpoints

list_towns

List towns.

GET /api/v1/towns

Parameters

None.

Returns

A page of Town objects in items, with next_cursor when there are more. Pass it back as cursor to continue.

get_town

Get a town.

GET /api/v1/towns/:slug

Parameters

slugstring, in the pathRequired

The town's slug, from list_towns.

Returns

One TownDetail object.

Notes

Totals count all money into the town.

Anchor institutions are large organizations assigned to the town, so their amounts can exceed a single town total.

list_organizations

List organizations.

GET /api/v1/organizations

Parameters

townstring

A town slug from list_towns. Limits results to that town.

causestring

A cause slug from list_causes. Limits results to that cause.

qstring

Text to match against names.

limitinteger

Rows per page. REST allows up to 500; MCP returns at most 50 and clamps a larger value to 50.

cursorstring

The next_cursor from the previous page, to continue where it left off.

Returns

A page of Organization objects in items, with next_cursor when there are more. Pass it back as cursor to continue.

get_organization

Get an organization.

GET /api/v1/organizations/:key

Parameters

keystring, in the pathRequired

The organization's or funder's id, as returned by search and list calls.

Returns

One OrganizationDetail object.

Notes

total_received is verified money: IRS filings and government award records, in total_years only.

reported_received is money seen only in donor lists, news or organization-supplied figures, never inside a total.

reported_by_year is what the organization reported receiving on its own return, every donor, with the month its fiscal year ends.

total_received covers total_years only, while by_year lists every year, so a later year can exceed the total.

Money between affiliates is in no figure and is listed in related_party_by_year.

Each by_year point's by_source splits its amount by source (filed, government, published_list, org_supplied, news).

by_year funders counts organizations and individual_givers counts people and households, never named.

Funders counts distinct funders, organizations and individuals, in total_years (the same number list and search rows show).

Recent covers the latest single year AFTER total_years only, and is null when nothing is recorded after it.

Its dollars leave out news-reported amounts, so it can be below that year in by_year.

list_organization_funders

List an organization's funders.

GET /api/v1/organizations/:key/funders

Parameters

keystring, in the pathRequired

The organization's or funder's id, as returned by search and list calls.

limitinteger

Rows per page. REST allows up to 500; MCP returns at most 50 and clamps a larger value to 50.

cursorstring

The next_cursor from the previous page, to continue where it left off.

Returns

A page of RecipientFunder objects in items, with next_cursor when there are more. Pass it back as cursor to continue.

Notes

amount_to_recipient is what THIS funder gave this organization.

Recipients is the funder's overall count.

list_funders

List funders.

GET /api/v1/funders

Parameters

townstring

A town slug from list_towns. Limits results to that town.

causestring

A cause slug from list_causes. Limits results to that cause.

funder_typestring

A funder type, as it appears on funder records (for example a private foundation or a government agency).

qstring

Text to match against names.

limitinteger

Rows per page. REST allows up to 500; MCP returns at most 50 and clamps a larger value to 50.

cursorstring

The next_cursor from the previous page, to continue where it left off.

Returns

A page of Funder objects in items, with next_cursor when there are more. Pass it back as cursor to continue.

Notes

With a town filter, totals include anchor institutions that the town headline from get_town leaves out, so a funder can exceed the town total.

With a cause filter, totals are the funder's giving to that cause only, in the town when both are given.

get_funder

Get a funder.

GET /api/v1/funders/:key

Parameters

keystring, in the pathRequired

The organization's or funder's id, as returned by search and list calls.

Returns

One FunderDetail object.

Notes

total_given is its verified giving INTO the region, reported_given the rest.

reported_by_year is the grants it reported paying on its own return, everywhere.

total_given covers total_years only.

by_year lists every year.

list_funder_recipients

List a funder's recipients.

GET /api/v1/funders/:key/recipients

Parameters

keystring, in the pathRequired

The organization's or funder's id, as returned by search and list calls.

limitinteger

Rows per page. REST allows up to 500; MCP returns at most 50 and clamps a larger value to 50.

cursorstring

The next_cursor from the previous page, to continue where it left off.

Returns

A page of FunderRecipient objects in items, with next_cursor when there are more. Pass it back as cursor to continue.

Notes

amount_from_funder on each row is the amount from THIS funder.

Funders is the recipient's overall funder count.

list_gifts

List gifts.

GET /api/v1/gifts

Parameters

yearinteger

A single year to keep.

townstring

A town slug from list_towns. Limits results to that town.

causestring

A cause slug from list_causes. Limits results to that cause.

funder_typestring

A funder type, as it appears on funder records (for example a private foundation or a government agency).

min_amountnumber

Keep gifts of at least this many dollars.

verifiedtrue or false

true: gifts from an IRS filing or a government award record; false: reported gifts only; omit: both

limitinteger

Rows per page. REST allows up to 500; MCP returns at most 50 and clamps a larger value to 50.

cursorstring

The next_cursor from the previous page, to continue where it left off.

Returns

A page of Gift objects in items, with next_cursor when there are more. Pass it back as cursor to continue.

Notes

Each says verified true/false.

A filed grant is dated by the funder's tax year, a donor-list gift by the year its list period ends.

A band counts at its floor, with amount_min and amount_max.

list_causes

List causes.

GET /api/v1/causes

Parameters

None.

Returns

A page of Cause objects in items, with next_cursor when there are more. Pass it back as cursor to continue.

list_prospects

For one organization: funders that give verified money to its cause (and have no verified gift to it yet), ranked by fit (your_size first: they fund organizations of this size; then unknown_size, larger_only, smaller_only), then open application routes, then the share of their giving in this cause.

GET /api/v1/organizations/:key/prospects

Parameters

keystring, in the pathRequired

The organization's or funder's id, as returned by search and list calls.

limitinteger

Rows per page. REST allows up to 500; MCP returns at most 50 and clamps a larger value to 50.

cursorstring

The next_cursor from the previous page, to continue where it left off.

Returns

A page of Prospect objects in items, with next_cursor when there are more. Pass it back as cursor to continue.

Notes

Rankings of public records, not endorsements; a DAF sponsor is listed with approachable false.

list_partners

Organizations in a cause and/or town by verified track record (verified_received, funders, years_active): candidates a club might partner with.

GET /api/v1/partners

Parameters

causestring

A cause slug from list_causes. Limits results to that cause.

townstring

A town slug from list_towns. Limits results to that town.

limitinteger

Rows per page. REST allows up to 500; MCP returns at most 50 and clamps a larger value to 50.

cursorstring

The next_cursor from the previous page, to continue where it left off.

Returns

A page of Partner objects in items, with next_cursor when there are more. Pass it back as cursor to continue.

Notes

Pair with list_funders(cause, town) for the funders most active there.

list_needs

Organizations in a cause and/or town with a documented reason help would matter: a filing where spending exceeded revenue (gap), thin or tight months of cash, dependence on one donor, falling revenue or net assets, a lapse watch.

GET /api/v1/needs

Parameters

causestring

A cause slug from list_causes. Limits results to that cause.

townstring

A town slug from list_towns. Limits results to that town.

max_revenuenumber

Keep organizations whose latest reported revenue is at most this, so small organizations are not buried by large shortfalls

limitinteger

Rows per page. REST allows up to 500; MCP returns at most 50 and clamps a larger value to 50.

cursorstring

The next_cursor from the previous page, to continue where it left off.

Returns

A page of Need objects in items, with next_cursor when there are more. Pass it back as cursor to continue.

Notes

Largest gap first, then verified money received.

Grantmakers, hospitals and pension funds are left out.

Reasons are spelled out (shortfall: the gap, its year and gap_share = gap/revenue; months_of_cash in months; donor_concentration share; revenue_trend ratio = revenue at the window's end over its start); nothing here is a score.