Skip to content

URL To Metadata

POST https://api.echovalue.dev/url-to-metadata

Fetches metadata for a public URL through the echoValue URL To Metadata service.

The request is authenticated with x-token, charged by echoValue, and logged.

Headers:

HeaderDescription
x-tokenYour API token
content-typeMust be application/json

Body:

FieldTypeRequiredDescription
urlstringYesPublic URL to analyze
aiSummarystringNoAI enrichment level: none, short, medium, or long. none is the default

Examples:

Terminal window
curl 'https://api.echovalue.dev/url-to-metadata' \
-H 'x-token: mytoken' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://example.com/article",
"aiSummary": "short"
}'

200 OK returns the JSON payload produced by the URL To Metadata service.

{
"success": true,
"data": {
"seo": {
"title": "Example Company - Leading SaaS Platform",
"description": "Enterprise software for team collaboration",
"keywords": ["saas", "collaboration", "enterprise"],
"canonical": "https://example.com"
},
"technical": {
"statusCode": 200,
"finalUrl": "https://example.com",
"originalUrl": "https://example.com/article",
"robotsAllowed": true,
"isSecure": true,
"contentType": "text/html; charset=utf-8"
},
"links": {
"internal": {
"total": 12,
"urls": ["/about", "/pricing", "/contact"]
},
"external": {
"total": 2,
"urls": ["https://github.com/example"],
"domains": ["github.com"]
}
},
"ai": {
"summary": {
"short": "Example Company provides cloud-based collaboration software for enterprises.",
"contentLength": 5240,
"truncated": false
},
"keyFacts": {
"companyName": "Example Company Inc.",
"industry": "Enterprise Software",
"businessModel": "Subscription"
},
"processingTime": 2340
}
},
"timestamp": "2025-06-19T15:54:01.821Z"
}

The response shape is partially flexible. Top-level fields such as success, data, and timestamp are stable, while nested keys inside data can vary depending on the target page and whether AI enrichment is enabled.

FieldTypeDescription
successbooleanIndicates whether the scrape completed successfully
dataobjectExtracted metadata grouped by area such as seo, technical, links, social, contact, and ai
timestampstring (ISO 8601)When the response was produced

When aiSummary is none, the ai block may be omitted. When AI enrichment is enabled, data.ai.summary, data.ai.keyFacts, and data.ai.processingTime may be returned.

Response headers:

HeaderDescription
x-balanceWallet balance after this call
x-costCredits consumed for this request

See Response Headers for details.

StatusMeaning
200Metadata returned successfully
400Invalid request body or validation error
401Invalid token
402Wallet has insufficient credits
405Method not allowed
500Internal service error
502Metadata service unavailable
503Metadata service unavailable
  • The target URL must be publicly reachable by the metadata service.
  • Treat nested fields inside data as optional and schema-light. Parse defensively.
  • This endpoint is best suited for metadata extraction, link analysis, and optional summary generation over public pages.