Extract API

Extract a declared set of fields from unstructured text using the AI SDK via the Vercel AI Gateway. The text is treated as untrusted data: fields with no clear value come back null rather than fabricated.

This capability is in beta. The contract is stable, but behavior may still be refined.

What it does

Pull caller-declared structured fields out of unstructured text.

When to use it

Reach for Extract when you need to answer: What structured data is in this text? It sits in the Understand stage of the catalog — compare records and explain results.

Endpoint & cost

POST /api/v1/extract

Cost: Per credit. Zaps draw down your shared monthly allowance; requests that fail validation are not charged.

Authentication

Send your key as a bearer token: Authorization: Bearer zap_live_…. See Authentication for key management and the alternate header.

Example request

curl https://zapinner.com/api/v1/extract \
  -H "Authorization: Bearer zap_live_••••••" \
  -H "Content-Type: application/json" \
  -d '{"text":"Invoice #INV-1042 dated 2026-09-06 for $1,245.00","fields":[{"name":"invoice_number"},{"name":"amount","type":"number"}]}'
Every response is structured JSON and includes a request_id. Full field-level request and response schemas for this endpoint live in the OpenAPI spec and the API reference.

Errors & limits

Errors use one consistent shape ( error.code, error.message, request_id). See Errors and Rate limits.

SDK

Extract has typed methods in both the JavaScript and Python SDKs. Both are implemented and package-ready but not yet published to npm / PyPI — until they ship, vendor the package source or install from a git ref, or call the endpoint over HTTPS with the example above.

Try it

Select Extract in the playground to see the request, or run it live with your API key.

  • Match Decide whether two records refer to the same real-world entity.
  • Compare Surface the differences between two records or datasets.
  • Explain Get a structured, factor-by-factor explanation of a result.
  • Web Extract Fetch a public web page and extract structured fields from it.
  • Fuzzy Match Per-field string-similarity comparison of two records.
  • Schema Detect Infer a typed schema object ready to feed into map or validate.
  • Classify Single-label classification into caller-declared categories.
  • Tag Multi-label tagging: apply every tag whose keywords match.
  • Profile Get a per-field profile of any record set in one call.
  • Statistics Descriptive statistics for every numeric field.
  • Missing Find and quantify missing values per field.
  • Distributions Histogram, skew, and outliers for numeric fields.
  • Quality Score A composite 0-100 data-quality score with components.
  • Correlations Pairwise Pearson correlation across numeric fields.
  • Trends Ordinary-least-squares trend, growth, and volatility.
  • Change Points Detect level shifts in a numeric series.
  • Patterns Discover character-class format patterns per field.
  • Sentiment Lexicon-based sentiment with negation handling.
  • Language Detect the dominant language of a text.
  • Entities Extract emails, phones, money, dates, and proper nouns.
  • Keywords Rank the most salient terms in a text.
  • Text Similarity Jaccard and cosine similarity between two texts.
  • Summarize Extractive summary — pick the most salient sentences.
  • Topics Surface recurring terms across a document set.
  • HTML Extract Extract title, headings, links, and text from HTML.
  • Forecast Project a numeric series forward with a linear model.