Skip to content
data · documents · data · cleaning · csv · tsv · json · jsonl · yaml · normalize · deterministic · integrity

Dataset cleaning

Clean CSV, TSV, JSON, JSON Lines, or YAML records with collision-safe header normalization, deterministic integrity hashes, and exact transformation counts.

$0.01 USDCBase + Solanax402 v2POST
Pay $0.01 USDC and run in your browserView free result sample

Endpoint

https://apiacre.com/v1/data/clean

Send the JSON body below. An unpaid request returns HTTP 402 with a PAYMENT-REQUIRED header; an x402-compatible buyer signs the requirement and retries with PAYMENT-SIGNATURE.

Pay $0.01 USDC and run in your browser

Official Coinbase agent path

Coinbase Agentic Wallet can satisfy this x402 request in one command. Running it may pay automatically, so --max-amount is fixed to $0.01 USDC in atomic units. Copying the command does not install, authenticate, sign, or pay; review the request and use a separate low-value wallet before running it.

npx --yes awal@latest x402 pay https://apiacre.com/v1/data/clean \
  -X POST \
  -d '{"content":"name,score\n Ada ,98","format":"csv"}' \
  --max-amount 10000 \
  --json

Coinbase pay-for-service documentation · Buyer setup and wallet safety

Alternative third-party AgentCash commands

Run check first without payment. Its fetch command may automatically pay up to the exact listed price.

npx --yes agentcash@latest check https://apiacre.com/v1/data/clean
npx --yes agentcash@latest fetch https://apiacre.com/v1/data/clean \
  --method POST \
  --header 'content-type: application/json' \
  --body '{"content":"name,score\n Ada ,98","format":"csv"}' \
  --payment-protocol x402 \
  --payment-network base \
  --max-amount 0.010

AgentCash CLI documentation

Input example

{
  "content": "name,score\n Ada ,98",
  "format": "csv"
}

Response shape

View free static sample JSON

{
  "request_id": "018f1f54-7f38-7ba2-8dc3-5f90272d9f1a",
  "service": "data.clean",
  "version": "1",
  "data": {
    "records": [
      {
        "name": "Ada",
        "score": "98"
      }
    ],
    "rows": 1,
    "inputSha256": "421bdab658ee74ca45a19d7f7dbeb56ca7a52f249d7a8a7270eb9c633b5b04c4",
    "outputSha256": "952b31f519c09cf5c34d4ea6439175e6e77411228788aed1af6bec103155a465",
    "cleaning": {
      "version": "apiacre-data-clean/2",
      "sourceFormat": "csv",
      "trimStrings": true,
      "emptyStringsAsNull": true,
      "normalizeHeaders": true,
      "headerFieldsNormalized": 0,
      "stringsTrimmed": 1,
      "emptyStringsConvertedToNull": 0,
      "nodesProcessed": 4,
      "nonStringKeysNormalized": 0,
      "dateTimeScalarsNormalized": 0,
      "outputCanonicalization": "json-sort-keys-compact-utf8",
      "deterministic": true,
      "networkRequestsMade": 0
    },
    "warnings": []
  },
  "meta": {
    "duration_ms": 42,
    "cached": false,
    "sources": [],
    "warnings": [],
    "next_actions": [
      {
        "service": "data.schema",
        "title": "JSON Schema generator",
        "reason": "Infer a reusable Draft 2020-12 contract from the cleaned records.",
        "method": "POST",
        "path": "/v1/data/schema",
        "price": "$0.025",
        "input_template": {
          "content": "$json($result.data.records)",
          "format": "json",
          "root_mode": "records"
        },
        "use_output": "Persist result.data.schema and compare its input fingerprint with the cleaned-record artifact retained by the buyer.",
        "handoff_path": "/catalog/data.schema",
        "checkout_path": "/try/data.schema",
        "sample_path": "/samples/data.schema",
        "maximum_atomic_usdc": "25000",
        "handoff_payment_required": false,
        "executes_automatically": false,
        "authorization_required": true
      }
    ]
  }
}

Continue this workflow

These optional follow-ups use this result in a larger workflow. Each call shows a fresh x402 challenge and requires separate buyer authorization.

Try the payment challenge

curl -i -X POST 'https://apiacre.com/v1/data/clean' \
  -H 'content-type: application/json' \
  --data '{"content":"name,score\n Ada ,98","format":"csv"}'