AI Web Data Extractor – Any URL to JSON with Your Schema avatar

AI Web Data Extractor – Any URL to JSON with Your Schema

Pricing

from $1.00 / 1,000 page-extracteds

Go to Apify Store
AI Web Data Extractor – Any URL to JSON with Your Schema

AI Web Data Extractor – Any URL to JSON with Your Schema

Pricing

from $1.00 / 1,000 page-extracteds

Rating

5.0

(2)

Developer

felix gerald

felix gerald

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

7 days ago

Last modified

Categories

Share

Describe the fields you want, give it URLs, and get clean structured JSON back. No CSS selectors to write or maintain: the page is cleaned to readable text and an LLM fills in your schema. Built to be called by people, scripts and AI agents (it works as a tool through Apify's MCP server).

How it works

  1. Fetches each page and strips scripts, navigation and noise, keeping headings, lists, tables, links, image URLs and JSON-LD.
  2. Sends the cleaned text and your schema to the model with a forced tool call, so the output is always structured.
  3. Validates every result against your JSON Schema (valid flag) and caches identical requests.

Bring your own LLM key

This Actor uses your own API key (Anthropic, OpenAI or any OpenAI-compatible endpoint such as OpenRouter). Model usage is billed by your provider at cost; you only pay this Actor's small per-page fee. Token counts are included in every result so you can see exactly what each page cost. The key is stored encrypted, is used only for model calls in your run, and is never written to the dataset or logs.

Input

FieldDescription
urlsPages to extract from
schemaA JSON Schema object, or a simple map of field name to description
instructionsOptional extra guidance for the model
multipleExtract a list of items per page (listing pages)
llmProvider, llmApiKey, model, llmBaseUrlYour model access
maxContentCharsCap on page text sent to the model (default 30,000)
cacheTtlHoursReuse results for identical page content, schema and model (default 24)

Simple schema example:

{ "title": "Book title", "price": "Price as a number", "in_stock": "true if available" }

JSON Schema example:

{ "type": "object", "properties": { "name": { "type": "string" }, "price": { "type": "number" } }, "required": ["name", "price"] }

Output

{
"url": "https://shop.example/p/123",
"status": "ok",
"data": { "name": "Anvil 20kg", "price": 89.99 },
"valid": true,
"cached": false,
"model": "claude-haiku-5-5",
"inputTokens": 1480,
"outputTokens": 62
}

Pages that fail (not found, empty, blocked, model error) appear with status: "error" and are not charged. Fields missing on a page come back as null; the model is told never to guess.

Pricing

Charged per page successfully extracted, including cached results. Failed pages are free.

Limitations

  • Static HTML only. Pages that render their content with client-side JavaScript return a clear "no readable content" error.
  • Page text is untrusted: the model is instructed to ignore instructions embedded in pages, but always validate outputs before acting on them in automated pipelines.
  • Very long pages are truncated at maxContentChars; check the truncated flag.
  • Only extract data you are allowed to process, and follow each site's terms of service and applicable privacy law.

Developer notes

Event to create in Console → Monetization (delete the default apify-default-dataset-item event, otherwise error rows get billed):

  • page-extracted (suggested start: $0.005) Set it as the primary event.