Help

Upcoming database upgrades. Airtable functionality will be reduced for ~15 minutes at 06:00 UTC on Feb. 4 / 10:00 pm PT on Feb. 3. Learn more here

Using Offset Pagination to get multiple pages of records in GO

Topic Labels: API
Solved
Jump to Solution
562 2
cancel
Showing results for 
Search instead for 
Did you mean: 

I am working with the Airtable API in GoLang and I am using this client.

I have 150 records. I am trying to fetch the first 50, then next 50 and so on.

I do this by sending the following HTTP request (with the help of the client):

/v0/appXXXXXXX/tblXXXXXXXcellFormat=string&offset=50&pageSize=50&sort%5B0%5D%5Bdirection%5D=asc&sort%5B0%5D%5Bfield%5D=Name&timeZone=Europe%2FLondo
n&userLocale=en-gb

Note the &offset=50. When I send this request I get the following error:
“error”:{“type”:“INVALID_OFFSET_VALUE”,“message”:“The value of offset 50 is invalid”

I have tried removing the offset parameter and it gets me the first 50, but how am I supposed to get the next 50!

Below is my Go code using Mehanizm’s Client:
image

1 Solution

Accepted Solutions

HI @Adam_Haffar1,
When you make a request that returns more than 100 records, the JSON data will contain an offset that you will use on the next call for the next 100 records

image

Then you add that offset to your query URL
fetch(https://api.airtable.com/v0/${remoteBaseID}/${remoteTableID}?api_key=${apiKey}&offset=${offset}`)`

See Solution in Thread

2 Replies 2

HI @Adam_Haffar1,
When you make a request that returns more than 100 records, the JSON data will contain an offset that you will use on the next call for the next 100 records

image

Then you add that offset to your query URL
fetch(https://api.airtable.com/v0/${remoteBaseID}/${remoteTableID}?api_key=${apiKey}&offset=${offset}`)`

Thanks this worked!!