Skip to content

List fundraisers​

GET
/fundraisers

A paginated list of public campaigns, newest first. No authentication; the result is the same whoever asks. Only published campaigns (active or ended) with visibility: public are listed — drafts, campaigns awaiting review, paused, rejected, unlisted and private campaigns never appear here, whatever is asked for — and deleted campaigns are excluded. Each item is a campaign card (FundraiserCard); fetch the detail read for the full campaign. Card text is translated into the reader's language (lang, then the language cookie, then Accept-Language) where a translation exists.

Near a point. With near=<lat>,<lng> the list holds only the campaigns whose city is within radius_mi miles (default 20) of that point, nearest first and then most raised, and each item carries distance_mi. Every other filter still applies, and so do the public-only rules above. A campaign's point is its CITY's centroid, geocoded on the server from the free-text location; a campaign whose location has no city-level point yet is not in a near list. For the cities to offer a picker, read GET /fundraisers/cities.

Only the parameters below are accepted. Any other query parameter is ignored.

Parameters​

Query Parameters

status

active — live campaigns whose end date has not passed; closed — ended campaigns plus live ones past their end date; ended — the same as closed; all — both (the default). Any other value answers 400 with { "error": "Invalid status", "allowed": [...] }.

Type
string
Valid values
"active""closed""ended""all"
Default
"all"
category

Filter by category — its id, slug or name all match.

Type
string
q

Free-text search over title, summary, story, category and location — the same match GET /search?scope=campaigns uses. Matches are ranked first.

Type
string
is_project

true for projects only, false for fundraisers only; omit for both.

Type
boolean
sort

raised sorts by most raised first. Omit for newest first.

Type
string
Valid values
"raised"
lang

Language to translate card text into.

Type
string
Valid values
"en""ru""uk""es"
limit

Page size, 1–100. A larger value is treated as 100; a missing, zero, negative or non-numeric value as 20.

Type
integer
Minimum
1
Maximum
100
Default
20
offset

Number of campaigns to skip, 0 or more. A negative or non-numeric value is treated as 0.

Type
integer
Minimum
0
Default
0
near

<lat>,<lng> in decimal degrees, e.g. 38.5816,-121.4944: latitude −90..90, longitude −180..180. Lists only the campaigns within radius_mi of the point, nearest first, then most raised (this order replaces sort and the search rank), each with distance_mi. Anything that is not two numbers in range — including an empty value or the parameter sent twice — answers 400 { "error": "invalid_near" }.

Type
string
Example"38.5816,-121.4944"
Pattern
"^\\s*[+-]?(\\d+(\\.\\d*)?|\\.\\d+)\\s*,\\s*[+-]?(\\d+(\\.\\d*)?|\\.\\d+)\\s*$"
radius_mi

Radius in miles around near, 1–100, default 20. A larger value is treated as 100, a smaller one as 1, and a non-numeric one as 20. Ignored without near.

Type
number
Minimum
1
Maximum
100
Default
20

Responses​

Paginated list of campaign cards

application/json
JSON
{
"data": [
],
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
}
}

Playground​

Server
Variables
Key
Value

Samples​

Powered by VitePress OpenAPI

Built with VitePress