# Grantmaking.ai > Grantmaking.ai is a shared platform to discover, evaluate, and fund > high-impact AI safety work: a public directory of organizations, people, > projects, and grants, plus a bearer-token JSON API for reading and editing > that data. ## API - [API guide for AI agents](https://app.grantmaking.ai/docs/api.md): full reference for the /api/v1 bearer-token API — authentication, endpoints, field allowlists, comments, rate limits, and error semantics. ## Notes - API base URL: https://app.grantmaking.ai/api/v1 (call the app. host directly; other hosts may redirect and HTTP clients drop the Authorization header across a cross-host redirect). - Read-only GETs on /organizations and /projects work anonymously (no key), with private funding fields hidden and comments reduced to a count. - List search/filter/sort (both endpoints): `q` (name substring, ≤100 chars), `location`, `descriptionContains` (≤100 chars; substring across the description fields — orgs: short/medium/full, projects also theoryOfChange), `tags` (tag slugs, ≤25, multi) + `tagMatch=any|all` (any=has at least one, all=has every slug; unknown slugs are ignored under any and yield empty under all), `isActivelyFundraising`, `updatedAfter`/`updatedBefore` (ISO or YYYY-MM-DD; updatedAfter is the incremental-sync filter), `sort=name|createdAt|updatedAt` + `order=asc|desc`. Organizations also take `orgType`; projects take `orgId`, `orgIds` (≤100, mutually exclusive with orgId), and `status`. Multi-value params accept repeated keys or comma-separated lists. Unknown keys are ignored; invalid enum/date/UUID/sort values return 400; `meta.total` is the filtered count. There is intentionally NO funding-amount filter or sort (it would leak redacted private amounts). - GET /tags (anonymous-readable) lists the controlled tag vocabulary with usage counts per entity type (`{ slug, label, description, kind: type|work|area, meta, counts: { organizations, projects, persons, funds, total } }`); optional `?entityType=organization| project|person|fund` returns only tags used by that type. Use it to discover the slugs accepted by the `tags` filter. - Writes, /me, and comment contents require an `Authorization: Bearer xg_...` token. Keys are self-serve: any signed-in user can create one at https://app.grantmaking.ai/settings. - Feedback / bug reports: POST /api/v1/feedback works with NO key. Send `{ "message": "...", "email"?: "...", "source"?: "..." }` to report a bug or send feedback about the API or platform. Strictly rate-limited. - Rate limits: 100 requests per 60 seconds per token; roughly 30 per 60 seconds per IP for keyless requests. 429 responses include a Retry-After header in seconds.