Data cleaning API

Clean messy data with one API call

Send messy records and get production-ready data back — schema inferred, field names reconciled, values normalized and safely repaired, duplicates merged, anomalies flagged, with a full audit trail.

The problem

Real-world data arrives inconsistent: mixed casing, "$1.2M" next to "1200000", the same field under three different names, near-duplicate rows. Wiring up normalize, dedupe, and validation yourself means owning a brittle pipeline that every new data source threatens to break.

What you get

  • One call composes normalization, deduplication, and anomaly detection
  • Reconciles equivalent field names across sources automatically
  • Merges duplicates only at high confidence; flags the rest
  • Returns a complete audit trail — billed once per credit

Call it in one request

Plain HTTPS and JSON against /api/v1/repair. Use the SDK for typed calls, or hit the endpoint directly — same contract either way.

cURL
curl https://zapinner.com/api/v1/repair \
  -H "Authorization: Bearer zap_live_••••••" \
  -H "Content-Type: application/json" \
  -d '{"records":[{"Company Name":"ACME, INC.","Email":" JOHN@ACME.COM ","Revenue":"$1.2M","signup":"3/7/26"},{"company":"Acme Inc","email_address":"john@acme.com","revenue":"1200000","created":"2026-03-07"}]}'
JavaScript (fetch)
const res = await fetch("https://zapinner.com/api/v1/repair", {
  method: "POST",
  headers: {
    Authorization: "Bearer zap_live_••••••",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "records": [
    {
      "Company Name": "ACME, INC.",
      "Email": " JOHN@ACME.COM ",
      "Revenue": "$1.2M",
      "signup": "3/7/26"
    },
    {
      "company": "Acme Inc",
      "email_address": "john@acme.com",
      "revenue": "1200000",
      "created": "2026-03-07"
    }
  ]
}),
})
const data = await res.json()
@zapinner/sdk
import { Zapinner } from "@zapinner/sdk"

const zap = new Zapinner({ apiKey: process.env.ZAPINNER_API_KEY })

const result = await zap.request("/api/v1/repair", {
  "records": [
    {
      "Company Name": "ACME, INC.",
      "Email": " JOHN@ACME.COM ",
      "Revenue": "$1.2M",
      "signup": "3/7/26"
    },
    {
      "company": "Acme Inc",
      "email_address": "john@acme.com",
      "revenue": "1200000",
      "created": "2026-03-07"
    }
  ]
})

Frequently asked

What does one call actually do?
It inspects your records, infers a schema, reconciles equivalent field names, normalizes and safely repairs values, detects and merges high-confidence duplicates, flags anomalies, and returns clean records with an audit trail.
Is it safe to run on production data?
Yes. Repairs are conservative, duplicate merges require high confidence, and every change is reported so nothing is altered silently.
How is it billed?
Once per credit, even though it composes several operations under the hood — so a full clean costs the same as a single pass.

Related solutions

Ship it today with Zapinner

One API key, one consistent interface, 79 data capabilities. Start on the free plan — no credit card required.

Canonical: https://zapinner.com/solutions/clean-messy-data