GiveRadar API documentation
Query 7.9 million+ nonprofit records across 100+ countries. Every response includes provenance: the source, the source type, and the refresh date.
Registration, financials, leadership, filings, news, and integrity assessments, all as JSON. REST API, OpenAPI spec, 10 free requests a day, no credit card.
curl -H "Authorization: Bearer gr_YOUR_KEY" \ "https://giveradar.com/api/v1/charity/american-national-red-cross/"
const res = await fetch(
"https://giveradar.com/api/v1/charity/american-national-red-cross/",
{ headers: { Authorization: "Bearer gr_YOUR_KEY" } }
);
const charity = await res.json();
import requests
res = requests.get(
"https://giveradar.com/api/v1/charity/american-national-red-cross/",
headers={"Authorization": "Bearer gr_YOUR_KEY"},
)
charity = res.json()
{ "name": "American National Red Cross", "country_code": "US", "integrity_score": 82, "category": "Human Services" }
Authentication
Authentication is a Bearer API key: send Authorization: Bearer gr_YOUR_KEY on every request, or ?api_key=gr_YOUR_KEY as a query parameter where headers are impractical. There is no OAuth flow, token exchange, or client registration; the self-contained guide for automated clients lives at /auth.md. Keys are created and revoked at /api/keys/; revocation is immediate.
GET/api/v1/search/
The search endpoint finds charities by name or registration number (such as a US EIN) across 100+ countries.
curl -H "Authorization: Bearer gr_YOUR_KEY" \ "https://giveradar.com/api/v1/search/?q=13-1635294"
GET/api/v1/charity/{slug}/
The detail endpoint returns a charity's registration, category, integrity assessment, and, on all tiers, the written GiveRadar Analysis where available. Field access varies by tier: financials, officers, and contact fields require Pro (see the field table on the plans page).
curl -H "Authorization: Bearer gr_YOUR_KEY" \ "https://giveradar.com/api/v1/charity/american-national-red-cross/"
GET/api/v1/charity/{slug}/financials/Pro tier
Filing history per fiscal year, plus the spending breakdown and executive compensation. Free-tier keys receive a 403 with an upgrade message.
curl -H "Authorization: Bearer gr_YOUR_KEY" \ "https://giveradar.com/api/v1/charity/american-national-red-cross/financials/"
GET/api/v1/charity/{slug}/news/
Recent news coverage with article count and average tone. News is provided for context and never affects the integrity assessment.
curl -H "Authorization: Bearer gr_YOUR_KEY" \ "https://giveradar.com/api/v1/charity/american-national-red-cross/news/"
POST/api/v1/charity/{slug}/reviews/
Submit a review for a charity as a JSON body.
curl -X POST -H "Authorization: Bearer gr_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"user_name": "Jane", "user_role": "donor", "rating": 5,
"title": "Transparent", "comment": "..."}' \
"https://giveradar.com/api/v1/charity/american-national-red-cross/reviews/"GET/api/v1/stats/
Platform statistics: live charity, country, and red-flag counts plus the average integrity assessment. These are the same numbers the website shows; use them instead of hardcoding counts.
curl -H "Authorization: Bearer gr_YOUR_KEY" \ "https://giveradar.com/api/v1/stats/"
GET/api/v1/health/
Unauthenticated liveness check for monitors and agents. Returns status and a timestamp. No API key required.
curl "https://giveradar.com/api/v1/health/"
Rate limits
Rate limits are per key per day: 10 on the free tier, 10,000 on Pro, 100,000 on Enterprise. Two things worth knowing before they surprise you: the free tier is also capped per IP address across all free keys (10 per day total, so creating multiple free keys from one machine does not raise the ceiling), and exceeding a cap returns HTTP 429 with a JSON error until the daily reset. There are no overage charges. The MCP server mirrors these limits and additionally allows anonymous access within the free cap.
Errors
Errors return a JSON body with a detail field explaining what went wrong, and the usual HTTP status codes:
Machine-readable everything
Everything on this page exists in machine-readable form. If you are an AI agent, the MCP server is the preferred interface: structured, paginated, and keyless to start.
/api/v1/openapi.jsonOpenAPI 3.1 spec (also /api/openapi.yaml)/mcp/MCP server, manifest at /.well-known/mcp.json/.well-known/agent-skills/index.jsonAgent skills/auth.mdAuthentication guide/llms.txtGuide for language modelsFAQ
How do I authenticate with the GiveRadar API?
Send your API key as a Bearer token: Authorization: Bearer gr_YOUR_KEY. Keys are free and instant at /api/keys/ after creating an account. There is no OAuth; /auth.md documents the full authentication model for automated clients.
How do I look up a charity by EIN or registration number?
Pass the number to the search endpoint as the query: /api/v1/search/?q=13-1635294. EINs are matched exactly with dashes ignored, and the response includes the charity's slug for the detail endpoint.
What happens when I hit the rate limit?
The API returns HTTP 429 with a JSON error body, and requests succeed again at the daily reset. Nothing is charged: GiveRadar has no overage billing. If you hit free-tier limits while evaluating, note the cap is also enforced per IP across all free keys; the Pro tier raises the limit to 10,000 requests per day.
Go Pro: 10,000 requests a day, full records
$99 per month unlocks financials, officers with compensation, contact details, and the filing-history endpoint. One key for REST and MCP.