Audit Open Graph, JSON-LD, and robots metadata across URLs
Meta Tag & OpenGraph Scraper crawls a URL list and returns the head metadata a search crawler or social platform sees: title, description, canonical, robots, charset, viewport, Open Graph, Twitter Card, hreflang, and schema.org JSON-LD, plus issue flags. It is a technical SEO metadata audit, not a full-page content extract. For cleaned docs or help-center markdown, use Website Content Extractor.
Open Meta Tag & OpenGraph Scraper on Apify
Metadata and issue audit, not full content extract
Use this page when the job is bulk validation of tags, social previews, robots directives, and structured markup. Use Website Content Extractor when the job is cleaned page body from docs, product, pricing, policy, or help-center URLs. Use Article Content Extractor when the URLs are article-shaped and you need headline, byline, body, and hero image. The published README tip is to pair this Actor with Article Content Extractor when you want full content plus metadata analysis — they are separate steps.
| Meta Tag & OpenGraph Scraper | Website Content Extractor | |
|---|---|---|
| Intent | Technical SEO audit of head metadata, social previews, JSON-LD, and robots | Clean docs, product, pricing, policy, and help-center HTML |
| What it reads | HTML head and embedded JSON-LD from the initial HTML (no JavaScript render) | Live page HTML for cleaned markdown, text, or HTML body |
| Primary output | Title, description, canonical, robots, Open Graph, Twitter Card, hreflang, JSON-LD, issue flags | web_content rows: title, markdown/text, word count, optional metadata |
| Max URLs | 500 per run | 200 per run |
| Full page body | No published markdown or article-body field | Yes — cleaned content is the deliverable |
This Actor is not a ranking tool and not a full-site crawler. Pass HTTP(S) URLs you own or are authorized to audit. Tags injected only after client-side JavaScript will not appear in the row.
Use cases
- SEO specialists: audit title and meta tags for length, missing canonicals, and duplicate content.
- Social media managers: verify Open Graph images before Facebook or LinkedIn shares.
- International teams: validate hreflang alternate links on multilingual sites.
- Content marketers: check that Twitter Cards display when content is shared.
- Schema.org auditors: detect missing or malformed structured data on product pages.
- Site migrations: bulk-validate canonical and meta tag consistency across a URL list.
- Ongoing monitoring: schedule runs to catch truncated titles, missing canonicals, broken social preview images, or accidental noindex after deploys.
Published Key Features: all listed meta tags (title, description, keywords, canonical, robots, viewport, charset); Open Graph (og:title, og:image, og:description, og:type, og:url and more); Twitter Card (twitter:card, twitter:image, twitter:creator, twitter:site); hreflang alternates; schema.org JSON-LD types (Article, Product, Organization, and similar); issue flags for missing canonical, truncated titles, missing OG image, and hreflang errors.
How is Meta Tag & OpenGraph Scraper different from Website Content Extractor?
This Actor is a technical SEO metadata audit. It parses HTML head content for title, meta description, canonical, robots, charset, viewport, Open Graph, Twitter Card, hreflang, and schema.org JSON-LD, then flags issues such as truncated titles, missing canonicals, missing social preview images, and hreflang errors. Website Content Extractor cleans docs, product, pricing, policy, and help-center pages into markdown or text. It does not produce this metadata-and-issue audit row. Use this Actor when you need what a crawler or social platform sees in the head. Use Website Content Extractor when you need the page body as cleaned content.
How do I start a run?
Open the Actor on the Apify Store and supply urls (required, maximum 500). Live input schema fields:
| Field | Type | Default | Notes |
|---|---|---|---|
urls |
string[] | required | URLs to extract meta tags from (max 500). Schema prefill is https://github.com, https://news.ycombinator.com. |
concurrency |
integer | 5 | Parallel requests; minimum 1, maximum 10. The README input table shows 10; the live schema default is 5. |
timeoutMs |
integer | 10000 | Request timeout in milliseconds; 1000–30000 |
delivery |
string | dataset |
dataset or webhook |
webhookUrl |
string | — | POST target when delivery is webhook |
dryRun |
boolean | false | Run without saving results (for testing) |
The schema sets additionalProperties to false. Do not send unpublished aliases from older README examples: includeOpenGraph, emitSeoWarnings, or detectDuplicateTitles.
Store Quickstart starts with the 3-demo-URL template. SEO Audit is the published path for 50+ URLs. Open Graph Monitor is the published path for ongoing social sharing validation.
Published input that matches the live schema (prefill URLs, schema defaults):
{
"urls": [
"https://github.com",
"https://news.ycombinator.com"
],
"concurrency": 5,
"timeoutMs": 10000,
"delivery": "dataset",
"dryRun": false
}
Published README input example (schema-valid concurrency at the maximum):
{
"urls": [
"https://example.com/product/1",
"https://example.com/blog/post-1"
],
"concurrency": 10
}
What does a result row contain?
The published README output table lists url, title, description, canonical, ogTitle, ogDescription, ogImage, twitterCard, twitterTitle, robots, and lang. The published output example uses nested objects instead: og (title, image, type), twitter (card), hreflang (lang and href), jsonLd (@type and name), and issues. Key Features also lists keywords, viewport, and charset. There is no published full-page markdown or article-body field.
Published README sample:
{
"url": "https://example.com/product/1",
"title": "Premium Widget — Example Store",
"description": "Buy the best widget...",
"canonical": "https://example.com/product/1",
"og": {
"title": "Premium Widget",
"image": "https://example.com/widget.jpg",
"type": "product"
},
"twitter": {
"card": "summary_large_image"
},
"hreflang": [
{ "lang": "en-us", "href": "..." }
],
"jsonLd": [
{ "@type": "Product", "name": "Premium Widget" }
],
"issues": []
}
That sample is the published README illustration, not a live coverage guarantee. For cleaned page body after this audit, send docs, product, or policy URLs to Website Content Extractor and news, blog, or press URLs to Article Content Extractor.
What issues are flagged?
The published FAQ lists truncated titles (over 60 characters), missing description, missing canonical, missing og:image, and duplicate meta description. Key Features also lists missing canonical, truncated titles, missing OG image, and hreflang errors. Use-case copy also covers missing descriptions and malformed structured data on product pages. Schedule runs to catch truncated page titles, missing canonical links, broken social preview images, or accidental noindex directives after deploys.
Does it render JavaScript or follow redirects?
It follows redirects: meta tags are extracted from the final URL. It does not render JavaScript. Tags are extracted from the initial HTML only. Tags injected client-side are not captured.
How is Meta Tag & OpenGraph Scraper priced?
Billing is pay per event. The published Store card is $3.00 / 1,000 page metadata audits. The billed event is Page metadata audit at $0.003, charged only for one delivered metadata and issue audit row. You are not charged for Apify platform usage, only the fixed event price.
$3.00 per 1,000 page metadata audits ($0.003 per delivered metadata and issue audit row)
See Meta Tag & OpenGraph Scraper pricing on Apify
Limits to keep in mind
- Maximum 500 URLs per run. Required field is
urls. concurrencyis 1–10 (live default 5).timeoutMsis 1000–30000 (default 10000).- No JavaScript rendering. Client-side-injected tags are not captured.
- This is a head-metadata and issue audit, not a full content extract.
- Live schema names are
urls,concurrency,timeoutMs,delivery,webhookUrl, anddryRun. Unpublished aliases are not working inputs.
Published README FAQ also notes that title, description, canonical, and robots are critical; og:image matters for social shares; hreflang matters for multilingual content.
Open Meta Tag & OpenGraph Scraper on Apify
Related pages
- Website Content Extractor — cleaned docs, product, pricing, policy, and help-center body text, not this metadata audit
- Article Content Extractor — article body, byline, date, excerpt, and hero image
- Google News Scraper — query-based headline URL discovery
- RSS & Atom Feed Extractor — known-publisher feed items
- Shopify App Store Review Scraper
- Tools