extract_metadata
Ekstrak metadata halaman yang menyeluruh termasuk tajuk, perihalan, tag OpenGraph, data Twitter Card dan maklumat SEO.
Kes Penggunaan
Analisis SEO
Analisis tajuk halaman, perihalan dan kata kunci untuk pengoptimuman
Data Pratonton Media Sosial
Dapatkan data OpenGraph dan Twitter Card untuk pratonton sosial yang kaya
Pengkategorian Kandungan
Gunakan metadata untuk mengklasifikasikan dan menyusun kandungan web
Penjanaan Pratonton Pautan
Bina pratonton pautan yang kaya dengan tajuk, imej dan perihalan
Endpoint
/api/v1/tools/extract_metadataParameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | Optional | - | Halaman untuk diambil metadatanya. Sama ada `url` atau `html` diperlukan. Example: https://example.com/article |
html | string | Optional | - | HTML mentah untuk dihurai dan bukannya diambil. Example: <html>...</html> |
include_social | boolean | Optional | true | Sertakan Open Graph, kad Twitter, id apl Facebook dan tag pengesahan laman. Example: true |
include_seo | boolean | Optional | true | Sertakan description, keywords, author, robots, canonical, tajuk dan viewport. Example: true |
include_technical | boolean | Optional | true | Sertakan generator, favicon, helaian gaya dan skrip. Example: true |
include_structured_data | boolean | Optional | true | Sertakan blok data berstruktur JSON-LD yang ditemui pada halaman. Example: true |
respect_robots | boolean | Optional | true | Hormati robots.txt tapak sasaran. Dibiarkan pada `true`, laluan yang dilarang untuk `CrawlForge` ditolak dengan 403 sebelum apa-apa diambil dan tiada credits dicaj. Tetapkan kepada `false` hanya untuk sasaran yang anda mempunyai perjanjian sendiri dengannya — respons kemudiannya membawa entri `warnings` dan tindakan mengatasi itu direkodkan pada API key anda. Example: true |
Contoh Permintaan
cURL
curl -X POST https://crawlforge.dev/api/v1/tools/extract_metadata \
-H "X-API-Key: cf_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/article"}'TypeScript
const response = await fetch('https://crawlforge.dev/api/v1/tools/extract_metadata', {
method: 'POST',
headers: {
'X-API-Key': process.env.CRAWLFORGE_API_KEY!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'https://example.com/article'
}),
});
const data = await response.json();
if (data.success) {
const { title, description, og, twitter } = data.data;
console.log('Title:', title);
console.log('Description:', description);
console.log('OG Image:', og.image);
console.log('Twitter Card:', twitter.card);
}Contoh Respons
{ "success": true, "data": { "metadata": { "basic": { "title": "Example Article - Best Practices Guide", "url": "https://example.com/article", "lang": "en", "charset": "utf-8" }, "seo": { "description": "Learn the best practices for web development", "keywords": "web development, best practices, tutorial", "author": "Jane Doe", "robots": "index, follow", "canonical": "https://example.com/article", "headings": { "h1": [ "Best Practices Guide" ], "h2": [ "Getting Started", "Common Pitfalls" ], "h3": [] }, "meta_refresh": null, "viewport": "width=device-width, initial-scale=1" }, "social": { "open_graph": { "title": "Example Article - Best Practices Guide", "image": "https://example.com/og-image.jpg", "type": "article", "site_name": "Example Site" }, "twitter": { "card": "summary_large_image", "site": "@examplesite" }, "facebook_app_id": null, "google_site_verification": null }, "technical": { "generator": "Next.js", "favicons": [ { "rel": "icon", "href": "/favicon.ico", "type": "image/x-icon" } ] }, "structured_data": [] }, "summary": { "has_title": true, "has_description": true, "has_open_graph": true, "has_twitter_cards": true, "has_structured_data": false, "total_headings": 3 }, "extracted_from": "https://example.com/article", "extraction_time": "2026-08-26T14:30:00.000Z" }, "credits_used": 1, "credits_remaining": 999, "processing_time": 195}data.metadata.basicSentiasa hadir: tajuk, url yang diselesaikan, lang html dan charset.data.metadata.seoHadir apabila `include_seo` true. Merangkumi struktur tajuk h1/h2/h3 sepenuhnya.data.metadata.social.open_graphSetiap sifat `og:` yang diisytiharkan halaman, kata demi kata — null apabila halaman tiada satu pun.data.metadata.social.twitterSetiap sifat `twitter:` yang diisytiharkan halaman. Null apabila tiada.data.metadata.technicalHadir apabila `include_technical` true: generator, favicon, helaian gaya dan skrip.data.metadata.structured_dataBlok JSON-LD yang ditemui pada halaman. Tatasusunan kosong apabila tiada.data.summaryBoolean untuk semakan kelengkapan pantas tanpa menyusuri keseluruhan objek metadata.data.extracted_fromURL sumber, atau rentetan literal 'provided HTML' apabila anda menghantar `html`.data.extraction_timeCap masa ISO 8601 bagi pengekstrakan.Pengendalian Ralat
Disekat oleh robots.txt (403 Forbidden)
robots.txt tapak sasaran melarang laluan ini untuk CrawlForge. Tetapkan respect_robots: false untuk mengatasinya jika anda mempunyai perjanjian sendiri dengan sasaran — tindakan mengatasi itu direkodkan pada API key anda. Tindakan mengatasi itu tidak sampai kepada hos yang berada dalam senarai penarikan diri kekal CrawlForge, yang ditolak tanpa mengira nilai respect_robots.