{"id":19640182,"url":"https://github.com/gearplug/airtable-python","last_synced_at":"2026-04-25T08:36:55.161Z","repository":{"id":65215616,"uuid":"584516605","full_name":"GearPlug/airtable-python","owner":"GearPlug","description":"airtable-python is an API wrapper for Airtable, written in Python","archived":false,"fork":false,"pushed_at":"2023-03-28T15:36:30.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-02-26T22:44:39.090Z","etag":null,"topics":["airtable","api","database","notifications","oauth2","python","records","tables","webhooks","wrapper"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GearPlug.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-02T19:44:42.000Z","updated_at":"2023-10-06T17:21:43.000Z","dependencies_parsed_at":"2025-01-10T10:53:49.252Z","dependency_job_id":null,"html_url":"https://github.com/GearPlug/airtable-python","commit_stats":{"total_commits":14,"total_committers":1,"mean_commits":14.0,"dds":0.0,"last_synced_commit":"5feb765116039522c1a3672c4c20c07a61250849"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GearPlug/airtable-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GearPlug%2Fairtable-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GearPlug%2Fairtable-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GearPlug%2Fairtable-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GearPlug%2Fairtable-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GearPlug","download_url":"https://codeload.github.com/GearPlug/airtable-python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GearPlug%2Fairtable-python/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262018759,"owners_count":23245619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["airtable","api","database","notifications","oauth2","python","records","tables","webhooks","wrapper"],"created_at":"2024-11-11T14:04:56.963Z","updated_at":"2026-04-25T08:36:55.132Z","avatar_url":"https://github.com/GearPlug.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://img.shields.io/badge/version-0.1.0-success) ![](https://img.shields.io/badge/code-Python-4B8BBE?logo=python\u0026logoColor=white)\n# airtable-python\n\n*airtable-python* is an API wrapper for Airtable, written in Python\n- Use this library if you are interested in Oauth authentication and webhook notifications.\n\n## Installing\n```\npip install airtable-python\n```\n## Usage\n```\nfrom airtable.client import Client\nclient = Client(client_id, client_secret, redirect_uri, code_verifier)\n```\n*Note: If you already have an access token, you can initiate Client without any parameters and directly set token with the access token you have as a dictionary client.set_token({\"access_token\": token})*\n### Get access_token\nTo get the access token using Oauth2 follow the next steps.\nCheck https://airtable.com/developers/web/api/oauth-reference for more info:\n\n1. Get authorization URL to receive code\n```\nurl = client.authorization_url(state)\n```\n2. Get access token using code\n```\ntoken = client.token_creation(code)\n```\n3. Set access token\n```\nclient.set_token(access_token)\n```\nIf your access token expired, you can get a new one using refresh_token:\n```\nresponse = client.refresh_access_token(refresh_token)\n```\nAnd then set access token again...  \n\n### Get current user\n```\nuser = client.get_current_user()\n```\n### List Bases\n```\nbases = client.list_bases()\n```\n### List Tables\n```\ntables = client.list_base_tables(baseId)\n```\n### List records\n```\nrecords = client.list_records(\n    baseId, \n    tableId, \n    pageSize=None, \n    maxRecords=None, \n    filter_field=None, \n    filter_value=None, \n    sort_field=None, \n    sort_direction=None\n)\n# baseId and tableId are required\n# sort_direction options are 'desc' or 'asc'\n```\n### Create Records\n```\nrecords = [\n    {\n        \"fields\": {\n          \"Projects\": \"Project from python\",\n          \"Status\": \"In progress\",\n          \"Complete?\": False\n        }\n    },\n]\nrecords = client.create_records(baseId, tableId, records)\n```\n### Update Record\n```\ndata = {\n    \"Status\": \"Complete\",\n    \"Complete?\": True\n}\nrecord = client.update_record(baseId, tableId, recordId, data)\n```\n### Update Multiple Records\n```\nrecords = [\n    {\n        \"id\": \"recB4UscNECOHnT7y\",\n        \"fields\": {\n            \"Number\": 10000,\n        },\n    },\n    {\n        \"id\": \"recFkktx671jlvyj8\",\n        \"fields\": {\n            \"Number\": 20000,\n        },\n    },\n]\nupdated_records = client.update_record(baseId, tableId, records)\n```\n### List Collaborators (needs enterprise scopes access)\n```\ncollabs = client.list_collaborators(baseId)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgearplug%2Fairtable-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgearplug%2Fairtable-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgearplug%2Fairtable-python/lists"}