Feature · APIs
Import any REST or GraphQL API into Airtable
If an API returns JSON, CSV or XML over HTTPS, Rowvela can bring it into Airtable. Paste the URL or a cURL command from the API documentation, inspect the response and map the fields.
Requests
- Methods: GET, POST, PUT, PATCH and DELETE. JSON request bodies for everything except GET.
- GraphQL: query and variables, with cursor pagination through
pageInfo. - Headers and query parameters of your own, plus workspace variables like
{{api_base}}reused across imports. - cURL import: paste a command copied from API docs or the browser. Rowvela parses it on the server without calling the source, and moves credentials into encrypted storage.
- Files in requests: send an Airtable attachment as a binary body or multipart file part, for APIs that process documents.
Authentication
| Type | Typical use |
|---|---|
| Bearer token | Stripe, OpenAI, Apify and most modern APIs |
| API key in a header or query parameter | x-api-key, apikey, access_key and similar |
| Basic | WordPress application passwords, older APIs |
| OAuth 2 | Your own OAuth client with authorization code, refresh tokens handled for you |
| OAuth 1.0a | APIs that still sign requests with consumer and token secrets |
| AWS Signature V4 | Amazon S3 objects and other AWS endpoints |
Credentials are encrypted with AES-256-GCM, never sent back to the browser and bound to the source origin. If you change the host or the authentication type, Rowvela asks for the secret again so it cannot be sent somewhere else.
Pagination that does not lose rows
Rowvela supports page number, offset, cursor (from a response field or from the last item, with an optional has-more flag), a next-page URL in the response and the RFC 8288 Link header. On the first response it suggests the right mode automatically.
- Page and offset modes stop only on an empty page, so an API that returns a shorter page does not cut the import short.
- A page or cursor that repeats is reported as an error instead of looping or duplicating rows.
- If the page cap is reached while the source still has data, the run fails instead of silently truncating.
- Next-page URLs must stay on the source host, so your credentials never follow a link to another server.
Shaping the response
Choose which list in the response holds the records, or reshape the whole response with a JMESPath expression. Nested objects and lists are handled in mapping.
Limits
| Limit | Value |
|---|---|
| Response size | 5 MB per response (compressed responses are checked after decompression too) |
| Pages per run | up to 500 |
| Rows per run and records per table | 100,000 by default, configurable up to 500,000 |
| Request timeout | 20 seconds |
Rowvela only connects to public HTTPS hosts on port 443. Private and internal network addresses are blocked, so an import cannot be used to reach servers behind your firewall.