{"uid":"cap_ScENaowOSPXg6A38DhOY-","slug":"animica-extract-structured-data-extraction-from-unstructured-text-fe9e258d","name":"Animica Extract — Structured Data Extraction from Unstructured Text","description":"Turn messy text — a web page, email, invoice, receipt, job posting, contract clause, product description — into strict JSON matching a schema YOU supply. The schema is enforced in code, not merely requested: output is parsed, validated, repaired once against the exact validation error, and the call FAILS with the violated constraint rather than returning unvalidated JSON. Fields not present in the input come back null instead of a plausible invention. Priced per call. For high-volume use, buy prepaid credits (POST /x402/credits/buy) and send X-Animica-Credits on each request — no settlement, no gas, no per-call payment round trip. Paying in ANM on the animica:1 lane is also ~25% cheaper because we sponsor no gas there.","url":"https://animica.dev/x402/extract","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"input":{"type":"string","description":"the unstructured text to extract from"},"schema":{"type":"object","description":"JSON Schema the result must satisfy (subset: type, properties, required, items, enum, const, min/max, minLength/maxLength, minItems/maxItems, additionalProperties)"},"instruction":{"type":"string","description":"optional extra guidance, e.g. \"amounts in minor units\""}}},"responseSchema":{"type":"json"},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001796","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","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.001796/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001796","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001796","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_edfnlQOzu2TEM0-yhEmwO","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001796","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Extracts structured, schema-validated data from unstructured text using AI, returning a JSON object that conforms to a user-supplied JSON Schema.","exampleAgentPrompt":"Extract the vendor name, invoice date, total amount, and line items from this invoice text and return them as a JSON object: 'Invoice from Acme Corp dated 2024-03-15, total $1,250.00 — 5 widgets at $200 each, 1 setup fee at $250.'","exampleUseCases":[{"title":"Invoice data extraction for accounting","prompt":"Pull the vendor name, invoice date, total amount in cents, and a list of line items (each with description and unit price) from this invoice text: 'Bill from Globex Inc., March 20 2024, total $3,400 — 10 server units at $300 each, $400 support fee.' Return it as structured JSON."},{"title":"Job posting parser for recruiting tool","prompt":"Parse this job posting into a structured record with fields for job title, company name, location, salary range, required skills, and employment type: 'Senior Backend Engineer at Stripe, San Francisco or remote, $180k–$220k, requires Go and Kubernetes, full-time.'"},{"title":"Medical note field extractor","prompt":"Extract the patient name, diagnosis, prescribed medication, dosage, and follow-up date from this clinical note: 'Patient John Doe diagnosed with hypertension. Prescribed lisinopril 10mg daily. Follow-up in 6 weeks on April 30, 2024.'"}],"resultDescription":"A JSON object with the key 'data' containing the extracted values validated against the provided JSON Schema, plus metadata: 'model' (which AI model was used), 'attempts' (how many inference attempts were made), 'repaired' (boolean indicating if the output needed schema repair), and 'unsupported_schema_keywords' (list of any schema keywords that were ignored).","failureModes":["Schema too complex or uses unsupported JSON Schema keywords — unsupported keywords listed in response but not enforced","Text contains insufficient information to populate required schema fields — model may hallucinate or return nulls","Malformed input schema — request rejected or partial extraction","Repeated validation failures after max attempts — may return best-effort result with repaired flag set true","Payment failure via x402 — 402 response before extraction is attempted"],"whenToPreferThis":"Use this endpoint when you need to extract structured, schema-validated data from arbitrary unstructured text and want a single API call that handles both the AI inference and output validation. It is particularly well-suited for agents that need deterministic typed output (e.g. for downstream JSON processing) rather than a free-text AI response. Prefer it over generic LLM calls when you want schema enforcement, automatic repair, and pay-per-call pricing without managing your own AI API keys.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T00:46:58.913Z","isFirstParty":false}