CSVLinter

API documentation

A powerful and comprehensive API for validating, analyzing, and linting CSV files. CSVLinter helps ensure data quality by detecting format errors, schema violations, and providing detailed validation reports for your CSV data.

Base URL

https://api.csvlinter.com/v1

Authentication

No authentication is required for the current version of the API. Rate limiting is applied to prevent abuse.

Endpoints

Health check

GET/health

Returns API health and service name.

Response

{
  "status": "healthy",
  "service": "csvlinter-api",
  "version": "1.0"
}

Validate CSV files

POST/validate

Validates one or more CSV files, optionally using a JSON schema. Returns validation results for each file.

Request

Content-Type: multipart/form-data

Parameters
csvrequiredfile

CSV file(s) to validate. Supports 1-5 files with .csv extension or text/csv MIME type.

schemaoptionalfile

JSON schema file for validation. Must have .json extension or application/json MIME type.

delimiteroptionalstring

Field delimiter (single character). Default: ,

fail-fastoptionalstring

Stop at first error. Values: true or false. Default: false

formatoptionalstring

Output format. Values: json or pretty. Default: json

filenameoptionalstring

Logical filename for reporting purposes.

Example request

curl -X POST https://api.csvlinter.com/v1/validate \
  -F "csv=@example.csv" \
  -F "schema=@schema.json" \
  -F "delimiter=," \
  -F "fail-fast=false"

Response

Returns validation results keyed by filename.

Success response (200)
{
  "example.csv": {
    "valid": true,
    "errors": [],
    "warnings": [],
    "info": {
      "rows": 150,
      "columns": 5,
      "encoding": "UTF-8"
    }
  }
}
Error response (400)
{
  "error": "Invalid input",
  "message": "No CSV file provided",
  "code": "MISSING_FILE"
}
Rate limit response (429)
{
  "error": "Rate limit exceeded",
  "message": "Too many requests. Please try again later.",
  "retry_after": 60
}

Rate limiting

The API applies rate limiting to prevent abuse. If you exceed the rate limit, you'll receive a 429 status code with a retry_after field indicating when you can make requests again.

Error handling

The API uses conventional HTTP response codes to indicate success or failure:

  • 200 - Success
  • 400 - Bad Request (invalid input)
  • 429 - Too Many Requests (rate limited)
  • 500 - Internal Server Error

OpenAPI specification

You can access the complete OpenAPI specification at: https://api.csvlinter.com/v1/openapi.json

Need more? Unlock advanced features

The free API is perfect for getting started, but when you're ready to scale your CSV validation workflows, our advanced plan offers powerful features designed for production environments and high-volume operations.

Higher rate limits

Process thousands of files per hour with dedicated infrastructure and priority queuing.

Batch processing

Upload and validate hundreds of CSV files simultaneously with asynchronous processing and webhook notifications.

Custom validation rules

Define complex business logic validation rules specific to your domain and data requirements.

Analytics & reporting

Detailed usage analytics, validation reports, and data quality insights with exportable dashboards.