Built for Airtable power users

Permanent CSV URLs for Airtable → Google Sheets

Stream unlimited Airtable rows into Google Sheets through one permanent URL — no 2,000-row cap, linked and lookup fields resolved automatically. The same export also gives you JSON and XML URLs for scripts, apps, and feeds.

Free plan available Cancel anytime Prorated upgrades

rows per export
< 3 s cached re-imports
5 min min refresh interval
100% linked / lookup fields resolved
The 2,000-row ceiling

Built where other Airtable exporters stop

Most CSV-export tools for Airtable cap each file at 2,000 records — past that you filter, chunk, and stitch files back together in Sheets. ExportPanda has no such cap: one permanent URL streams the whole table.

Typical Airtable CSV exporters
2 000
Hard cap per file. Past that you filter, split, re-export, and glue the pieces back together — every refresh.
ExportPanda
Streaming pagination across the Airtable API — one stable CSV URL, any table size, no manual chunking.
Head-to-head

How ExportPanda compares

Most alternatives are either a generic multi-source exporter or a giant Airtable-automation bundle. We do one thing — turn any Airtable table into a permanent, always-fresh CSV URL — and we do it without the quiet row caps that break large views.

Generic CSV exporter
Bundled Airtable suite
ExportPanda
Rows per export
Often capped at 2,000
2,000-record cap
Unlimited (paginated)
Connect your Airtable
Paste API key
OAuth only
OAuth or Personal Access Token
Linked & lookup fields
Raw record IDs
Partial / manual
Resolved automatically
Google Sheets helper
Copy-paste URL
Extra setup
Ready-made IMPORTDATA
JSON & XML export
Usually CSV-only
CSV / varies by product
JSON and XML links per export
Paid plan starts at
Multi-source pricing
$49–$199/mo bundle
$30/mo · $10 first

Feature comparisons are based on the public pricing pages and docs of the respective services at the time of writing.

Features

Everything you need to ship data to Sheets

Built specifically for Airtable + Google Sheets workflows — no generic integration middleware.

Unlimited rows

Paginated streaming export — no 2 000-row cap. Works with the biggest Airtable tables.

Linked & lookup fields

Recursive resolution turns record IDs into human-readable primary values, no matter how deep the chain.

@

CSV, JSON & XML

One export, three formats: CSV for Google Sheets IMPORTDATA, JSON for APIs and automations, XML for feeds and integrations.

Auto refresh & cache

Configurable refresh intervals and built-in caching keep your Airtable API quota under control.

How it works

From Airtable token to Google Sheet in 3 steps

1

Connect Airtable

Connect via OAuth in one click — pick the bases to share right inside Airtable — or paste a Personal Access Token with read-only access. Either way, credentials are encrypted at rest.

2

Configure the export

Pick base, table, view, and columns. Linked records, lookups, and rollups are resolved to each target's primary field — no opaque recXXX… ids. Formulas, attachments, and multi-selects render as plain strings ready for Sheets, Excel, or downstream pipelines.

3

Paste into Sheets

Paste the IMPORTDATA formula for CSV. Use the JSON and XML URLs from the same export elsewhere; Sheets refreshes when Google refetches the CSV.

Security & privacy

Your Airtable data, handled like it matters

A small, focused team — with boring, well-known primitives underneath. Everything below is how ExportPanda actually ships today.

HTTPS everywhere

TLS terminates at Caddy with auto-renewed Let's Encrypt certs. Every request — admin, billing, and every CSV fetch — travels over encrypted HTTP/2.

Payments by Stripe

Card details never touch our servers. Stripe Checkout is PCI DSS Level 1 — we only receive a customer token and webhook events to keep your plan in sync.

Credentials encrypted at rest

Every Airtable credential — PAT or OAuth access and refresh tokens — is sealed with AES-256-GCM before it hits disk. OAuth refresh tokens rotate on every use, so a leaked backup goes stale fast.

Strong password hashing

Passwords are stretched with scrypt (N=16384, r=8, p=1) and a per-account random salt. No plaintext, no reversible hashes, no shared pepper.

Bot & abuse protection

Per-IP rate limits on /e/*.csv, auth, and admin endpoints, with an elevated allowance for verified Google IP ranges so Sheets imports stay fast. SSH itself is behind fail2ban.

Unguessable CSV URLs

Every export link carries a 48-hex token from a CSPRNG (2192 combinations). Unknown, disabled, or deleted exports all return an identical 404 — no oracle for brute force.

Least-privilege scopes

We ask Airtable only for what the product needs: schema.bases:read and data.records:read. No write access, no webhook scopes, no workspace admin.

Daily encrypted backups

The SQLite database is snapshotted every night, gzipped, and kept for 30 days on disks that never leave the server. Sensitive fields stay encrypted inside the dump.

Share links, not credentials

Export URLs use only an opaque id and random token. Your Airtable personal access token stays encrypted on the server — it is never appended to CSV, JSON, or XML links you share.

Found something that doesn't look right? Email security@exportairtable.com and we'll respond within one business day.

Authorization options

PAT vs OAuth — pick what fits

Both sit side-by-side in Authorizations and power the same export URLs. Each has trade-offs — for example, a PAT stays valid until you revoke it (no periodic reconnect), while OAuth skips token copy-paste but can ask you to sign in again after long idle periods or Airtable-side changes.

PAT
OAuth
How you connect
Create & paste token
One-click consent
Scopes & bases you share
Set at token creation
Pick bases on consent
Refreshing access tokens
Manual
Auto, every ~60 min
How long access lasts
Until revoked
60-day idle timeout
If access needs renewal
No need to reconnect
One click, URLs unchanged
Credentials on disk
AES-256-GCM
AES-256-GCM + rotation
Pricing

Simple, predictable pricing

Start free. Upgrade when you outgrow it — credits are prorated day-by-day.

Free

Solo / trial.

$0 /month

Forever free, no card required.

  • One permanent export
  • CSV only available
  • Up to 200 API calls / month
  • Auto refresh: 6 h or daily
  • 30-day usage log retention

Business

Agencies, Airtable Business/Enterprise.

$70 /month

Billed monthly. Cancel anytime.

  • Up to 100 exports
  • CSV, JSON & XML per export
  • Unlimited API calls (fair use)
  • Auto refresh from 5 min
  • 90-day usage log retention
  • Prorated upgrades & downgrades
  • Curated XML templates

Prices in USD. Payments will be processed securely by Stripe — we're finalising checkout right now and payment is simulated in your dashboard until it's live.

Feature Free$0 Plus$30/mo Business$70/mo
Permanent export URLs 1 10 100
Rows per export Unlimited Unlimited Unlimited
Linked, lookup & rollup fields Resolved Resolved Resolved
Monthly API calls to Airtable 200 10,000 Unlimited*
Auto refresh intervals 6 h / 1 d 1 h / 6 h / 1 d 5 min / 15 min / 1 h / 6 h / 1 d
Usage log retention 30 days 30 days 90 days
Column selection & ordering
Manual "Refresh now"
Usage dashboard & forecast
Prorated plan changes
PAT & OAuth connections
Google Sheets IMPORTDATA helper
CSV exports
JSON & XML exports
Curated XML templates
Priority support

* Business "Unlimited" is governed by a fair-use threshold to protect Airtable's own quotas — we'll reach out before any enforcement.

FAQ

Frequently asked

Does it hit the 2,000-row limit I see in other tools?

No. Popular Airtable exporters cap each file at 2,000 records; ExportPanda streams paginated API requests, so one permanent URL returns 50,000+ rows with the same setup.

How do I connect my Airtable — PAT or OAuth?

Same Authorizations block, same exports. OAuth — sign in and pick bases in Airtable. PAT — paste a token with data.records:read and schema.bases:read permissions.

How does upgrading mid-cycle work?

Unused days on your current plan are converted to credit at your current daily rate. That credit is applied toward the new plan — you only pay the difference.

What about downgrading?

Your remaining credit is re-priced at the cheaper plan's daily rate, which extends your end date automatically. You keep every dollar you've paid.

How do I pay?

Cards are processed by Stripe Checkout over TLS — your card number never touches our servers. Upgrades, downgrades, and cancel-at-period-end are handled inline from your billing page with full proration.

Can I use it with my Airtable plan?

Yes. ExportPanda's limits are independent of Airtable's API quota. We recommend Plus for Airtable Team workspaces and Business for Airtable Business/Enterprise.

Are my Airtable tokens safe?

Both Personal Access Tokens and OAuth access / refresh tokens are encrypted at rest with AES-256-GCM using a secret only the application server holds. We request read-only scopes (schema.bases:read and data.records:read) — nothing else.

Can I share the CSV URL with tools other than Sheets?

Absolutely. The CSV is plain HTTP — it works with Excel, Power BI, Looker Studio, cron jobs, n8n, Zapier, or almost any other script.

Do you support JSON or XML exports?

Yes, on the Plus and Business plans. Every paid export includes stable .json and .xml URLs alongside CSV, with the same resolved fields. The Free plan is CSV-only. Business adds curated XML layouts (for example ?google for a Merchant-style product feed).

Does every IMPORTDATA refresh hit my Airtable base?

No. Google Sheets and other tools only fetch your ExportPanda URL. We read Airtable on your behalf according to your export settings (including optional caching), so those clients never talk to Airtable’s API directly.

Ready to ship Airtable data into Sheets?

Start on Free, upgrade when you need it. No lock-in.

Create free account
TLS 1.3 — HTTPS via Let's Encrypt AES-256-GCM — tokens encrypted at rest scrypt password hashing
Payments securely processed by Stripe