Contract
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "URL to extract metadata from"
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"og": {
"type": "object",
"properties": {
"type": {
"type": [
"string",
"null"
],
"description": "e.g. 'website'."
},
"title": {
"type": [
"string",
"null"
]
},
"site_name": {
"type": [
"string",
"null"
],
"description": "Observed null on every real fixture captured; presumably populated for some pages, unconfirmed."
},
"description": {
"type": [
"string",
"null"
]
}
},
"description": "Open Graph text tags (og:image and og:url are excluded, see verification.notes).",
"additionalProperties": true
},
"title": {
"type": "string",
"description": "The page's <title> text. Present on both fixtures observed (a fully populated page and a near-empty one)."
},
"robots": {
"type": [
"string",
"null"
],
"description": "The page's robots meta directive (e.g. 'noindex'). Observed null on both real fixtures captured -- neither page sets one -- so a populated value's exact format is unconfirmed."
},
"json_ld": {
"type": "array",
"items": {
"type": "object",
"properties": {
"@graph": {
"type": "array",
"items": {
"type": "object",
"properties": {
"logo": {
"type": "object",
"properties": {
"@type": {
"type": "string"
}
},
"description": "Present when the organization publishes a logo entry (its URL is excluded).",
"additionalProperties": true
},
"name": {
"type": "string",
"description": "The node's own name -- the organization's public name on an 'Organization' node."
},
"@type": {
"type": "string",
"description": "e.g. 'WebSite', 'Organization'."
},
"founders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "A founder's name, as the company itself publishes it."
},
"@type": {
"type": "string"
}
},
"additionalProperties": true
},
"description": "Present on an 'Organization' node that publishes its founders."
},
"location": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The location's own label, e.g. 'Stripe Singapore'."
},
"@type": {
"type": "string"
},
"address": {
"type": "object",
"properties": {
"@type": {
"type": "string"
},
"postalCode": {
"type": "string",
"description": "Not present on every location observed (e.g. absent on the Dubai office entry)."
},
"addressRegion": {
"type": "string",
"description": "Not present on every location observed (e.g. absent on the Singapore and London office entries)."
},
"addressCountry": {
"type": "string"
},
"addressLocality": {
"type": "string"
}
},
"description": "City/region/country/postal fields only -- the exact street address is intentionally excluded, see verification.notes.",
"additionalProperties": true
}
},
"additionalProperties": true
},
"description": "Office/location entries the organization publishes. Observed as a 20-entry global office list on one real fixture (Stripe)."
},
"legalName": {
"type": "string",
"description": "The organization's registered legal name, e.g. 'Stripe, LLC'. Present on an 'Organization' node."
},
"description": {
"type": "string",
"description": "Present on an 'Organization' node."
},
"contactPoint": {
"type": "object",
"properties": {
"@type": {
"type": "string"
},
"contactType": {
"type": "string",
"description": "e.g. 'customer support'."
},
"availableLanguage": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "The organization's published contact channel (its URL is excluded, see verification.notes).",
"additionalProperties": true
}
},
"additionalProperties": true
},
"description": "Schema.org graph nodes. Shape varies by the node's own '@type' -- a 'WebSite' node observed carrying only 'name'; an 'Organization' node carrying the fuller set below."
}
},
"additionalProperties": true
},
"description": "One entry per JSON-LD script block found on the page, text/structural fields only (the block's own @context URL and every graph node's URL-shaped fields are excluded, see verification.notes). Empty array on a page with no JSON-LD (example-minimal.json)."
},
"twitter": {
"type": "object",
"properties": {
"card": {
"type": [
"string",
"null"
],
"description": "e.g. 'summary_large_image'."
},
"site": {
"type": [
"string",
"null"
],
"description": "The site's own @handle, e.g. '@stripe'."
},
"title": {
"type": [
"string",
"null"
]
},
"creator": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
}
},
"description": "Twitter Card text tags (twitter:image is excluded, see verification.notes). All fields observed null together on a page with no Twitter Card markup.",
"additionalProperties": true
},
"language": {
"type": "string",
"description": "Page language, e.g. 'en-US', 'en'."
},
"description": {
"type": [
"string",
"null"
],
"description": "Meta description tag text. Observed null on a page with no meta description (example-minimal.json)."
}
},
"description": "The page metadata Omnial returns, shaped from the result path. Image, favicon, canonical, and social-profile URLs the underlying page carries are intentionally not included -- see verification.notes for why every URL-shaped field is left out rather than shipped.",
"additionalProperties": true
}Pricing
Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.
Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.
| Charge | Rate |
|---|---|
Per call Flat, regardless of what comes back | $0.0486486 |
- Cost basis
- Not recorded
This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.
- Updated
- Sep 25, 2026
