Spend API vs GUI is different


I can see a difference between API vs GUI spend for few tweets, most of the difference is on one hour 16:00 israel time(+02:00).

Can you shed some info why such thing can happen.



Hi Golan,

Yesterday, I posted a similar question. Spend from UI & API doesn't match

However, from your post it looks like the difference in spend that you are experiencing is much smaller than my case.

So just to confirm the process, here is what I am doing to pull spend from Twitter, please confirm if this is the correct process and is there anything else I should be doing to cover the entire spend.

Current process:

  1. Pull all campaigns
  2. Get Line items associated with each campaign
  3. Get PromotedTweets for each line item
  4. Get Stats associated with that promoted tweet.

We also pull some information using public API, but that’s irrelevant for the spend part.

Can you please confirm and if there are other artefacts that should be considered to have more accurate spend reporting?

Thanks in advance.


I can confirm that we have the same process.


Hi @golan and @psuedorandom ,

Can you please provide the full API request and response?

If you are pulling this data for a time period within the last 3 days, discrepancies are expected. The billed_charge_local_micro metric is estimated until 9am in the ads account’s local timezone 3 days later. Until then, this metric can decrease due to credits for overspend (ads served after the given end_time) and for billable events that are determined to be junk.


@psuedorandom - That is indeed the recommended process to derive metrics for individual promoted tweets.



Thanks for the clarification, however the number I see is lower than twitter interface, is it possible that the GUI is caching the numbers ? The numbers from two days ago are okay now, but the numbers from yesterday are lower in the API.

Is it the expected behavior ? if not I will send you calls.


@golan Hm. Since this is time-sensitive and mutable it’s going to be difficult for me to reproduce.

It is expected that the billed amounts will change up to 3 days after the event, as I mentioned above. But I don’t think the UI and API should adjust asynchronously.

Can you please track today’s data (or one hour of today, however you’d like to do it) over the next three days, marking down the UI value and the API value? I will do the same on my own account here.

And just a note to make sure that you’ve read these two docs, as timezone complications can obscure a possible underlying issue:


@jillblaz, Thanks for the reply, I still have very slight diff on live campaigns only, the main issue is solved.

Thanks for the help.