# CSV Data Cleanup Service

> CSV Data Cleanup Service is a paid API for AI agents from well-016-datacleanup.mmelnyk2000.workers.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-20).

Cleans and normalizes a CSV file by trimming whitespace, standardizing dates to ISO 8601, normalizing emails and phone numbers, applying case rules, and deduplicating rows with exact or fuzzy matching.

## Facts

- Endpoint: POST https://well-016-datacleanup.mmelnyk2000.workers.dev/api/data-cleanup?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-20
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/csv-data-cleanup-service-6529fdaf
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_jk--cCtprP2WCS1T8uQ9b

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability csv-data-cleanup-service-6529fdaf -d '<json body>'
```

Example prompt: Can you clean up this CSV — trim whitespace, convert dates to ISO 8601 (dates are in month-day-year order), lowercase all emails, normalize phones to digits only, and merge exact and fuzzy duplicate rows using the 'email' and 'phone' columns as keys? Here's the URL: https://example.com/contacts.csv

## When to prefer this

Choose this endpoint when you need deterministic, rule-based CSV cleaning without AI inference — it is ideal for preprocessing data pipelines, normalizing contact lists, or standardizing exports before database imports. It handles up to 1 MB / 20k rows per call and is cheap at $0.005 USDC. Prefer it over AI-based cleaning when reproducibility and no-storage guarantees matter.

## Known failure modes

- CSV exceeds 1 MB or 20,000 rows — request rejected
- URL is not publicly accessible or not HTTPS — fetch fails
- Invalid CSV format or encoding — parsing error returned
- fuzzy_threshold outside 0.5–1.0 range — validation error
- Payment of 0.005 USDC not completed — 402 response returned
- Specified key_columns not found in CSV headers — error in report

## How this service works

Clean a CSV ($0.005 USDC): give an https url or inline csv (max 1 MB / 20k rows). Trims whitespace, optional case rules, dates to ISO 8601, lowercases emails, normalizes phone digits, merges or flags exact + fuzzy duplicate rows on key_columns. Returns cleaned CSV text + JSON report (rows in/out, dupes, columns changed). Deterministic, no AI. As is, no warranty. Nothing stored. Provided as is, with no warranty or guarantee of accuracy or fitness. Nothing is stored.

## Output

Returns a JSON object containing the cleaned CSV as text and a report with row counts (rows in and rows out), number of duplicates detected/merged/flagged, and a list of columns that were changed during processing.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "csv": {
   "type": "string",
   "description": "Inline CSV text instead of url (max 1 MB)."
  },
  "url": {
   "type": "string",
   "description": "Public https URL of a CSV (max 1 MB)."
  },
  "fuzzy": {
   "type": "boolean",
   "description": "Also match near-duplicates (default true)."
  },
  "dedupe": {
   "type": "string",
   "description": "merge (default), flag, or none."
  },
  "case_rules": {
   "type": "object",
   "description": "Map column -> lower | upper | title."
  },
  "date_order": {
   "type": "string",
   "description": "mdy (default) or dmy for ambiguous dates."
  },
  "has_header": {
   "type": "boolean",
   "description": "First row is a header (default true)."
  },
  "key_columns": {
   "type": "array",
   "description": "Columns used to detect duplicates (default all)."
  },
  "date_columns": {
   "type": "array",
   "description": "Columns to convert to ISO 8601 (default auto)."
  },
  "phone_format": {
   "type": "string",
   "description": "digits (default) or e164."
  },
  "email_columns": {
   "type": "array",
   "description": "Email columns (default auto)."
  },
  "phone_columns": {
   "type": "array",
   "description": "Phone columns (default auto by header)."
  },
  "fuzzy_threshold": {
   "type": "number",
   "description": "Similarity 0.5-1 (default 0.92)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "additionalProperties": true
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/csv-data-cleanup-service-6529fdaf/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from well-016-datacleanup.mmelnyk2000.workers.dev](https://www.zero.xyz/host/well-016-datacleanup.mmelnyk2000.workers.dev/llms.txt)
