Back to projects
rairtable
RAn R package for working with the Airtable API efficiently at scale. Existing packages sent one row per request — with a 5 req/sec rate limit and tables up to 50,000 records, that meant hours of waiting. rairtable batches up to 10 records per request with parallel JSON encoding, and returns tidy data frames that fit into normal Tidyverse workflows.
Downloads
250+/month, multi-year sustained
Throughput
1 row/req → 10 rows/req + parallel encoding
Capability
Preferred R Airtable wrapper
What I built
Stack
- R
- S3 (OOP)
- Airtable API
Key decisions
- Batched API requests (10 records per call) — the Airtable API supports it but no existing R package used it, and it’s the only way large tables become practical under the rate limit
- Parallel JSON encoding — batching shifted the bottleneck from network to serialization, so the encoding step needed its own fix
- Returned tidy data frames instead of custom objects — adoption depends on fitting into workflows people already have, not forcing them into new ones