API Reference
LinkMeta — URL Metadata API
Extract Open Graph, Twitter Card, and meta tags from any URL. 100 free requests/day. CORS-enabled.
Base URL
https://moneyprint.vercel.app/api/v1/metadataAuthentication
Free tier: no auth required (100 requests/day).
Pro tier: include your API key for unlimited requests + batch endpoint.
Authorization: Bearer qs_YOUR_API_KEY
Endpoints
GET
/api/v1/metadata?url=...Single URLExample request
curl "https://moneyprint.vercel.app/api/v1/metadata?url=https://github.com"
Response
{
"ok": true,
"tier": "free",
"remaining": 99,
"data": {
"url": "https://github.com",
"finalUrl": "https://github.com/",
"title": "GitHub: Let's build from here",
"description": "GitHub is where over 100 million developers shape the future of software...",
"image": "https://github.githubassets.com/assets/github-logo-...",
"favicon": "https://github.com/favicon.ico",
"siteName": "GitHub",
"type": "website",
"locale": "en_US",
"twitterCard": "summary_large_image",
"twitterSite": "@github",
"twitterCreator": null,
"author": null,
"publishedTime": null,
"keywords": [],
"themeColor": "#1e2327",
"canonical": "https://github.com/",
"contentType": "text/html; charset=utf-8",
"statusCode": 200,
"responseTimeMs": 342
}
}POST
/api/v1/metadataSingle URL (JSON body)curl -X POST https://moneyprint.vercel.app/api/v1/metadata \
-H "Content-Type: application/json" \
-d '{"url": "https://github.com"}'POST
/api/v1/metadataPROBatch (up to 10 URLs)curl -X POST https://moneyprint.vercel.app/api/v1/metadata \
-H "Content-Type: application/json" \
-H "Authorization: Bearer qs_YOUR_API_KEY" \
-d '{
"urls": [
"https://github.com",
"https://vercel.com",
"https://stripe.com"
]
}'Batch response
{
"ok": true,
"tier": "pro",
"count": 3,
"data": [
{ "url": "https://github.com", "ok": true, "data": { ... } },
{ "url": "https://vercel.com", "ok": true, "data": { ... } },
{ "url": "https://stripe.com", "ok": true, "data": { ... } }
]
}Response fields
| Field | Type | Description |
|---|---|---|
| url | string | Original requested URL |
| finalUrl | string | URL after redirects |
| title | string | null | Page title (og:title > twitter:title > <title>) |
| description | string | null | Page description (og > twitter > meta) |
| image | string | null | Preview image URL (og:image or twitter:image) |
| favicon | string | null | Favicon URL |
| siteName | string | null | Site name from og:site_name |
| type | string | null | Content type (og:type — website, article, etc.) |
| locale | string | null | Locale from og:locale |
| twitterCard | string | null | Twitter card type |
| twitterSite | string | null | Twitter @handle for the site |
| author | string | null | Author from meta tag |
| publishedTime | string | null | Article publish date (ISO 8601) |
| keywords | string[] | Keywords from meta tag |
| themeColor | string | null | Browser theme-color meta |
| canonical | string | null | Canonical URL |
| contentType | string | null | HTTP Content-Type header |
| statusCode | number | HTTP status code of the fetched page |
| responseTimeMs | number | Time to fetch and parse (ms) |
Rate limits
Free tier
- • 100 requests / day
- • Single URL per request
- • No API key required
- • CORS enabled
Pro — ₩9,900/month
- • Unlimited requests
- • Batch up to 10 URLs per call
- • API key authentication
- • CORS enabled
Use cases
Link Previews
Build rich link previews in chat apps, CMS, or social feeds.
SEO Monitoring
Track meta tags across your site or competitor pages.
Content Aggregation
Pull article metadata for news aggregators or RSS readers.
Bookmark Managers
Auto-fill title, description, and thumbnail on save.
Error codes
| Code | Meaning |
|---|---|
| 400 | Missing or invalid URL parameter |
| 403 | Batch endpoint requires Pro API key |
| 429 | Daily rate limit exceeded — upgrade to Pro |
| 502 | Failed to fetch the target URL (timeout, DNS error, etc.) |