Website Metadata API
Pricing
Pay per event
Website Metadata API
Crawl websites to extract JSON-LD, structured data, and meta tags. Integrate the scraped data API to automate audits and export results seamlessly.
Pricing
Pay per event
Rating
0.0
(0)
Developer
太郎 山田
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
🏷️ Meta Tag Analyzer
Analyze meta tags, Open Graph, Twitter Cards, JSON-LD, and hreflang for any URL. Detect SEO issues and missing social preview tags.
Store Quickstart
Start with the Quickstart template (3 demo URLs). For full SEO audits, use SEO Audit template with 50+ URLs.
Key Features
- 🏷️ All meta tags extracted — Title, description, keywords, canonical, robots, viewport, charset
- 📱 Open Graph parsed — og:title, og:image, og:description, og:type, og:url and more
- 🐦 Twitter Card detected — twitter:card, twitter:image, twitter:creator, twitter:site
- 🌍 Hreflang inspected — Multi-language alternate links for international SEO
- 🧩 JSON-LD structured data — Schema.org types detected (Article, Product, Organization, etc.)
- ⚠️ Issues flagged — Missing canonical, truncated titles, missing OG image, hreflang errors
Use Cases
| Who | Why |
|---|---|
| SEO specialists | Audit title/meta tags for length, missing canonical, duplicate content |
| Social media managers | Verify Open Graph images render correctly on Facebook/LinkedIn |
| International teams | Validate hreflang tags on multilingual sites |
| Content marketers | Ensure Twitter Cards display properly when content is shared |
| Schema.org auditors | Detect missing or malformed structured data on product pages |
Input
| Field | Type | Default | Description |
|---|---|---|---|
| urls | string[] | (required) | URLs to analyze (max 500) |
| concurrency | integer | 10 | Parallel requests (1-10) |
Input Example
{"urls": ["https://example.com/product/1", "https://example.com/blog/post-1"],"concurrency": 10}
Output
| Field | Type | Description |
|---|---|---|
url | string | Page URL analyzed |
title | string | Contents of |
description | string | Meta description content |
canonical | string | Canonical URL if specified |
ogTitle | string | Open Graph title |
ogDescription | string | Open Graph description |
ogImage | string | Open Graph image URL |
twitterCard | string | Twitter card type |
twitterTitle | string | Twitter card title |
robots | string | Robots meta directive |
lang | string | HTML lang attribute |
Output Example
{"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": []}
API Usage
Run this actor programmatically using the Apify API. Replace YOUR_API_TOKEN with your token from Apify Console → Settings → Integrations.
cURL
curl -X POST "https://api.apify.com/v2/acts/taroyamada~meta-tag-analyzer/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{ "urls": ["https://example.com/product/1", "https://example.com/blog/post-1"], "concurrency": 10 }'
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("taroyamada/meta-tag-analyzer").call(run_input={"urls": ["https://example.com/product/1", "https://example.com/blog/post-1"],"concurrency": 10})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('taroyamada/meta-tag-analyzer').call({"urls": ["https://example.com/product/1", "https://example.com/blog/post-1"],"concurrency": 10});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Tips & Limitations
- Use this to audit social sharing previews before launching a campaign.
- Check
canonicalto detect duplicate content issues across your site. - Run monthly to catch accidental robots noindex tags after deploys.
- Pair with Article Content Extractor for full content + metadata analysis.
FAQ
Which meta tags are most important for SEO?
title, description, canonical, and robots are critical. og:image matters for social shares. hreflang matters if you have multilingual content.
Can it follow redirects?
Yes. Meta tags are extracted from the final URL after redirects.
Does it render JavaScript?
No. Tags are extracted from initial HTML only. If your site renders tags client-side, this actor won't see them.
What issues are flagged?
Truncated titles (>60 chars), missing description, missing canonical, missing og:image, duplicate meta description.
Does it render JavaScript?
No — it parses raw HTML. Tags injected by client-side JS won't be captured.
Can I extract structured data (JSON-LD)?
Basic Open Graph and Twitter Card metadata only. JSON-LD parsing is on the roadmap.
Related Actors
URL/Link Tools cluster — explore related Apify tools:
- 🔗 URL Health Checker — Bulk-check HTTP status codes, redirects, SSL validity, and response times for thousands of URLs.
- 🔗 Broken Link Checker — Crawl websites to find broken links, 404 errors, and dead URLs.
- 🔗 URL Unshortener — Expand bit.
- 📚 Wayback Machine Checker — Check if URLs are archived on the Wayback Machine and find closest snapshots by date.
- Sitemap Analyzer API | sitemap.xml SEO Audit — Analyze sitemap.
- Schema.org Validator API | JSON-LD + Microdata — Validate JSON-LD and Microdata across multiple pages, score markup quality, and flag missing or malformed Schema.
- Site Governance Monitor | Robots, Sitemap & Schema — Recurring robots.
- RDAP Domain Monitor API | Ownership + Expiry — Monitor domain registration data via RDAP and track expiry, registrar, nameserver, and ownership changes in structured rows.
- Domain Security Audit API | SSL Expiry, DMARC, Domain Expiry — Summary-first portfolio monitor for SSL expiry, DMARC/SPF/DKIM, domain expiry/ownership, and security headers with remediation-ready outputs.
Cost
Pay Per Event:
actor-start: $0.01 (flat fee per run)dataset-item: $0.003 per output item
Example: 1,000 items = $0.01 + (1,000 × $0.003) = $3.01
No subscription required — you only pay for what you use.