{"uid":"cap_VPnAFrFrZKf4AwfWiW0VU","slug":"data-quality-gate-25bd677a","name":"Data Quality Gate","description":"Deterministic post-scrape data cleaner and quality gate for AI agents. Three tiers over one engine, no LLM anywhere: the same input always produces byte-identical output.\n\n**CLEAN** (`POST /api/clean`, $0.04) - post the raw output of a scrape, get the REPAIRED data back as the response body: residual HTML stripped, mojibake decoded (\"CafÃ©\" -> \"Café\"), invisible characters removed, non-breaking spaces normalised, values trimmed, across nested objects and arrays. It repairs how data was ENCODED and never what it SAYS: a negative price or a failed extraction (\"captcha\", \"access denied\") is reported, never rewritten or deleted. Call it after every extraction run - a verdict is cached per source, but dirt is produced fresh by every run.\n\n**CLEAN + AUDIT** (`POST /api/clean/audit`, $0.12) - identical repaired data plus a complete, replayable, reversible ledger of every transformation, with a replay_id and input/output SHA-256. Applying the ledger in reverse reconstructs the input byte for byte.\n\n**VERDICT** (`POST /api`, $0.01) - score + exact facts + a RELIABLE / USABLE_WITH_CLEANING / UNRELIABLE judgement, for deciding whether to trust a source at all. Facts-only signals (price_divergence, text_cleanliness, a robust MAD cross-check) report alongside without moving the score.\n\nWhat is repaired automatically, what needs an explicit opt-in, and what is only ever reported is published in full at `GET /api/clean` - machine-readable, and auditable before you pay. Paid via x402: no account, no API key, no signup.","url":"https://www.aidatatools.dev/api","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"array","items":{"type":"object"},"description":"The scraped data to process. A JSON array of objects, a single object, a CSV string or raw text are all accepted -- the endpoint detects the shape and gives the same shape back."},"type":{"type":"string","const":"http"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":{"type":"json","example":{"score":83.75,"checks":[{"name":"text_cleanliness","detail":"2 of 30 values carry mojibake","status":"warn"}],"verdict":"RELIABLE"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_jD_23oLy1swXwe6wkukAM","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Analyzes a JSON dataset and returns a deterministic quality verdict (RELIABLE / USABLE_WITH_CLEANING / UNRELIABLE) with metrics on completeness, nulls, type consistency, duplicates, outliers, and cardinality.","exampleAgentPrompt":"Run a data quality check on this JSON dataset and tell me whether it's reliable, usable with cleaning, or unreliable — I need to know about any nulls, duplicates, outliers, and type inconsistencies before I load it into my pipeline.","exampleUseCases":[{"title":"Pre-pipeline data ingestion audit","prompt":"Before we load this JSON dataset into the warehouse, can you run a quality gate on it and tell me if it's reliable or needs cleaning? Flag any nulls, duplicates, or impossible values you find."},{"title":"ML training data readiness check","prompt":"I'm about to train a model on this JSON dataset — can you check its data quality and give me a verdict on whether it's reliable enough, along with completeness and outlier stats?"},{"title":"Third-party data vendor validation","prompt":"We just received a JSON data export from a vendor. Can you run it through a quality check and tell me if the data is reliable, what the completeness looks like, and whether there are any type inconsistencies or duplicates?"}],"resultDescription":"Returns a deterministic quality verdict — one of RELIABLE, USABLE_WITH_CLEANING, or UNRELIABLE — along with exact metrics: completeness percentage, null counts per field, type consistency flags, impossible value detections, duplicate row counts, outlier identifications, and cardinality statistics per column. Results are fully reproducible: identical input always produces identical output.","failureModes":["Invalid or malformed JSON payload returns a parsing error","Empty dataset or zero-row input may return an error or trivial verdict","Extremely large datasets may time out or exceed payload size limits","Missing required fields in the JSON body result in a 400-level error"],"whenToPreferThis":"Choose this endpoint when you need a fast, deterministic, traceable data quality verdict on a JSON dataset with no probabilistic or LLM-based variability — ideal for CI/CD data pipelines, pre-model training checks, and vendor data audits where reproducibility and exact metrics matter. Prefer it over LLM-based data review when you need identical outputs for identical inputs and auditable fact-based metrics rather than narrative summaries.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T06:33:16.805Z","isFirstParty":false}