Hi HubSpot Community,
I’m using the CRM Search API (/crm/v3/objects/contacts/search) to retrieve contacts from my portal. Everything works fine, but I’m unable to fetch more than 10,000 contacts, even though I paginate using the after cursor and have verified my filters.
Here’s a summary of what I’ve tried:
Using limit: 200 with after for pagination
Filtering by lastmodifieddate range to
Verified API token and permissions
But after reaching ~10,000 records, the API stops returning more results.
My Questions:
Is there a hard limit of 10,000 records per search request call?
What is the recommended approach to fetch the full dataset (e.g., 50k or 100k contacts)?
Is there any workaround or best practice, such as segmenting by date, to avoid the 10k cap?
Any official guidance or community experience would be very helpful.
Thanks in advance!
Murthy
Hi @MMurthy0
Thank you for reaching out to the Community!
I’d like to invite some community members who are subject matter experts to join this conversation.
@HFisher7 @franksteiner79 @Lucila-Andimol - Would you be able to share any insights on this? Your expertise would be greatly appreciated.
Best,
Victor
Hi @MMurthy0 ,
Both HubSpot’s free and paid plans have API rate limits (for example, 100 requests per 10 seconds, and a daily quota of 250,000–500,000 calls, depending on your plan). These limits may impact how quickly you can retrieve large volumes of data.
To extract more than 10,000 contacts, you’ll need to segment your API queries so that each request returns 10,000 or fewer results. This can be done by breaking your requests up by properties like createdate or hs_object_id to avoid hitting the 10,000-record cap per query.
For additional tips and implementations, I suggest reviewing these community threads that address the same requirement:
You can also check out this step-by-step blog post from Coefficient, which provides a detailed guide to overcoming HubSpot API limits:
Hope this helps!