Structured Data, Schema.org & Open Graph Extractor avatar

Structured Data, Schema.org & Open Graph Extractor

Pricing

from $2.00 / 1,000 pages

Go to Apify Store
Structured Data, Schema.org & Open Graph Extractor

Structured Data, Schema.org & Open Graph Extractor

Extract JSON-LD, schema.org types, microdata, Open Graph, Twitter Cards and hreflang from any list of URLs or a whole website. Flags broken JSON-LD and missing social preview tags. No proxies, pay per page.

Pricing

from $2.00 / 1,000 pages

Rating

0.0

(0)

Developer

Tim Tonat

Tim Tonat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

What does Structured Data, Schema.org & Open Graph Extractor do?

This Actor extracts structured data and social meta tags from web pages in bulk. Give it a list of URLs, or one homepage with Crawl whole website enabled, and get one row per page with:

  • all JSON-LD blocks, parsed, and every schema.org type used (also nested ones and @graph)
  • Microdata types (itemtype)
  • all Open Graph tags (og:title, og:image, …) and Twitter Card tags
  • hreflang alternates, canonical, meta robots, title, description and lang
  • issue codes for broken JSON-LD and missing social preview tags

No proxies and no browser, so runs are fast and cheap.

Why use this schema markup extractor?

  • SEO agencies: check which pages of a client site have LocalBusiness, Product, FAQPage or BreadcrumbList markup, and which have none
  • Find broken JSON-LD: a single trailing comma makes Google ignore the whole block. This Actor reports the parse error
  • Fix link previews: find pages without og:image or with a relative og:image URL, which WhatsApp, LinkedIn and Facebook can't load
  • Competitor research: see which structured data your competitors use
  • E-commerce and data teams: collect product, offer and review data that shops publish as JSON-LD
  • Pay per page: you control the cost with Max pages

What does it check?

Issue codeMeaning
JSON_LD_INVALIDA JSON-LD block is not valid JSON (see jsonLdErrors)
STRUCTURED_DATA_MISSINGNo JSON-LD and no microdata on the page
OG_TITLE_MISSING, OG_DESCRIPTION_MISSING, OG_URL_MISSINGOpen Graph tag missing
OG_IMAGE_MISSINGNo preview image for social media and messengers
OG_IMAGE_NOT_ABSOLUTEog:image is a relative URL, most platforms ignore it
TWITTER_CARD_MISSINGNo twitter:card tag (X/Twitter falls back to a small preview)
HTTP_404, HTTP_403, …Page returned an error
UNREACHABLEPage could not be loaded at all (DNS error, timeout)

The Actor extracts and checks syntax. It does not judge whether Google will show a rich result. For that, test single pages in the Google Rich Results Test.

How to extract structured data from a website

  1. Click Try for free.
  2. Paste your URLs into URLs, or enter a homepage and enable Crawl whole website.
  3. Set Max pages (start with 100).
  4. Click Start.
  5. Open the Overview table, or download everything as JSON, CSV or Excel.

How much does it cost?

This Actor uses pay per event: a fixed price per extracted page, and platform usage is included. The current price is shown in the Pricing tab. Pages that return an error or can't be reached are not charged. With Max pages you always know the maximum cost in advance.

Input

See the Input tab for all options.

{
"startUrls": [{ "url": "https://example.com/" }],
"crawlSite": true,
"maxPages": 100,
"respectRobotsTxt": true
}

Output

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

{
"url": "https://example.com/",
"statusCode": 200,
"issues": ["TWITTER_CARD_MISSING"],
"title": "Example Company | Plumbing in Cologne",
"canonical": "https://example.com/",
"lang": "en",
"schemaTypes": ["LocalBusiness", "PostalAddress", "OpeningHoursSpecification", "WebSite"],
"microdataTypes": [],
"jsonLdBlocks": 1,
"jsonLdErrors": [],
"openGraph": {
"og:title": "Example Company",
"og:description": "Plumbing and heating in Cologne",
"og:image": "https://example.com/og/home.jpg",
"og:url": "https://example.com/"
},
"twitter": {},
"hreflang": [{ "lang": "de", "url": "https://example.com/de/" }],
"jsonLd": [{ "@context": "https://schema.org", "@type": "LocalBusiness", "name": "Example Company" }]
}

Combine it with the SEO Site Audit: the audit finds pages without structured data, this Actor shows exactly what each page contains.

FAQ

Does it work with JavaScript-rendered markup?

The Actor reads the HTML the server delivers. JSON-LD that is injected only by JavaScript in the browser (some tag managers and single-page apps) is not found. Google can see it after rendering, but many other crawlers and link preview bots can't.

Will it overload my server?

No. It follows robots.txt by default and uses at most 10 parallel requests.

Something does not work

Please open an issue in the Issues tab with the URL and the run ID. You can also start the Actor programmatically from the API tab.