AI Page to JSON: URL + Schema Extractor avatar

AI Page to JSON: URL + Schema Extractor

Pricing

from $10.00 / 1,000 page extracteds

Go to Apify Store
AI Page to JSON: URL + Schema Extractor

AI Page to JSON: URL + Schema Extractor

Fetch a public page and extract structured JSON with an LLM using your schema or field list. Schema validation, partial/failed statuses, refuse login walls. Successful extractions only.

Pricing

from $10.00 / 1,000 page extracteds

Rating

0.0

(0)

Developer

SteadyScrape

SteadyScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 minutes ago

Last modified

Security

Limited permissions

Share

Who it's for: Developers and data teams who need structured JSON from public web pages without writing a custom scraper for every site.

What you get: One validated JSON object per URL, matched to your schema or field list. Clear ok / partial / failed statuses. Login walls, captchas and paywalls are refused and free.

Price: $0.010 per extracted page (ok or partial) + $0.001 once per run, charged only if at least one page was extracted. Failed, refused, blocked, JS-only and empty pages are free. 1,000 pages = about $10.

Give it public page URLs plus a JSON Schema (or a simple field list). The Actor fetches each page over plain HTTP (Chrome-like fingerprint, no browser), sends the page text to an LLM (openai/gpt-6-luna via OpenRouter, no web search), validates the result against your schema, and returns structured rows. No login bypass. No captcha solving. No personal-data harvesting features.

Made by SteadyScrape (steady-scrape).

What you can do with it

  1. Product / listing pages → JSON. Extract title, price, availability, SKU into a stable schema across many sites.
  2. Docs / blog pages → structured facts. Pull headings, publish date, summary fields for RAG or CMS pipelines.
  3. Schema-first extraction. Pass a JSON Schema so downstream code always gets the same shape (with partial when required fields are missing).
  4. Batch public URLs. Up to dozens of pages per run; duplicates removed; soft maxUrls cap.

Input

  • urls (required): public http(s) page URLs.
  • jsonSchema and/or fields: schema object, or a list like title, price: Product price in USD.
  • instructions (optional): extra guidance for the model.
  • mock (optional): offline test mode with placeholder values; no real extraction.

Example:

{
"urls": ["https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html"],
"fields": ["title", "price", "availability"]
}

Output

One dataset row per URL:

statusmeaningcharged
okschema satisfied (fields not stated on the page come back null and are listed in nullFields)yes (page-extracted)
partialsome required fields missing (listed in missingFields)yes
failedcould not extract usable JSON, or every field was emptyno
refusedlogin / paywall signalsno
blockedcaptcha / bot challenge / 429no
js_requiredpage needs a browser (v1 is HTTP-only)no
fetch_error / skippednetwork / daily LLM guard / max chargeno

Rows also carry truncated: true when a very long page was cut to maxInputChars (later fields or list items may be missing).

The run OUTPUT record has counts and charged event names. Internal LLM costs are never written to the dataset or OUTPUT.

Pricing

Pay per event: page-extracted $0.010 for each ok/partial page + actor-start $0.001 once per run (only when at least one page was extracted), plus Apify's standard tiny per-run start event. Empty, failed, refused, blocked and JS-only pages are free. Example: 100 pages in one run ≈ $1.00. Set Maximum cost per run in Apify run options.

FAQ

Is the extracted data always correct? No AI extractor can promise that. Rows are validated against your schema (shape and required fields), not fact-checked. Spot-check important values such as prices and dates. What happens on login walls, captchas or JavaScript-only pages? They come back as refused, blocked or js_required and are not charged. This version fetches over HTTP and doesn't run a browser. Fields or a JSON Schema? A field list is fastest to start with. Use jsonSchema when downstream code needs strict types and required fields; missing required fields give a partial row with missingFields. Does it invent values a page doesn't state? It is instructed not to. Unstated fields come back null and are listed in nullFields.

Worked cost example: a weekly run over 100 product pages = 100 × $0.010 + $0.001 ≈ $1.00 per run.

Integrations

  • Apify API and SDKs: call it from Python, JavaScript or any HTTP client and read results from the run's dataset.
  • Schedules and webhooks: run it on a schedule in Apify and trigger your own endpoint when a run finishes.
  • Make, Zapier, n8n: use Apify's own integrations for these tools to start runs and pass dataset rows on.
  • AI agents (MCP): agents can call it through the Apify MCP server.

Limits (v1)

  • HTTP fetch only (no Playwright). JS-heavy SPAs may return js_required.
  • Bounded page text and output tokens; schema-repair retries capped.
  • Free-plan / uncovered LLM spend is daily-capped per Apify account.
  • Does not bypass logins, paywalls or captchas.

More from SteadyScrape

See every SteadyScrape (steady-scrape) Actor on our Apify profile.