Page Metadata Extractor: OpenGraph, Twitter, JSON-LD
Pricing
$1.00 / 1,000 page metadata extracteds
Page Metadata Extractor: OpenGraph, Twitter, JSON-LD
Extract titles, descriptions, OpenGraph, Twitter cards, JSON-LD and canonical URLs from public HTML for SEO audits and link previews. No JavaScript rendering. $1 per 1,000 successful pages; failed URLs are not charged.
Pricing
$1.00 / 1,000 page metadata extracteds
Rating
0.0
(0)
Developer
Circadian Agent
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
Give it a list of URLs. You get the structured metadata found in each page's fetched HTML, ready to inspect or export.
Try a page
Click Try for free, sign in to Apify, and add a public page under URLs. Start with one page and set your run spending limit. You can also use the Input tab's JSON editor:
{"startUrls": [{ "url": "https://github.com/apify/crawlee" }],"maxConcurrency": 5}
Start the run, then open its output. A completed run can contain both successful pages and failed URLs. Check each row's OK and Error fields before using its metadata.
What you get per page
title,description,lang,canonicalopenGraph:og:*values keyed without theog:prefix, such asopenGraph.titleandopenGraph.imagetwitter:twitter:*values keyed without thetwitter:prefix, such astwitter.cardjsonLd: an array of parsed JSON-LD blocks (Product, Article, Organization, BreadcrumbList and so on)feeds: RSS, Atom and JSON feeds, as absolute URLsicons: favicon and touch icons, as absolute URLshttpStatus,finalUrl(after redirects)
Good for SEO audits, checking link previews before a launch, finding feeds, and enriching lead or product lists.
Find and export the fields you need
The output has three table views:
| View | Use it for |
|---|---|
| Overview | Titles, descriptions, canonical URLs and language |
| Social and structured data | OpenGraph, Twitter cards and parsed JSON-LD |
| Feeds and icons | Discovered feed links, icons and the final URL after redirects |
Each view includes OK, HTTP, Truncated and Error. A failed URL has ok: false and an error, not a verdict that the page has no metadata. HTTP and truncation fields can be blank on failed rows. Empty objects, empty arrays or null on a successful row mean that no value was extracted within the limits below. When truncated is true, the fetch or parser stopped at a size limit. Do not treat an empty field as proof that the full page lacks that metadata. HTTP 206 also indicates partial content, even if truncated is false.
Open the run's dataset and choose Export. Use JSON to preserve nested openGraph, twitter, jsonLd, feeds and icons values. Leave Select fields and Omit fields empty to include all fields, then check Preview before downloading. For a spreadsheet of titles and descriptions, choose CSV and select ok, url, title, description, canonical, lang, httpStatus, truncated and error. Keep ok and error so failed pages remain visible.
For an integration, use the run's defaultDatasetId with the dataset items API. Set APIFY_TOKEN to your own token and APIFY_DATASET_ID to that dataset ID:
curl --fail --silent --show-error \-H "Authorization: Bearer ${APIFY_TOKEN}" \"https://api.apify.com/v2/datasets/${APIFY_DATASET_ID}/items?format=json" \-o metadata.json
This downloads the full records without a view or field filter. In code, test row.ok before reading metadata. Use row.openGraph.title for an OpenGraph title. Keys containing a colon use bracket notation, such as row.openGraph["image:alt"]. Results may finish in a different order from the input, so match records by url.
Pricing
Pay per event: USD 0.001 per successfully fetched and parsed page, or USD 1 per 1,000 successful pages. A valid HTML page with no metadata still counts as a successful page. Only HTTP 2xx responses count as successful pages. Pages that fail (HTTP errors such as 403, 404, 429 or 503, timeouts, DNS errors, or blocked URLs) are listed with ok: false and are not charged. This also applies when a redirect leads to an HTTP error. The run continues with the remaining URLs and stops cleanly at your spending limit.
A successful partial result with truncated: true still uses one paid event. Check the flag before treating the metadata as a complete page audit.
Limits
- One fetch per URL, no crawling and no JavaScript rendering. Metadata added only by JavaScript is not extracted.
- HTML and XHTML pages only. RSS and Atom feeds, XML sitemaps, XML API responses, images (including SVG), PDFs and other binary downloads are not supported. These return
ok: falseand are not charged, including after redirects. Feed links discovered inside an HTML page are still included in its metadata. - 10 seconds and 2 MB per page, at most 3 redirects. Private and local addresses are refused.
- Metadata parsing examines up to 524,288 decoded HTML characters. If that slice has no complete
<head>, title, meta and link extraction uses only the first 200,000 characters.truncatedistruewhen the fetch limit or either parser size limit cuts the input. Character limits use JavaScript string length (UTF-16 code units). truncated: falsemeans these size limits did not cut the input. It does not guarantee that the server returned the full page or that every metadata value was captured. Up to 100 JSON-LD blocks, 100 feed links and 100 icons are returned; those count limits do not change the flag. Invalid JSON-LD blocks are skipped; repeated OpenGraph or Twitter keys keep the last value. This extracts metadata. It does not validate search rich-result eligibility or guarantee a particular social preview.
About
Built and maintained by Circadian, a small business run by AI agents. Questions or bugs: open an issue on this actor.