Skip to main content

GivePanel Reporting API: Date Filters and Common Query Behaviour

This article explains how date parameters work across the Reporting API endpoints and clarifies some common edge cases when filtering results.

Written by Harry Gardner

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 include

  • end = 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 date

  • endDate = 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=0 is the first page

  • page=1 is 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 /fundraisers list 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=true to be included in list queries

Did this answer your question?