.csv vs. json discrepancy?


I am very new to APIs so bear with me pls if I use the wrong terminology. Any advice is appreciated!

  1. I have exported the Pledge Data in a .csv format. As of today, it has 895 individual patrons, they are all active patrons.

  2. I have exported a json using the “Paging through a list of pledges” method in the API documentation.


The json file’s “data” object has 979 records. Out of that 979 records, 800 has a “declined_since” null value (meaning that they are active patrons) while 179 of them have a declined_since value.

I’m guessing this means using the API method 2), I get a list of 800 active patrons (and 179 inactive ones), while using method 1), the exported .csv, I see 895 active patrons. Where is this discrepancy coming from? What am I doing wrong?


API would return you all your patrons. You have to filter the active ones and non active ones at your own app.

Thanks for the reply!

I see what you mean, I did filter for the active ones but I still see fewer patrons. Here’s how the numbers look like (since it’s the 1st of the month, it’s different than in my original post):

My patreon site shows:

  • 825 patrons

API list of pledges method pulls:

  • 982 records
  • 804 of the records have “declined_since” value set at null (= there are 804 active patrons)

So where is the 825 - 804 = 21 remaining patrons from the API list? I can’t figure out what I’m doing wrong.

A patron having been declined does not mean that they immediately lose access to your campaign for the period that the patron has already paid for.

Additionally, there is a 2-3 day grace period in which declined patrons are considered valid until all the retries are done.

Okay, so I guess it was my definition of an “active patron” that caused the difference in numbers. Thanks!

1 Like