JSON-LD & Schema.org Structured Data Extractor avatar

JSON-LD & Schema.org Structured Data Extractor

Pricing

$1.00 / 1,000 page extracteds

Go to Apify Store
JSON-LD & Schema.org Structured Data Extractor

JSON-LD & Schema.org Structured Data Extractor

Extract schema.org JSON-LD and Open Graph data from any web page: organisation details (legal name, VAT ID, address, phone, email, social profiles) and products (name, SKU, GTIN, brand, price, currency, availability, rating). Useful for merchant onboarding, catalogue enrichment and price checks.

Pricing

$1.00 / 1,000 page extracteds

Rating

0.0

(0)

Developer

Luke Mangan

Luke Mangan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Features

Limited permissions

Share

Structured Data Extractor

Structured Data Extractor pulls schema.org JSON-LD and Open Graph data from any web page: organisation details (legal name, VAT ID, address, phone, email, social profiles) and products (name, SKU, GTIN, brand, price, availability, rating).

Best for: Merchant onboarding, product catalogue enrichment, price checks and SEO audits of structured data markup.

How to extract JSON-LD and schema.org data

  1. Add page URLs to Page URLs (startUrls).
  2. Turn on Include raw JSON-LD if you want the original blocks too.
  3. Click Start and download organisation and product data per page.

How it works

Fetches each page with one normal HTTP GET (no JavaScript rendering, no crawling) and parses application/ld+json blocks (including @graph), Product and ProductGroup objects and Open Graph meta tags. Structured data is published by sites specifically for machines to read. Unreachable pages or bad URLs return ok: false and are not charged.

Output

url, pageTitle, schemaTypes, organization, productCount, products, openGraph, ok

Pricing (pay-per-event)

  • page-extracted: $0.001 per result ($1 / 1,000). Platform usage is included; you pay only for results.
  • Example: 10,000 pages cost $10.00.

Example input

{
"startUrls": [
{
"url": "https://www.allbirds.co.uk/products/mens-tree-runners"
},
{
"url": "https://www.apple.com/uk/"
}
]
}

Example output

Values below are illustrative.

{
"url": "https://www.apple.com/uk/",
"pageTitle": "Apple (United Kingdom)",
"schemaTypes": [
"Organization",
"WebSite"
],
"organization": {
"name": "Apple",
"url": "https://www.apple.com/"
},
"productCount": 0,
"products": [],
"openGraph": {
"title": "Apple (United Kingdom)"
},
"ok": true
}

Use it via API, schedules and integrations

Run it in Apify Console, or call it from your own code with the Apify API or the Python and JavaScript clients. Save an input as a task and add a schedule to run it regularly, and send results to Slack, email, webhooks, Zapier, Make or n8n with Apify integrations. AI agents can find and run it through the Apify MCP server.

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("sterlingverify/schema-org-extractor").call(run_input={"startUrls": [{"url": "https://www.apple.com/uk/"}]})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Use in Clay, Zapier, Make, n8n, Pipedream, Power Automate or Activepieces

All of them connect to Apify through their official Apify integrations, using your own Apify account: an API token from Apify Console > Settings > API & Integrations, or Apify sign-in for Power Automate. Runs bill to your Apify account at this Actor's pay-per-event price.

  • Clay: save this Actor's input as an Apify task and copy it as JSON. In your Clay table, add the Run Apify Actor enrichment, choose it and paste the JSON into Input Data, mapping Clay columns into the fields. To pull a finished run into a new table, use the Import data from Apify Actor source.
  • Zapier: use the Apify Run Actor action, or the Finished Actor run trigger followed by Fetch dataset items. Synchronous runs in Zapier stop after 30 seconds, so use the trigger for big batches.
  • Make: add the Apify Run an Actor module with Run synchronously set to Yes, then Get Dataset Items with the run's dataset ID. For longer runs, use the Watch Actor Runs trigger.
  • n8n: install the Apify node (@apify/n8n-nodes-apify, or search "Apify" on n8n Cloud) and use Run an Actor and get dataset.
  • Pipedream: add the Apify app's Run Actor action, or Run Task Synchronously on one of this Actor's public example tasks (or your own saved task) to get the dataset items back in one step. For big batches, start from the New Finished Actor Run or New Finished Task Run trigger, then Get Dataset Items.
  • Power Automate: add the Apify connector (a premium connector, currently in preview) and sign in with your Apify account. Use Run Actor with Enter custom value set to sterlingverify/schema-org-extractor and paste the input as JSON, then Get dataset items with the run's default dataset ID. For big batches, start the flow from the Actor run finished trigger instead.
  • Activepieces: add the Apify piece and use Run Actor, or Run Task on one of this Actor's public example tasks (or your own saved task), then Get Dataset Items. For scheduled or big batches, use the Watch Actor Runs or Watch Task Runs trigger.
  • Google Drive / Sheets: add Apify's Upload results to GDrive integration to a scheduled task to drop each run's CSV or XLSX into your team's Drive, or chain the Google Sheets Import & Export actor to append rows to a sheet.
  • Slack alerts: add Apify's Slack integration to a scheduled task to post each run's results to your team channel, or start a check from Slack with /apify call and your task ID.
  • Any HTTP tool or script: send one request and get the results back as JSON. Runs must finish within 5 minutes.
curl -X POST "https://api.apify.com/v2/acts/sterlingverify~schema-org-extractor/run-sync-get-dataset-items" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d @input.json

FAQ

Does it render JavaScript or crawl sites?

No. It makes one normal HTTP GET per page and parses the markup the site publishes.

What if a page has no structured data?

You get the page with empty fields. Unreachable pages or bad URLs return ok: false and are not charged.

Disclaimer

Only data the site itself publishes in its markup is returned, so it can be missing or out of date. Respect each site's terms and robots rules and don't use it for high-volume scraping. Not affiliated with schema.org.

Part of the sterlingVerify UK payments, KYB and data toolkit on Apify Store: