API Documentation

Everything you need to query your CSV-backed APIs.

Authentication

Include your API key as a Bearer token in the Authorization header, or pass it as a query parameter.

Header (recommended)

curl -H "Authorization: Bearer {api_key}" \

"https://csv-api.com/api/v1/datasets/{public_id}/records"

Query parameter

curl "https://csv-api.com/api/v1/datasets/{public_id}/records?api_key={api_key}"

Endpoints

Method Path Description
GET /api/v1/datasets/:public_id/records List records with filtering, sorting, and pagination
GET /api/v1/datasets/:public_id/records/:id Get a single record by ID

All requests require authentication via Authorization: Bearer <api_key> header or ?api_key=<api_key> query parameter.

Filtering

Filter records using query parameters.

Parameter Description Example
filter[col]=val Exact match ?filter[city]=Portland
filter[col][gt]=val Greater than ?filter[age][gt]=21
filter[col][gte]=val Greater than or equal ?filter[price][gte]=10
filter[col][lt]=val Less than ?filter[score][lt]=100
filter[col][lte]=val Less than or equal ?filter[weight][lte]=50
filter[col][like]=val Case-insensitive contains ?filter[name][like]=john
filter[col][ne]=val Not equal ?filter[status][ne]=inactive

Sorting

Sort results by one or more columns. Prefix with - for descending order. Separate multiple columns with commas.

# Ascending

?sort=name

# Descending

?sort=-created_date

# Multiple columns

?sort=city,-age

Pagination

Results are paginated. Default: 25 per page, maximum: 100.

?page=2&per_page=50

The response includes a meta object:

{
  "data": [...],
  "meta": {
    "total": 1000,
    "page": 2,
    "per_page": 50,
    "total_pages": 20
  }
}

Field Selection

Return only specific columns to reduce payload size.

?fields=name,email,age

Rate Limits

Plan Requests per Hour
Free 100
Pro 1,000
Enterprise 10,000

When exceeded, the API returns 429 Too Many Requests.