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"
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}"
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.