app_id query parameter. Things to know before you call:
- Credits, not side effects. Every operation is a read, but each request bills credits: 1 for a base call or cache hit, 10 for
full_renderoruse_proxy, 20 foruse_premiumor a screenshot, 30 foruse_superior.query.runbills a fixed 100 credits on the defaultnanomodel and 200 onmini, whatever proxy or render options are set, so one uncached query uses up a free account’s month. On v3.0auto_proxy,auto_renderandretrydefault to true, so OpenGraph.io may pick a proxy tier for a hard domain and bill that tier. - Rate limits are concurrent. Plans allow 1 (free) to 100 requests in flight at once. Past that the API answers 429; the plugin retries up to three times with exponential backoff and honors Retry-After when sent.
- Enum-typed options.
screenshot.capturetakesformat(jpeg, png, webp) anddimensions(xs, sm, md, lg);oembed.gettakesorientation(vertical, horizontal),theme(light, dark, auto) andtemplate(default, compact, horizontal);query.runtakesmodelSize(nano, mini);extract.runandmarkdown.gettakeai_sanitize_mode(sanitize, warn, block); anextract.runselector’stypeis text or attr; abrand.analyzequestion’stypeis one of string, boolean, number, string[] or object, which name the answer’s type. Pass them all as strings, e.g.type: 'string[]'. - Screenshot links expire.
screenshot.capturereturns a CDN URL that dies after 24 hours; download the image if you need it longer. - Markdown always comes back as the JSON envelope, never a bare text body, so chunking, structure and usage metadata parse uniformly.
- Brand analysis is slow and partial.
brand.analyzereads several pages of the site and can take tens of seconds; sections that fail come back null rather than failing the call. Requests withsectionsorquestionsPOST a JSON body, plain ones GET. - Webhooks. OpenGraph.io sends none, so the plugin receives none.
- 8 typed API operations
Setup
1
Install
2
Add the plugin
corsair.ts
multiTenancy: true, scope calls with corsair.withTenant(id). See Quick start for KEK + Hub keys, and Multi-tenancy for account isolation.3
Choose authentication
- API Key (Recommended)
No setup required yet. When you make your first request as a tenant, Corsair prompts for the API key.More: API Key
4
Connect a tenant
Mint a connect link and send the tenant to it. Hub hosts the page and delivers the result to your app — see Connect / OAuth.
Example API calls
Unfurl a page into link preview metadataWhat’s next
API reference
Every
opengraph.api.* operation with input and output types.Connect / OAuth
createLink, Hub delivery, and tenant connect flows.
Use with agents
Expose this plugin’s operations as MCP tools.