Service is receiving too many requests from you, I'm fetching only 624 records

Hi, I am using a GET request on this URL: https://api.infusionsoft.com/crm/rest/v2/contacts/{{$json.id}}?fields=phone_numbers , there are only 624 records in this call. Yet somehow it throws the error “service is receiving too many requests” ? I applied batching. And that worked for one call and failed for the next one. Why is this so limited? I’m using n8n for the automation. It’s a headache at this point and if the solution is to delay the time between batches then it would be too slow, it is already failing at 10 items per batch with 5 second interval.

Hi! I’d suggest taking a closer look at how many requests your service is actually making to the API, as well as the authentication method you’re using, sometimes there can be more calls happening behind the scenes than expected.

One important thing to note is that the endpoint you’re using (GET /v2/contacts/{id}) is intended to retrieve a single contact per request, so it’s not really suited for fetching multiple contacts. If you use it for 624 contacts, that ends up being 624 separate API calls, which can very quickly run into rate limits.

A better approach here would be to use the List Contacts endpoint (GET /v2/contacts) with the contact_ids filter. This allows you to retrieve multiple contacts in a single request and significantly reduce the number of calls. For example:
/contacts?filter=contact_ids==1223,3432

Just to share a bit more context, rate limits depend on the authentication method:

OAuth2 Bearer Tokens

  • 1500 requests per minute
  • 150,000 requests per day (resets at 12:00 AM UTC)

Personal Access Tokens / Service Account Keys

  • 10 requests per second
  • 240 requests per minute
  • 30,000 requests per day (resets at 12:00 AM UTC)

You can find more details here:

Hope this helps point you in the right direction! Happy to help further if you have questions.