How "offset" and "has-more" parameters exeactly work?

Hi all,

In our case we have around 9,000 companies records. and i want to get all those companies records. so i want to use this end point Accounts Dashboard | HubSpot . now i specify a limit of 100 as follow https://api.hubapi.com/companies/v2/companies/paged?hapikey=demo&properties=name&properties=website&limit=100

so on each response i will get the 100 companies info + offset number + the has-more will be true..
so i ended up in an infinite loop… so how i can get all the 9,000 records? as i am unable to know when i should stop , as seems i will always get an offset number and the has-more will always be true??

Hey, @johnjohn123.

Sorry if I wasn’t clear in this post:

I am getting this error if i specify limit=300 “The remote server returned an error: (400) Bad Request.”

Hey, @johnjohn123. Again, the documentation states: In addition to the list of companies, each request will also return two values, offset and has-more . If has-more is true, you’ll need to make another request, using the offset to get the next page of company records. So, your first request will return up to 250 company records and: “has-more”: true, “offset”: some_value Your next request will include offset=some_value and so forth.

The reason I say “IF has-more is true” is because it will turn false once you have paged through all the companies. Basically, keep calling the endpoint with each offset value returned until the endpoint returns "has-more": false. Then you can stop because you have gotten all the companies.

yes you are correct.. actually i flag my question as invalid, because i realized that i am not facing any issue…
Thanks for your help anyway..