How date filters work in the Reporting API
Across the Reporting API, date parameters generally align with the same logic used in the GivePanel interface when filtering by date.
Each endpoint filters results based on the most relevant “primary date” for that object type.
Registrations endpoint
What do start and end represent?
For the /registrations endpoint, the start and end parameters refer to the registration created date.
This means:
start= earliest registration creation date to includeend= latest registration creation date to include
They do not relate to:
Event date
Fundraiser start date
Payment date
Summary
Registrations are always filtered by when the registration record was created in GivePanel.
Donations endpoint
What do startDate and endDate represent?
For the /donations endpoint, the startDate and endDate parameters refer to the date the donation was made.
This means:
startDate= earliest donation dateendDate= latest donation date
This aligns with how donation filtering works inside GivePanel.
Summary
Donations are filtered by the actual donation transaction date, not import time or processing time.
Fundraisers endpoint
What date is used for filtering?
For the /fundraisers endpoint, date filtering refers to the fundraiser start date. (normally when the fundraiser was created)
Common edge cases and troubleshooting
1. Pagination must start at page 0
A common issue when retrieving donations is pagination.
The API uses zero-based pagination.
This means:
page=0is the first pagepage=1is the second page
If pagination starts at page=1, the first set of results may be skipped, which can lead to missing or inconsistent data.
2. Fundraisers not appearing in updatedAfter
Some fundraisers may not appear in /fundraisers?updatedAfter=... even though they exist in other queries.
This typically happens because:
JustGiving fundraisers are excluded by default from the
/fundraiserslist endpoint
How to include JustGiving fundraisers
To include them, use the jg=true parameter:
/fundraisers?charityId=...&updatedAfter=2026-02-28&jg=true
Important behaviour
To retrieve a complete dataset (both types of fundraisers), you must run two requests and combine results:
Non JustGiving fundraisers
/fundraisers?updatedAfter=...JustGiving fundraisers
/fundraisers?updatedAfter=...&jg=true
Key takeaways
Registrations are filtered by created date
Donations are filtered by donation date
Fundraisers are filtered by start date
Pagination starts at 0, not 1
JustGiving fundraisers require
jg=trueto be included in list queries
