Skip to main content

Hello.


I am really new to the Airtable API and for some reason connecting the API this way did not work-



    at = airtable.Airtable('Base_Key', 'Airtable_Key')



But I got it working this way -





get_url = ‘https://api.airtable.com/v0/BASE_ID/TABLE_NAME’


get_headers = {


‘Authorization’: ‘Bearer API_KEY’ }



Response = requests.get(get_url, headers=get_headers)


Response_Table = Response.json()





However, this fetches only the first 100 records and am reading about offset and pagination but I am unable to figure how to incorporate it into this code.



Thank you for the time!

Update :


I am trying this way -



get_url = 'https://api.airtable.com/v0/appXXXXXXXXXX/TABLE_NAME'

get_headers = {

'Authorization': 'Bearer keyXXXXXXXXX' ,

'Offset' : 'itrXXXXXXX/recXXXXXXX'

}



try :

Response= requests.get(get_url, headers=get_headers})

Response_Table = Response.json()

#print(Response_Table)



except error as e:

print(e)



And I get the error :



{'error': {'type': 'INVALID_OFFSET_VALUE', 'message': 'The value of offset ‘itrXXXXXX/recXXXXXX’ is invalid'}}



I would appreciate any leads. Thank you!


Update :


I am trying this way -



get_url = 'https://api.airtable.com/v0/appXXXXXXXXXX/TABLE_NAME'

get_headers = {

'Authorization': 'Bearer keyXXXXXXXXX' ,

'Offset' : 'itrXXXXXXX/recXXXXXXX'

}



try :

Response= requests.get(get_url, headers=get_headers})

Response_Table = Response.json()

#print(Response_Table)



except error as e:

print(e)



And I get the error :



{'error': {'type': 'INVALID_OFFSET_VALUE', 'message': 'The value of offset ‘itrXXXXXX/recXXXXXX’ is invalid'}}



I would appreciate any leads. Thank you!


After a lot of issues, I found this solution.


Posting it for anyone else facing the same problem.





global offset

offset = '0'

result = t]



while True :

url = "https://api.airtable.com/v0/BASE_ID/TABLE_NAME"

querystring = {

"view":"Published View",

"api_key":"YOUR_KEY",

"offset": offset}



try :

response= requests.get(url, params=querystring)

response_Table = response.json()

records = list(response_Tablea'records'])

result.append(records)

#print(recordso0]s'id'] , len(records))



try :

offset = response_Tablea'offset']

#print(offset)



except Exception as ex:

#print(ex , offset)

break



except error as e:

print(e)





Thank you!


Reply