Blocker in Migrating to HubSpot v3 API – Need Replacement for Contact List Retrieval Endpoint

We are currently in the process of migrating from the v1 API’s to v3, as per the deprecation notice announced by HubSpot—effective 30th September. However, we are facing a blocker due to the absence of a clear replacement for the following v1 endpoint:

GET /contacts/v1/lists/:list_id/contacts/all

We need a v3 API endpoint that enables us to fetch all contacts associated with a given list ID, regardless of whether the list is Static or Active (Dynamic).

Could you please confirm the v3 equivalent of this endpoint, or advise on the best approach to replicate this functionality using the latest APIs?

Thank you for your support.

Hi @DSingh05,

Thanks for reaching out to the Community!

I would like to invite some members of our community who may offer valuable insights.— hey @Mike_Eastwood, @SteveHTM, @RobertYoung - Could you share your advice with @DSingh05?

Thanks for taking a look!

Diana

Hi @DianaGomez , @Mike_Eastwood, @SteveHTM, @RobertYoung
I am aware of the the below approach.

In HubSpot V3, fetching full contact details for a list requires 2 API calls:

  1. GET /crm/v3/lists/{listId}/memberships → Get record IDs of list members (as mentioned by you above)
  2. POST /crm/v3/objects/contacts/search → Fetch contact details using hs_object_id in the filter

Example body for step 2:

{"properties": ["firstname","lastname","email","hs_object_id","createdate","lastmodifieddate","hs_all_accessible_team_ids"],"filterGroups": [{"filters": [{"propertyName": "hs_object_id","operator": "IN","values": ["8510","8511","8512"]}]}]}

In V1, the same result was possible with just one API:
GET /contacts/v1/lists/:list_id/contacts/all
Q: Is there a single V3 endpoint that can return full contact details for a list like V1 did? This extra step is making the migration more complex as fetching the contact details for 8-10 lac contacts will increase the chances of 429 status code as for fetching the details of 100 contacts we have to make 2 API calls whereas in v1 endpoint only 1 API call is required.

Hi @DSingh05,

I know you posted this question a little while back, and I wanted to check in to see if you’ve found a solution.

If you have, we’d be incredibly grateful if you could share the steps you took! Your insights would be immensely valuable for other users in the community who might face a similar challenge.

If you’re still looking for a solution, please let us know!

Thanks so much for your help!
Diana