I am getting an error

System.LimitException: You can't run more than 500 reports synchronously every 60 minutes. Try again later.

is there any way to get filtered report Json without analytics API ? or any way to Overcome this Limit ?

  • Could you get the same data via a SOQL query rather than running a report? If so, you could just run the query through the REST API. Feb 16, 2015 at 7:13
  • yes it is possible but i need data in report json format with report Metadata
    – Atul
    Feb 16, 2015 at 8:33
  • The REST API will return JSON by default or based on the HTTP ACCEPT header. What report Metadata do you need? Feb 16, 2015 at 22:03
  • Thanks @Daniel Ballinger, but i need to run ReportManager.runReport(Id, Boolean) more then 500 time per hour to get reportResult and serilise it to json is it possible to overcome this governess limit?
    – Atul
    Feb 17, 2015 at 10:45

2 Answers 2


According to Salesforce1 Reporting REST API Limits (Extract):

Salesforce1 Reporting REST API has the following limitations:
Reports API Limits

  • Your organization can request up to 500 synchronous report runs per hour.
  • Your organization can request up to 1,200 asynchronous requests per hour.

So, either:

  1. you switch to asynchronous requests to get a greater hourly limit, or
  2. you ask your Salesforce Account Rep and/or support nicely to see if there is some Org based limit they can adjust for you. This may or may not be possible.
  3. you switch to using SOQL queries to retrieve the same data via the REST API. This will also return the data in JSON based on the HTTP ACCEPT header that you use.

I suspect options 1 or 3 would be the easiest.


I'm currently up against this myself. One of the challenges is that asynchronous results aren't available immediately.

Peter Knolle has a great blog post about using polling to keep checking if results are ready so they'll render in VisualForce:


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .