Component registry

Marketing building blocks

The comparison system adds three reusable pieces. These specimens document the boundary each one owns without nesting a second page shell.

block

ComparisonPageShell

Answer-first vendor comparison layout with sources, media, limitations, FAQ, and CTA.

component

ComparisonMatrix

Accessible API, SDK, CLI, MCP, authentication, and result comparison with dated evidence.

component

TrackedMarketingLink

Internal or external link that emits the approved comparison and agent-guide event contracts.

Live specimen

Comparison matrix

The matrix scrolls as one accessible table on narrow screens and keeps every claim tied to its first-party source.

SurfaceGrabbitUrlboxSources
REST APIPOST /v1/grabs with Bearer authenticationRender Links and REST APIGrabbit source · Sep 29, 2026Urlbox source · Sep 29, 2026
SDKs / examplesNo SDK packages; OpenAPI 3.1 plus curl examplesLanguage examples plus llms.txt and Markdown documentation for agentsGrabbit source · Sep 29, 2026Urlbox source · Sep 29, 2026
CLInpx grabbit.live@urlbox/cli with login, screenshot, PDF, and video commandsGrabbit source · Sep 29, 2026Urlbox source · Sep 29, 2026
Hosted MCPhttps://mcp.grabbit.live with OAuth or BearerNo hosted MCP endpoint found in the reviewed first-party docsGrabbit source · Sep 29, 2026Urlbox docs check · Sep 29, 2026
Local MCP / skillNo published local MCP packageCLI installs as an AI agent skillGrabbit source · Sep 29, 2026Urlbox source · Sep 29, 2026
AuthBearer API keys and OAuth 2.1 for MCPProject API key and secret; CLI login or URLBOX_API_SECRET for CIGrabbit source · Sep 29, 2026Urlbox source · Sep 29, 2026
ResultJSON with image_url; MCP can return image contentImage, PDF, video, rendered links, and file outputGrabbit source · Sep 29, 2026Urlbox source · Sep 29, 2026
Async / webhooksLive keys: Prefer: respond-async returns 202; poll by id or receive signed webhooks. Test keys return a synchronous 200 placeholder.Async render endpoint, polling, and signed render webhooksGrabbit source · Sep 29, 2026Urlbox source · Sep 29, 2026
Rate / concurrency60 requests per minute; async queue limit is reported with HTTP 429Plan-dependent 30 to 1,000 requests per minute, with HTTP 429, RateLimit headers, and Retry-After; concurrency not separately verifiedGrabbit source · Sep 29, 2026Urlbox source · Sep 29, 2026
Errors / retriesStructured error codes and Idempotency-Key for safe request replayStructured errors with requestId; duplicate requests are not deduplicatedGrabbit source · Sep 29, 2026Urlbox source · Sep 29, 2026
Caching / retentionPublic unguessable image_url; retained until deletion is requested; no cache TTL controlAPI requests are uncached; temporary render URLs expire after 30 daysGrabbit source · Sep 29, 2026Urlbox source · Sep 29, 2026
Billing eventOne credit per successful live capture; test-key placeholders are freeSuccessful uncached REST renders count; cached Render Links can be free, while advanced work can consume extra render unitsGrabbit source · Sep 29, 2026Urlbox source · Sep 29, 2026
Machine-readable docsOpenAPI 3.1, llms.txt, and JSON pricing packetllms.txt plus Markdown documentation and API referenceGrabbit source · Sep 29, 2026Urlbox source · Sep 29, 2026