{"id":36499443,"url":"https://github.com/marcellocurto/easy-airtable-api","last_synced_at":"2026-01-12T02:17:12.674Z","repository":{"id":192838900,"uuid":"687512760","full_name":"marcellocurto/easy-airtable-api","owner":"marcellocurto","description":"Easy way to use the Airtable API with Node.js.","archived":false,"fork":false,"pushed_at":"2024-11-07T13:52:18.000Z","size":156,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-11T00:36:15.805Z","etag":null,"topics":["airtable","airtable-api"],"latest_commit_sha":null,"homepage":"https://marcellocurto.com/code/easy-airtable-api","language":"TypeScript","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/marcellocurto.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-09-05T14:04:41.000Z","updated_at":"2024-12-17T02:35:41.000Z","dependencies_parsed_at":"2024-04-25T14:48:27.914Z","dependency_job_id":"a0f5db3b-a605-4323-918e-96405bae123d","html_url":"https://github.com/marcellocurto/easy-airtable-api","commit_stats":null,"previous_names":["marcellocurto/easy-airtable-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/marcellocurto/easy-airtable-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcellocurto%2Feasy-airtable-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcellocurto%2Feasy-airtable-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcellocurto%2Feasy-airtable-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcellocurto%2Feasy-airtable-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcellocurto","download_url":"https://codeload.github.com/marcellocurto/easy-airtable-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcellocurto%2Feasy-airtable-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28331888,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:36:25.062Z","status":"online","status_checked_at":"2026-01-12T02:00:08.677Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","airtable-api"],"created_at":"2026-01-12T02:17:10.880Z","updated_at":"2026-01-12T02:17:12.662Z","avatar_url":"https://github.com/marcellocurto.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Easy Airtable API\n\nI created this as a simpler alternative to the official Airtable Node.js library.\n\nThis library makes it easier to work with Airtable by providing TypeScript support and straightforward functions for reading and writing records.\n\nWhile this is still an early project and needs more work, you can already use it to fetch and update records in your Airtable bases.\n\nI'm already using it in production for many projects.\n\nIt also supports generating TypeScript definitions for your Airtable tables which is super useful.\n\n## Install\n\n```bash\nnpm install easy-airtable-api\n```\n\n```bash\nbun add easy-airtable-api\n```\n\n## How to Use\n\n### Get a Single Record\n\n```ts\nimport { getRecord } from 'easy-airtable-api';\n\ntype Fields = {\n  Name?: string;\n  Notes?: string;\n  Status?: string;\n};\n\nconst record = await getRecord\u003cFields\u003e({\n  apiKey: 'apiKey',\n  baseId: 'baseId',\n  tableNameOrId: 'tableNameOrId',\n  recordId: 'recordId',\n});\n```\n\n### Get Multiple Records\n\n```ts\nimport { getRecords } from 'easy-airtable-api';\n\ntype Fields = {\n  Name?: string;\n  Notes?: string;\n  Status?: string;\n};\n\nconst records = await getRecords\u003cFields\u003e({\n  apiKey: 'apiKey',\n  baseId: 'baseId',\n  tableNameOrId: 'tableNameOrId',\n  options: {\n    maxRecords: 500,\n  },\n});\n```\n\n### Update a Single Record\n\n```ts\nimport { updateRecord } from 'easy-airtable-api';\n\ntype Fields = {\n  Name?: string;\n  Status?: string;\n};\n\nconst record = await updateRecord\u003cFields\u003e({\n  apiKey: 'apiKey',\n  baseId: 'baseId',\n  tableNameOrId: 'tableNameOrId',\n  recordId: 'recordId',\n  options: {\n    typecast: true,\n  },\n  fields: {\n    Name: 'New Name',\n    Status: 'Active',\n  },\n});\n```\n\n### Update Multiple Records\n\n```ts\nimport { updateRecords } from 'easy-airtable-api';\n\ntype Fields = {\n  Name?: string;\n  Status?: string;\n};\n\nconst records = await updateRecords\u003cFields\u003e({\n  apiKey: 'apiKey',\n  baseId: 'baseId',\n  tableNameOrId: 'tableNameOrId',\n  records: [\n    {\n      id: 'recordId1',\n      fields: {\n        Name: 'New Name 1',\n        Status: 'Active',\n      }\n    },\n    {\n      id: 'recordId2',\n      fields: {\n        Name: 'New Name 2',\n        Status: 'Inactive',\n      }\n    }\n  ],\n  options: {\n    typecast: true,\n  }\n});\n```\n\n### Generate TypeScript Definitions\n\n```ts\nimport { generateTypeScriptDefinitions } from 'easy-airtable-api';\n\nconst types = await generateTypeScriptDefinitions({\n  apiKey: 'apiKey',\n  baseId: 'baseId',\n  tableNameOrId: 'tableNameOrId',\n});\n```\n\n## Changelog\n\n### 0.0.15\n\n- Type generation wraps type keys in quotations\n- Fix various type generation issues\n- added createRecords and createRecord methods\n\n### 0.0.14\n\n- Exported generateTypeScriptDefinitions function.\n\n### 0.0.13\n\n- Added generateTypeScriptDefinitions function to generate TypeScript definitions for Airtable tables.\n\n### 0.0.12\n\n- Reverted making apiKey, baseId, tableId default to undefined\n- Added option to customize delay between requests via options.requestInterval\n\n### 0.0.11\n\n- Make apiKey, baseId, tableId default to undefined #12\n- Missing .js in utils import #13\n\n### 0.0.10\n\n- Fixed deleteRecords implementation errors.\n\n### 0.0.9\n\n- Implemented the deleteRecords method.\n\n### 0.0.8\n\n- Implemented the updateRecords method.\n- Implemented the updateRecordsUpsert method.\n- Added a delay when executing many requests in succession.\n- Fixed the updateRecord and updateRecords methods to return correct field types.\n\n### 0.0.7\n\n- Added all available options for updateRecords.\n- Modified the getRecords function to automatically retrieve all records.\n\n### 0.0.6\n\n- Added all available options for updateRecord.\n- Corrected the path to index.d.ts.\n\n### 0.0.5\n\n- Discontinued CJS build, supporting only ESM for now.\n\n### 0.0.4\n\n- Exported all available methods.\n- Restructured the lib folder to eliminate duplicate types.\n\n### 0.0.3\n\n- Supported both ESM \u0026 CJS builds.\n- Enhanced server error handling.\n- Introduced generic field types.\n\n### 0.0.2\n\n- Developed basic request functions to retrieve or update records.\n- Added type definitions for requests and fields.\n- Conducted basic tests to verify the core functionality of the library.\n\n### 0.0.1\n\n- Initial project setup with no real functionality implemented.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcellocurto%2Feasy-airtable-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcellocurto%2Feasy-airtable-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcellocurto%2Feasy-airtable-api/lists"}