Structured Data & Schema Markup Extractor - JSON-LD, Microdata avatar

Structured Data & Schema Markup Extractor - JSON-LD, Microdata

Pricing

from $0.32 / 1,000 scanned pages

Go to Apify Store
Structured Data & Schema Markup Extractor - JSON-LD, Microdata

Structured Data & Schema Markup Extractor - JSON-LD, Microdata

Extracts all structured data from a web page (JSON-LD, Microdata and RDFa) plus every schema.org type found, with @graph unwrapped. $0.0004 per page. Input: {"url":"https://example.com/product"}

Pricing

from $0.32 / 1,000 scanned pages

Rating

0.0

(0)

Developer

Broke to Built

Broke to Built

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

11 hours ago

Last modified

Share

Structured Data Extractor - JSON-LD, Microdata & RDFa from any URL

Structured Data Extractor pulls every JSON-LD, Microdata and RDFa block from a web page and lists the schema.org types it declares, at $0.0004 per page on the Apify Free plan.

  • Price: $0.0004 per page scanned on the Free plan, less on paid plans. A URL that cannot be fetched is not charged.
  • Example input: { "url": "https://example.com/product" }
  • Output fields: ok, url, status, jsonLd, microdata, rdfa, allTypes, entityCount

Extract all structured data from a web page: JSON-LD (<script type="application/ld+json">), Microdata (itemscope/itemprop), and RDFa (typeof/property), plus the list of schema.org types found. Built for SEO audits, rich-result debugging, knowledge-graph building, and AI agents that need a page's semantic data. Single URL or bulk.

$0.0004 per page. Failed fetches are recorded free.

What you get

  • JSON-LD objects, with @graph unwrapped into individual entities.
  • Microdata items with nested scopes resolved into properties.
  • RDFa typed resources and their properties.
  • allTypes - every schema.org type detected (Product, Organization, BreadcrumbList, ...).
  • entityCount across all three formats.
  • Fail-soft: an unreachable URL returns {ok:false, error} and is never charged.

Input

{ "url": "https://www.apify.com", "urls": ["https://example.com/product"], "maxUrls": 25 }

Output (real run, 2026-08-07)

{
"ok": true,
"url": "https://apify.com/",
"status": 200,
"jsonLd": [
{ "@context": "https://schema.org", "@type": "Organization", "name": "Apify",
"url": "https://apify.com/", "sameAs": ["https://github.com/apify", "https://x.com/apify"] }
],
"microdata": [],
"rdfa": [],
"allTypes": ["ContactPoint", "Organization"],
"entityCount": 1
}

Pricing - $0.0004 per page

$0.0004 per page scanned on the Apify Free plan, billed as the page-scanned event. Paid Apify plans pay less ($0.00037 Bronze, $0.00035 Silver, $0.00032 Gold, $0.00029 Platinum, $0.00027 Diamond). No start fee. Failed fetches are recorded free. A page with no structured data was scanned successfully and is charged.

Limits (honest ones)

  • Parses the HTML the server returns; structured data injected later by JavaScript is not seen (no headless browser).
  • Reads the raw values as authored - it does not validate them against Google's rich-result requirements.
  • maxUrls capped at 50 per run.

FAQ

  • How do I extract JSON-LD from a URL? Pass {"url": "https://example.com/product"}; every <script type="application/ld+json"> block comes back parsed in the jsonLd array, with @graph unwrapped into individual entities.
  • Does it run JavaScript? No - it reads the server HTML, which is where the vast majority of structured data lives.
  • What if a page has none? You get entityCount: 0 with empty arrays (a real answer), still one page scanned.
  • Can it do many pages? Yes - pass urls (up to 50).
  • What schema.org types will it tell me a page uses? allTypes lists every type found across all three formats, de-duplicated and sorted - Product, Organization, BreadcrumbList, FAQPage, Article, whatever the page declares.

When not to use this

  • You want to know if Google will show a rich result. This reports the markup as authored. It does not validate against Google's rich-result requirements or flag missing required properties - use the Rich Results Test for that verdict.
  • Your markup is injected by JavaScript. No headless browser here. A React app that adds JSON-LD on mount will read as empty; server-rendered markup is what this sees.
  • You want to crawl a site's structured data. It reads exactly the URLs you pass, up to 50 per run. Generate the URL list yourself (a sitemap extractor pairs well with this).
  • You want Open Graph / Twitter Card tags. Those are social meta tags, not structured data - see our Open Graph & Twitter Card Extractor.
  • You need the markup rewritten or generated. This is read-only: it extracts, it does not author or repair schema.

Use from code or AI agents

curl -X POST "https://api.apify.com/v2/acts/EliAI~webpage-structured-data-extractor/runs?token=YOUR_APIFY_TOKEN" \
-H 'content-type: application/json' \
-d '{"url":"https://www.apify.com"}'

Callable as an agent tool through the Apify MCP server (mcp.apify.com).

Who uses it

  • SEO specialists debugging why a product page lost its rich result by reading its JSON-LD
  • Developers verifying Microdata and RDFa survived a template migration
  • Knowledge-graph builders collecting schema.org entities from a list of pages
  • E-commerce analysts extracting price and availability markup from competitor product pages
  • AI agent builders letting an agent read a page's structured facts without parsing HTML