API Reference¶
Base URL:
All endpoints are versioned under /v1.
Extract metadata¶
Fetches a URL and returns its structured metadata.
Authentication¶
Required. Pass your key in the X-API-Key header.
Query parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | Yes | The HTTP or HTTPS URL to extract metadata from. |
The URL must begin with http:// or https://. Any other scheme returns a 400 error.
Response¶
Returns a JSON object with the following fields. Any field the page does not provide is returned as null — fields are never omitted, so the response shape is consistent.
| Field | Type | Description |
|---|---|---|
title |
string | null | The page <title>. |
description |
string | null | The <meta name="description"> content. |
og_title |
string | null | The og:title Open Graph tag. |
og_description |
string | null | The og:description Open Graph tag. |
og_image |
string | null | The og:image Open Graph tag. |
og_url |
string | null | The og:url Open Graph tag. |
canonical_url |
string | null | The <link rel="canonical"> URL. |
favicon_url |
string | null | The favicon URL, resolved from link tags or the domain default. |
Example¶
curl "https://fetchmeta.zindle.com.au/v1/fetch?url=https://github.com" \
-H "X-API-Key: fm_live_your_key_here"
{
"title": "GitHub: Let's build from here",
"description": "GitHub is where over 100 million developers shape the future of software, together.",
"og_title": "GitHub: Let's build from here",
"og_description": "GitHub is where over 100 million developers shape the future of software, together.",
"og_image": "https://github.githubassets.com/assets/campaign-social.png",
"og_url": "https://github.com/",
"canonical_url": "https://github.com/",
"favicon_url": "https://github.com/favicon.ico"
}
Health check¶
Returns the service status. No authentication required.
Response¶
Error codes¶
| Status | Meaning |
|---|---|
400 |
Invalid request — the url parameter is missing or not http/https. |
401 |
Missing or invalid API key. |
429 |
Rate limit exceeded. See Limits. |
Errors return a JSON body with a detail field describing the problem: