{"openapi":"3.1.0","info":{"title":"Trovu API","version":"1.1.0","summary":"UK charities, their funders and the grant programmes open now.","description":"Find charities by the work they do, who funds them, and which funders' programmes are open now and could fit you.\n\nWithout a key you get everything but what's open now: each programme's status, dates, how to get in and fit need a Trovu subscription (https://trovu.uk). Send the key as `Authorization: Bearer trv_…`.\n\nEvery response with a key carries `X-RateLimit-Limit` and `X-RateLimit-Remaining` (requests left today) and `X-Trovu-Key-Status`. Too many requests get 429 with `Retry-After`.\n\nData: 360Giving publishers' grants under each one's licence (OGL, CC BY, CC BY-SA or CC0: each grant record carries its publisher and licence; credit them); the Charity Commission register (OGL v3.0); funders' programmes read from their own websites by Trovu (check details with the funder before applying).","contact":{"name":"Trovu","url":"https://trovu.uk/api","email":"hello@trovu.uk"},"termsOfService":"https://trovu.uk/api/terms"},"servers":[{"url":"https://api.trovu.uk"}],"security":[{},{"bearer":[]}],"paths":{"/v1/charities/search":{"get":{"operationId":"searchCharities","summary":"Charities by the work they do","description":"Describe the work in plain English; get registered charities doing it, best match first.","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"description":"E.g. befriending lonely older people."},{"name":"area","in":"query","schema":{"type":"string"},"description":"A county, borough or region, e.g. Dorset."},{"name":"min_income","in":"query","schema":{"type":"number"},"description":"Smallest yearly income, in pounds."},{"name":"max_income","in":"query","schema":{"type":"number"},"description":"Largest yearly income, in pounds."},{"name":"limit","in":"query","schema":{"type":"integer","default":10,"maximum":25}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/CharitySummary"}},"credit":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/charities/lookup":{"get":{"operationId":"lookupCharity","summary":"Find a charity by name or number","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Its name, or its charity number."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/CharitySummary"}},"credit":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/charities/{org_id}":{"get":{"operationId":"getCharity","summary":"One charity","description":"Its register entry, charities like it (nearby and anywhere), its funders, its grants, and what it won with whether the same money is open now (subscribers).","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string"},"description":"An Org ID, e.g. GB-CHC-1234567 (a charity registered in England and Wales) or a funder's 360Giving Org ID."},{"name":"for_org","in":"query","schema":{"type":"string"},"description":"Your own Org ID: programmes are then checked for whether they could fit you (subscribers)."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"charity":{"$ref":"#/components/schemas/CharitySummary"},"near":{"type":"array","items":{"$ref":"#/components/schemas/Peer"}},"alike":{"type":"array","items":{"$ref":"#/components/schemas/Peer"}},"funders":{"type":"array","items":{"$ref":"#/components/schemas/FunderSummary"}},"grants":{"type":"array","items":{"$ref":"#/components/schemas/Grant"}},"wins":{"type":"array","items":{"type":"object"}},"credit":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/TooMany"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/v1/charities/{org_id}/funders":{"get":{"operationId":"getCharityFunders","summary":"Who funds a charity","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string"},"description":"An Org ID, e.g. GB-CHC-1234567 (a charity registered in England and Wales) or a funder's 360Giving Org ID."},{"name":"years","in":"query","schema":{"type":"integer","default":5,"minimum":1,"maximum":25},"description":"How many years of grants to look at."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"funders":{"type":"array","items":{"$ref":"#/components/schemas/FunderSummary"}},"since":{"type":"string","format":"date"},"credit":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/funders":{"get":{"operationId":"findFunders","summary":"Funders of charities doing this work","description":"Finds charities doing the work described, then the funders who gave to them, most widely given first.","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"}},{"name":"area","in":"query","schema":{"type":"string"},"description":"A county, borough or region, e.g. Dorset."},{"name":"min_income","in":"query","schema":{"type":"number"},"description":"Smallest yearly income, in pounds."},{"name":"max_income","in":"query","schema":{"type":"number"},"description":"Largest yearly income, in pounds."},{"name":"years","in":"query","schema":{"type":"integer","default":5,"minimum":1,"maximum":25},"description":"How many years of grants to look at."},{"name":"for_org","in":"query","schema":{"type":"string"},"description":"Your own Org ID: programmes are then checked for whether they could fit you (subscribers)."},{"name":"exclude","in":"query","schema":{"type":"string"},"description":"Comma-separated Org IDs of charities not like yours."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"funders":{"type":"array","items":{"$ref":"#/components/schemas/FunderSummary"}},"charities":{"type":"array","items":{"$ref":"#/components/schemas/CharitySummary"}},"based_on":{"type":"object"},"since":{"type":"string","format":"date"},"credit":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/funders/{org_id}":{"get":{"operationId":"getFunder","summary":"One funder","description":"What it funds, its past programmes, recent grants, where and by year; with like, its grants to those charities.","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string"},"description":"An Org ID, e.g. GB-CHC-1234567 (a charity registered in England and Wales) or a funder's 360Giving Org ID."},{"name":"years","in":"query","schema":{"type":"integer","default":5,"minimum":1,"maximum":25},"description":"How many years of grants to look at."},{"name":"like","in":"query","schema":{"type":"string"},"description":"Comma-separated Org IDs of charities like yours."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"funder":{"type":"object"},"programmes":{"type":"array","items":{"type":"object"}},"to_like":{"type":"array","items":{"$ref":"#/components/schemas/Grant"}},"recent":{"type":"array","items":{"$ref":"#/components/schemas/Grant"}},"places":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"grants":{"type":"integer"}}}},"by_year":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"grants":{"type":"integer"},"total_gbp":{"type":["integer","null"]}}}},"since":{"type":"string","format":"date"},"credit":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/TooMany"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/v1/funders/{org_id}/programmes":{"get":{"operationId":"getFunderProgrammes","summary":"A funder's programmes now","description":"Read from the funder's own website and checked daily. Subscribers get each programme's status, dates, how to get in and fit; without a key, what each programme is (locked: true).","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string"},"description":"An Org ID, e.g. GB-CHC-1234567 (a charity registered in England and Wales) or a funder's 360Giving Org ID."},{"name":"for_org","in":"query","schema":{"type":"string"},"description":"Your own Org ID: programmes are then checked for whether they could fit you (subscribers)."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"programmes":{"type":"array","items":{"$ref":"#/components/schemas/Programme"}},"locked":{"type":"boolean"},"subscribe_url":{"type":"string"},"credit":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/grants/recent":{"get":{"operationId":"recentGrants","summary":"Recent grants to charities you follow","parameters":[{"name":"org_ids","in":"query","required":true,"schema":{"type":"string"},"description":"Comma-separated Org IDs (up to 200)."},{"name":"days","in":"query","schema":{"type":"integer","default":365}},{"name":"for_org","in":"query","schema":{"type":"string"},"description":"Your own Org ID: programmes are then checked for whether they could fit you (subscribers)."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"news":{"type":"array","items":{"$ref":"#/components/schemas/Grant"}},"since":{"type":"string","format":"date"},"credit":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/usage":{"get":{"operationId":"getUsage","summary":"Your key's usage","description":"Plan, daily limit and requests per day for the last 30 days. Doesn't count against the limit.","security":[{"bearer":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Usage"}}}},"401":{"description":"No key, or one we don't know.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/grants":{"get":{"operationId":"searchGrants","summary":"Grants open now","description":"Grants open now and opening soon for UK charities and community groups, read from funders' own websites and Find a Grant and checked daily, best match first. Search by place, by the work, by a charity (its work and areas from the register), or any mix. Places are as people say them: boroughs, towns, counties, regions or postcodes; local grants come first, then next-door, county, region and national. A place that could be several (Richmond) comes back in places_to_clarify with no grants: ask which and search again. Up to five grants closing within 14 days are listed first.","parameters":[{"name":"place","in":"query","schema":{"type":"string"},"description":"Where the work is, e.g. Hackney, near Bodmin, E8 1DY. Repeat, or separate with ';', for several."},{"name":"work","in":"query","schema":{"type":"string"},"description":"What the charity does or wants funding for, in plain words."},{"name":"org_id","in":"query","schema":{"type":"string"},"description":"A charity's Org ID (e.g. GB-CHC-1149896): its work and areas are used, and grants are checked for whether it could apply."},{"name":"grant_max","in":"query","schema":{"type":"number"},"description":"Only grants that can be this size or smaller (pounds)."},{"name":"grant_min","in":"query","schema":{"type":"number"},"description":"Only grants that can be at least this size (pounds)."},{"name":"income","in":"query","schema":{"type":"number"},"description":"The applicant's yearly income, checked against funders' income limits."},{"name":"closing_within","in":"query","schema":{"type":"integer"},"description":"Only grants with a deadline within this many days."},{"name":"limit","in":"query","schema":{"type":"integer","default":20,"minimum":1,"maximum":40}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"searched":{"type":"object","description":"What was searched, with places as we understood them."},"places_to_clarify":{"type":"array","items":{"type":"object","properties":{"place":{"type":"string"},"choices":{"type":"array","items":{"type":"string"}},"error":{"type":"string"}}}},"open_now":{"type":"integer","description":"How many open grants suit the search."},"sizes":{"type":"object","additionalProperties":{"type":"integer"},"description":"Open grants by size band, to offer narrowing."},"grants":{"type":"array","items":{"$ref":"#/components/schemas/OpenGrant"}},"also":{"type":"object","properties":{"opening_soon":{"type":"integer"},"only_for_other_places":{"type":"integer"},"for_other_kinds_of_work":{"type":"integer"},"not_eligible":{"type":"integer"}}},"credit":{"type":"string"},"locked":{"type":"boolean"},"subscribe_url":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/grants/{grant_id}":{"get":{"operationId":"getGrant","summary":"One grant in full","description":"Everything we know about one grant: what it funds and won't, who can apply, amounts, deadlines and stages, how to apply, where, and when we last read the funder's page. Without a key: what it is (locked: true).","parameters":[{"name":"grant_id","in":"path","required":true,"schema":{"type":"integer"},"description":"An id from GET /v1/grants."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Programme"},{"type":"object","properties":{"funder":{"type":"string"},"funder_org_id":{"type":"string"},"checked":{"type":"string","format":"date"},"locked":{"type":"boolean"},"subscribe_url":{"type":"string"}}}]}}}},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooMany"}}}}},"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Your Trovu key (trv_ and 32 characters), from Your plan on trovu.uk."}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"},"retry_after":{"type":"integer"}},"required":["error"]},"CharitySummary":{"type":"object","properties":{"org_id":{"type":"string"},"name":{"type":"string"},"income":{"type":["number","null"]},"activities":{"type":"string"},"areas":{"type":"array","items":{"type":"string"}},"what":{"type":"array","items":{"type":"string"},"description":"What it does (the register's classification)."},"who":{"type":"array","items":{"type":"string"},"description":"Who it helps."},"how":{"type":"array","items":{"type":"string"},"description":"How it works."},"score":{"type":["number","null"]},"register":{"type":"string"},"inactive":{"type":["object","null"],"description":"Set if the charity looks inactive (e.g. late accounts)."}},"required":["org_id","name"],"description":"A charity registered in England and Wales, from the Charity Commission register."},"Peer":{"type":"object","properties":{"org_id":{"type":"string"},"name":{"type":"string"},"income":{"type":["integer","null"]},"score":{"type":"number"},"in_common":{"type":"array","items":{"type":"string"}},"where":{"type":"string"}}},"FunderSummary":{"type":"object","properties":{"funder_org_id":{"type":"string"},"funder":{"type":"string"},"grants":{"type":"integer"},"recipients":{"type":"integer"},"total_gbp":{"type":["integer","null"]},"typical_gbp":{"type":["integer","null"]},"latest":{"type":"string","format":"date"},"programmes":{"type":"array","items":{"type":"string"},"description":"Programme names seen in its grants."},"examples":{"type":"array","items":{"type":"string"}},"licences":{"type":"array","items":{"type":"string"},"description":"Licences of the grants behind this summary."},"grantnav":{"type":"string"},"programmes_now":{"$ref":"#/components/schemas/Teaser"}},"required":["funder_org_id","funder"],"description":"A funder, from the grants it has published through 360Giving."},"Teaser":{"type":["object","null"],"description":"How many of the funder's programmes are open now (free); the next deadline is for subscribers.","properties":{"open":{"type":"integer"},"opening_soon":{"type":"integer"},"next_deadline":{"type":["string","null"],"format":"date"},"locked":{"type":"boolean"}}},"Grant":{"type":"object","properties":{"grant_id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"amount":{"type":["number","null"]},"currency":{"type":"string"},"date":{"type":"string","format":"date"},"recipient":{"type":"string"},"recipient_org_id":{"type":["string","null"]},"funder_org_id":{"type":"string"},"funder":{"type":"string"},"programme":{"type":["string","null"]},"publisher":{"type":"string","description":"Who published the grant (credit them)."},"licence":{"type":"string","description":"The grant's licence; each record keeps its own."},"grantnav":{"type":"string"}},"required":["grant_id"],"description":"One grant, as its funder published it."},"Programme":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"url":{"type":"string"},"summary":{"type":"string"},"status":{"type":"string","enum":["open","opening_soon","closed","unclear"]},"opens":{"type":["string","null"],"format":"date"},"deadline":{"type":["string","null"],"format":"date"},"next_deadline":{"type":["string","null"],"format":"date","description":"The soonest deadline, round or stage still to come."},"credit":{"type":["string","null"],"description":"Where the programme was read from when it isn't the funder's own website, e.g. Find a Grant (Open Government Licence); show it with the programme."},"stage_deadlines":{"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"date":{"type":"string"}}}},"rolling":{"type":"boolean"},"access":{"type":"string","enum":["open_application","expression_of_interest","contact_first","invitation_only","nomination","unclear"]},"by_invitation":{"type":"boolean"},"amount_min":{"type":["integer","null"]},"amount_max":{"type":["integer","null"]},"income_min":{"type":["integer","null"]},"income_max":{"type":["integer","null"]},"areas":{"type":"array","items":{"type":"string"}},"what_it_funds":{"type":"array","items":{"type":"string"}},"what_it_wont_fund":{"type":"array","items":{"type":"string"}},"who_can_apply":{"type":"array","items":{"type":"string"}},"how_to_apply":{"type":["string","null"]},"apply_url":{"type":["string","null"]},"decision_time":{"type":["string","null"]},"fit":{"type":["object","null"],"description":"With for_org: fit (yes, check or no) and reasons."},"award_pattern":{"type":["object","null"],"description":"When it usually awards, from past grants."},"sources":{"type":"object","description":"The funder's pages each fact was read from."},"checked":{"type":"string"},"last_changed":{"type":"string"},"contradictions":{"type":["string","null"]},"locked":{"type":"boolean","description":"True without a subscription: only what the programme is, not its status, dates or fit."}},"required":["name","url"],"description":"A funder's grant programme, read from its own website and checked daily."},"Usage":{"type":"object","properties":{"organisation":{"type":"string"},"plan":{"type":"string"},"active_until":{"type":"string","format":"date"},"daily_limit":{"type":"integer"},"today":{"type":"object","properties":{"requests":{"type":"integer"},"searches":{"type":"integer"}}},"days":{"type":"array","items":{"type":"object","properties":{"day":{"type":"string","format":"date"},"requests":{"type":"integer"},"searches":{"type":"integer"}}}},"key_status":{"type":"string","enum":["active","expired"]}}},"OpenGrant":{"type":"object","description":"A grant open now or opening soon, as matched to the search. Without a key: what it is (locked: true), not its dates, fit or how to apply.","properties":{"id":{"type":"integer","description":"Use with GET /v1/grants/{grant_id}."},"name":{"type":"string"},"funder":{"type":"string"},"status":{"type":"string","enum":["open","opening_soon"]},"when":{"type":"string","description":"In words: 'closes 2026-11-30', 'any time', 'opens 2027-01-05' or 'no deadline stated'."},"closing_soon":{"type":"boolean","description":"Closes within 14 days; up to five of these are listed first."},"amount":{"type":["object","null"],"properties":{"from":{"type":["number","null"]},"up_to":{"type":["number","null"]}}},"where":{"type":"string","description":"Up to three areas it's for, or 'not stated'."},"how_local":{"type":["string","null"],"enum":["local","nearby","regional","national","UK","elsewhere","check",null],"description":"How local it is to the places searched."},"why":{"type":"array","items":{"type":"string"},"description":"Why it's here, in plain words."},"fit_notes":{"type":"array","items":{"type":"string"},"description":"Anything to check about whether you can apply."},"apply":{"type":"string","description":"Where to apply, or the funder's page about it."},"checked":{"type":"string","format":"date","description":"When we last read the funder's page."},"credit":{"type":"string","description":"Where it was read from when not the funder's own site; show it with the grant."},"locked":{"type":"boolean"},"subscribe_url":{"type":"string"}}}},"responses":{"BadRequest":{"description":"Something's missing; error says what.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Not in the data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooMany":{"description":"Allowance used up; try again after Retry-After seconds.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}