Using the
GET/tags/{tagId}/contacts endpoint,
I’m able to obtain a list of upto 1,000 contacts in a single api call.
(the documentation doesn’t specify the 1,000 limit, but if you provide a number bigger than 1,000 it’s treated as 1,000)
I could optionally then send in some more api calls to get a full list of contacts that have a particular tag.
Once I have the list I want, this api endpoint only gives me very basic information about these contacts.
It gives me their contact Id, their first name, last name, and email.
What I need though is also a list of their tags on these contacts so I can filter further and I also need access to a custom field on this list of contacts.
This almost does what I want:
GET/contacts/{id}
It can grab their tag_ids and custom fields for a contact.
But it can only pull up one contact at once.
This would require thousands of api calls through the rest api merely to get the information I need on the resulting contacts that have a particular tag.
In the XMLRPC I can pull up 1,000 contacts at once from a very specific list of contact Ids through the table schema, and get back a list of tags and custom fields.
This functionality doesn’t exist in the REST api as far as I can see from the documentation.
Another option would be a saved search to get the data I need for a particular tag.
But saved searches are pretty heavy on resources, and time out for us periodically.
(Note we have a lot of contacts, over 300,000+)
(We’ve been advised in the past to just pull things one at a time from the table schema to workaround queries taking too long. We’ve had great success in doing this in parts through the table schema, and avoiding saved searches. )
We don’t use the REST api much but we do use the XMLRPC mostly for everything.
More recently we understand the XMLRPC has been marked deprecated.
We’ve been trying to move over to the REST api.
But there’s a lot of things it doesn’t seem to do.
For example the XMLRPC can do saved searches, while the rest api doesn’t seem to have this capability from what I can see in the rest api documentation.
It’s possible there’s undocumented or poorly documented rest functionality which I’m unaware of.
I have extensive experience with the XMLRPC, but still have learning to do regarding the REST api.
Currently I have to use the XMLRPC to achieve my end goal of pulling up the information I need on 1,000 contacts at once.
Is there a way to achieve this sort of functionality using only the REST api, without exhausting thousands of api calls?