// data_cleaning_api · v2.0 · status: live

Vett

by Dodman Digital

Upload a CSV or XLSX. Define your rules. Get back clean, validated, deduplicated records — synchronously or delivered to your webhook. No pipeline to build.

POST /api/v1/clean
// Request { "rules": [ { "column": "email", "op": "VALIDATE_EMAIL" }, { "column": "phone", "op": "NORMALISE_PHONE" }, { "op": "DEDUPLICATE", "key_columns": ["email"] } ], "file": "contacts.csv" }
// Response · 200 OK { "rows_in": 4218, "rows_out": 3901, "dupes_removed": 317, "status": "clean" }
5M rows / month on Pro
CSV
XLSX
file formats
<1s sync response
v2 current API version
How it works
01
Upload your file

Send a CSV or XLSX via a multipart POST to /api/v1/clean along with your API key and a JSON rules payload.

02
Define your rules

Specify which columns to validate, normalise, deduplicate, strip, or encrypt. Rules execute in sequence across every row.

03
Receive clean data

Get the cleaned file back directly in the response — or supply a webhook URL and have it delivered asynchronously when ready.

Features
Email validation

Validates email syntax across all rows. Invalid addresses are flagged and optionally stripped from the output file.

Phone normalisation

Uses the phonenumbers library to parse and reformat phone numbers into E.164 international standard.

Deduplication

Remove duplicate rows by specifying one or more key columns. Starter tier supports up to 10k rows; Pro handles full-file deduplication.

Webhook delivery

Pass a webhook URL and Vett processes your file asynchronously, posting the result when complete. Includes retry logic and a dead-letter queue.

Starter & Pro
Column encryption

Apply AES encryption to sensitive columns using the ENCRYPT rule with a custom salt. Output data stays encrypted at rest.

Pro only
Usage dashboard

Monitor row consumption, API key activity, billing status, and job history from a real-time dashboard. Test and live environments separated.

Pricing
Sandbox
Test without limits on time
Free
10,000 rows / month
Test API keys (dk_test_)
Sync file cleaning
Email & phone validation
20-row preview per request
Webhook delivery
Encryption
Get started
Pro
For production workloads
$ 60 / mo
5,000,000 rows / month
Up to 5 live API keys
Full deduplication (any size)
Column encryption (AES)
Priority rate limits
Webhook + dead-letter queue
500/min burst limit
Go Pro
Enterprise
Custom volumes & SLAs
Talk
to us
Unlimited · custom quotas
Everything in Pro
Custom row quotas
Dedicated support
SLA agreement
Custom integrations
Contact us

Local-currency amounts are estimates for reference, refreshed periodically — billing is always in USD. Exchange rates via ExchangeRate-API.

Start cleaning data today.

Free sandbox. No credit card required. 10,000 rows a month on us.