Skip to main content

HTTP API overview

Use these endpoints when calling AltDat directly from your application.

Tables

Convert, transform, analyze, and query tabular data — CSV, Excel, JSON, Parquet, and more

POST/v1/tables/convert

Convert between table formats

POST/v1/tables/transform

Apply a pipeline of operations (filter, sort, aggregate, join, pivot…)

POST/v1/tables/analyze

Describe, correlations, or distribution statistics

POST/v1/tables/query

Run SQL against your file when enabled on your plan

Account & Keys

Register, sign in, and manage API keys — also available in the dashboard

POST/auth/register

Create an account

POST/auth/token

Sign in — returns access + refresh tokens

GET/auth/me

Profile, tier, and monthly usage

GET/auth/keys

List your API keys (masked)

POST/auth/keys

Create a key — shown once, store it safely

Service

Health and readiness probes for monitoring your integration

GET/health

Liveness — always answers if the API is up

GET/ready

Readiness — verifies the database connection

Quick Start Examples

Get up and running with these common use cases

Authentication

Create an API key in the dashboard, then send it in the X-API-Key header with every request

curl -H "X-API-Key: YOUR_API_KEY" \
  https://api.altdat.com/auth/me

Convert a Table

Upload a CSV, get JSON back — the response body is the converted file

curl -X POST https://api.altdat.com/v1/tables/convert \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@data.csv" \
  -F "target=json" \
  -o data.json

Transform Data

Chain operations — filter, sort, aggregate, fill nulls, cast types, string & date ops, pivot, join, and merge

curl -X POST https://api.altdat.com/v1/tables/transform \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@data.csv" \
  -F 'pipeline=[{"op": "filter", "column": "age", "operator": "gt", "value": 18}]'

Query with SQL

Run DuckDB SQL against your file as table `data` when enabled on your plan

curl -X POST https://api.altdat.com/v1/tables/query \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@sales.csv" \
  -F "sql=SELECT region, SUM(revenue) AS total FROM data GROUP BY region"

Interactive API Explorer

Try our APIs directly in your browser with the interactive documentation

Explore the connector API

Browse workflow operations, schemas, and request examples in the API reference. The compact HTTP endpoints above remain available for direct integrations.

Understanding Your Limits

Two independent limits, and they fail differently.

Credits, not calls

Your monthly quota is measured in credits. A request's charge is its operation's current base weight multiplied by the row-volume factor; the live weights and bands are published on the Pricing page. Every response reports what it charged in the X-AltDat-Credits-Charged header, and JSON responses also include credits_charged in the body.

Retry a 429 or 503. Never retry a 402.

429 — rate limited

A short-term throughput limit. It is transient: wait the number of seconds in the Retry-After header and retry. Your quota is untouched.

503 — server busy

Every processing slot is occupied, usually by large conversions. Also transient — retry after a few seconds. Excel (.xlsx) output is by far the most expensive format to produce, so pushing large workbooks at high concurrency is the likeliest way to see this.

402 — out of credits

Your monthly credit quota is exhausted. Retrying will not help until the billing period resets or you upgrade — so a flow should fail and alert rather than retry.

Power Automate “Apply to each” concurrency

This setting causes most throttling reports. Power Automate allows 1–50 parallel branches and defaults to 20 when you enable it — at roughly one second per request that is about 1,200 requests/minute, far above any plan's sustained rate.

Each plan's current burst allowance appears on the Pricing page and in the dashboard. For longer loops, either keep concurrency at or below your plan's per-second rate (divide its requests/minute by 60), or leave it high and add a retry policy — requests are throttled, not dropped. The X-RateLimit-Remaining header on every response lets you back off before being rejected.

Additional Resources

Everything you need to integrate with AltDat

Integrations

Use AltDat from anywhere

  • Power Automate connector
  • Logic Apps
  • Any HTTP client

Formats

Supported table formats

  • CSV / TSV
  • Excel (XLSX)
  • JSON
  • Parquet / Feather / ORC
  • HTML tables

Operations

What you can do with your data

  • Filter, sort, select
  • Aggregate & deduplicate
  • Join, merge & pivot
  • Fill nulls, cast, string & date ops
  • SQL queries (plan permitting)
  • Statistics & correlations

Support

Get help when you need it

  • Email support
  • Dashboard usage tracking
  • Tier comparison on Pricing