MCP · extract_metadata
Extract page metadata
Fetches one public HTML page and extracts title, description, canonical URL, robots directives, Open Graph, Twitter Card, advertised feeds, and parsed JSON-LD. Use this when an agent needs page identity or structured data rather than body text. Limit: 8 s, 5 redirects, 768 KiB, 50 JSON-LD blocks.
When to use it
Fetches one public HTML page and extracts title, description, canonical URL, robots directives, Open Graph, Twitter Card, advertised feeds, and parsed JSON-LD. Use this when an agent needs page identity or structured data rather than body text.
Input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 8,
"maxLength": 2048,
"description": "Absolute public HTTP or HTTPS URL without embedded credentials."
}
},
"required": [
"url"
],
"additionalProperties": false
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"ok": {
"const": true
},
"data": {
"type": "object",
"properties": {
"requested_url": {
"type": "string"
},
"final_url": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"canonical_url": {
"type": [
"string",
"null"
]
},
"language": {
"type": [
"string",
"null"
]
},
"robots": {
"type": [
"string",
"null"
]
},
"author": {
"type": [
"string",
"null"
]
},
"open_graph": {
"type": "object"
},
"twitter": {
"type": "object"
},
"feeds": {
"type": "array"
},
"json_ld": {
"type": "array"
},
"invalid_json_ld_count": {
"type": "integer"
}
},
"required": [
"requested_url",
"final_url",
"title",
"description",
"canonical_url",
"open_graph",
"twitter",
"feeds",
"json_ld",
"invalid_json_ld_count"
]
},
"meta": {
"type": "object",
"properties": {
"request_id": {
"type": "string"
},
"duration_ms": {
"type": "integer"
},
"limits": {
"type": "object"
}
},
"required": [
"request_id",
"duration_ms"
]
}
},
"required": [
"ok",
"data",
"meta"
],
"additionalProperties": false
}REST example
curl -X POST https://plainport.exportitnow.workers.dev/api/v1/extract-metadata \
-H "content-type: application/json" \
-d '{"url":"https://example.com"}'Example result
{
"ok": true,
"data": {
"title": "Example Domain",
"canonical_url": null,
"open_graph": {},
"json_ld": []
},
"meta": {
"request_id": "018f…",
"duration_ms": 12
}
}Limit
8 s, 5 redirects, 768 KiB, 50 JSON-LD blocks