Skip to main content
If a charity your users want is not on Donate.gg, you can request it. Requests are checked against the charity’s official register and then reviewed by the Donate.gg team before the charity is listed. A request never lists a charity on its own, and review has no fixed timeline. The flow is:
  1. List the registers you can request from.
  2. Search a register by charity name or registration number.
  3. Request a result whose status is requestable.
  4. Check the status later, or watch the listing feed for the new charity.
Registry data identifies an organization. It does not confirm tax-deductible donations, charitable purpose or endorsement.

List registers

Public (API key optional) GET /charity-requests/registers Returns every country and register you can request from, with the registration number format each accepts. The example shows one of the registers.
refresh is live when the register is read for each search, or daily when Donate.gg uses a daily copy of the official dataset. When you show register data to users, show the register’s attribution too.

Search a register

Public (API key optional) GET /charity-requests/search Searches one register by charity name or registration number and returns up to 10 results. Searching never requests or lists a charity.
Query parameters

Request a charity

API key required POST /charity-requests Checks the registration against the official register, then saves a request for review. Repeating a request is safe: it is counted as more demand and does not undo a review decision.
Body A UK number must be from the register you name: SC numbers are Scottish, NIC numbers are Northern Irish, and plain numbers are England and Wales. Northern Ireland numbers may omit the NIC prefix. The response is always 200, with a status:
Errors Every error body has error (a message you can show) and code.

Get request status

Public (API key optional) GET /charity-requests/{register}/{registration} Reports whether a registration is listed or requested. It reads Donate.gg only; it does not check the register or create a request.
status is listed, requested, needs_info, reviewed or not_requested. An invalid number, or one from another register, returns 400 INVALID_REGISTRATION. While status is requested, queue estimates where the request stands; otherwise it is null: Both are estimates. Review order and timing are not guaranteed, and a request can still need more information or close without a listing.

Rate limits

Register search and requests spend their own budgets in addition to the normal API rate limit: The anonymous search budget is shared with charity search on donate.gg. A ceiling across all callers can also apply when the registers are busy. An exhausted budget returns 429 RATE_LIMIT_EXCEEDED with Retry-After. Listing registers and checking status use only the normal limit.