Search the web, news, places, and other public content, retrieve a page, or get an answer with sources. Choose an action and supply a query or URL as described below.
Every action returns normalized output; check result_status for delivery. News, places, scholar, shopping, images, videos and similar expose output.items[] with fixed fields per row; answer exposes output.answer and citations[]. Scrape exposes text, markdown, html, and raw_html; missing formats are null. The Provider’s native output is not repeated in output; it stays on the Run and is readable with Get Run. Glasser does not convert HTML to text or judge semantic quality from wording or length. Search returns output.results[] and supports time_range: day | week | month | year. An empty but valid answer is no_result and keeps the action’s shape: results or items is [], and an empty answer is answer: null with citations: []. Scrape has no empty answer: a page that cannot be delivered is error, with output: null and the reason in error.code.Fetch (scrape) uses Serper then Firecrawl within a default 30-second request budget. HTML or explicit cache-age requests go directly to Firecrawl. X/Twitter and LinkedIn enrichment exclude Firecrawl. A named Provider never falls back. Empty or invalid output, Provider errors, timeout, or missing supported formats can trigger fallback. The delivered content comes from the final Run; content from different captures is not merged.charge_usd totals this response’s runs, including charged failures and empty results, and is null until all Runs settle. The final Run’s lifecycle remains in status; COMPLETED alone does not prove content delivery. For pending work, follow the authenticated result_url to retain normalized output and total charges. Get Run remains native and reports an individual charge.Polling creates no Runs and does not resume fallback. An intentional POST retry uses the same Idempotency-Key and execution parameters, reuses existing Runs, and starts a new request time window. See Provider selection and charges.
published_at is an ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date). fetched_at is the same format.
date_text is Google’s display text exactly as returned. It may be relative to the Run’s completed_at (“3 hours ago”) and is never parsed.
search date is deprecated: it holds Google’s display text for Serper and SerpApi and Exa’s raw publishedDate for Exa. Use published_at or date_text.
snippet is Google’s short excerpt, or Exa’s extracted highlight for Exa; it is never the full page text.
price_text and duration_text are display strings, not parsed; the price currency follows country.
rating is Google’s 1–5 star average and reviews is a count. source is a publisher or site name.
address is the Provider’s own text; Serper may return only the street line.
exa_similarity_score is Exa’s own score, comparable only within one response. Similar leaves out pages from the requested URL’s host.
text_character_limit is the character cap Glasser asked the Provider to apply (10000 for Exa); text of exactly that length may be truncated. cached says whether the Provider served the page from its cache.
quality is always unverified and will be removed in the next breaking revision.
{ "action": "news", "provider": "serper", "status": "COMPLETED", "result_status": "success", "output": { "items": [ { "title": "Ripple, Stripe-owned Privy partner to bring embedded wallets to XRP Ledger", "url": "https://www.theblock.co/news/business/2026-10-13-stripe-privy-ripple-xrp-ledger-wallets-418463", "source": "The Block", "published_at": null, "date_text": "18 hours ago", "snippet": "The integration will allow developers to add XRP Ledger wallets to their apps using Privy's infrastructure." } ] }, "charge_usd": "0.0011", "runs": [{ "provider": "serper", "status": "COMPLETED", "charge_usd": "0.0011" }], "result_url": "/v1/solutions/gtm/web_research/result?token=…"}
Generate a unique value for each intended execution (a UUID is recommended). Retry with the same key and execution parameters to retrieve the original Run without a second charge. Changing execution parameters with the same key returns 409; changing task_id or metadata does not update the original Run.
Default auto: select the first eligible Provider in Glasser's preference order. A named Provider must support the request and be allowed by your Key; it does not fall back to another Provider. Available values are listed below.
For scrape only. When omitted, use the selected Provider's native default: text for Serper/Exa, markdown for Firecrawl/DataForSEO. Requested formats guide routing and fallback; output exposes fixed text/markdown/html/raw_html fields. html means cleaned HTML; raw_html means original HTML. Auto uses Serper then Firecrawl. HTML requests go directly to Firecrawl. Read result_status and missing_formats for delivery; an unrequested null field is not a partial result. Firecrawl does not supply text; Glasser does not convert HTML to text. X/Twitter and enrichment routes are excluded from Firecrawl.
For scrape only. Default 30000. Execution budget for this API request, including serial fallback. A retry has a new request window and reuses existing Runs through Run idempotency. Firecrawl and Exa use the actual remaining time, reserving settlement and response time; less than 1 second of call time is refused.
For scrape only. Maximum Provider cache age; 0 requires a live fetch. Routes without this control are excluded. Auto selects Firecrawl (milliseconds); explicit Exa receives whole hours rounded down. Unknown cache/fetch metadata remains null.
For search only: restrict results to the past day, week, month, or year using Google's time filter. Omit for any time. Auto uses only Providers that support this filter (Serper and SerpApi). Exa is refused when this field is supplied. This is a search-engine filter, not a verified publication date.
Country for search-type actions, as a two-letter ISO code or a country name. Default us. Not for scrape or similar. Refused with 400 when the named provider cannot apply it.
QUEUED or RUNNING: still in progress. COMPLETED: a Provider response is available, including non-2xx responses. FAILED: read failure. STOPPED: stopped before dispatch. Read charge_usd separately from status.
Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.
search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)
places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid
published_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.
Authenticated, read-only URL path for polling this normalized result and total charge. Use with the API origin. Does not create Runs or resume fallback. GET /v1/runs/:id still returns the native, individual Run.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Glasser","description":"Give your AI access to company, people, web, places, and market data with one Glasser account.","colors":{"primary":"#111111","light":"#e5e5e5","dark":"#171717"},"favicon":"https://mintcdn.com/glasser/UmKPaCGGjUt13e9p/favicon.svg?fit=max\u0026auto=format\u0026n=UmKPaCGGjUt13e9p\u0026q=85\u0026s=4ef0ba1a35f36c7b2499a657f13f068f","api":{"playground":{"display":"interactive"}},"navbar":{"primary":{"type":"button","label":"Get started","href":"https://app.glasser.ai/get-started?utm_source=docs\u0026utm_medium=navbar"}},"footer":{"socials":{"x":"https://x.com/Glasserai","discord":"https://discord.gg/akfMzXuwkw"}},"contextual":{"options":[{"title":"Ask in ChatGPT","description":"Ask questions about this page","icon":"/images/clients/chatgpt.svg","href":{"base":"https://chatgpt.com/","query":[{"key":"hints","value":"search"},{"key":"q","value":"Read this Glasser documentation page and help me understand how to use it: https://glasser.ai/docs$path"}]}},{"title":"Ask in Claude","description":"Ask questions about this page","icon":"/images/clients/claude.svg","href":{"base":"https://claude.ai/new","query":[{"key":"q","value":"Read this Glasser documentation page and help me understand how to use it: https://glasser.ai/docs$path"}]}},"copy","view"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"glasser","hasAudioNarration":false,"actualSubdomain":"glasser","customDomains":["glasser.ai"],"gitSource":{"type":"github","owner":"surething-io","repo":"glasser-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae1f22b8ead5bbc3c1cc3e5","collectionId":"f8ea516d-ff83-407d-b2e0-af2f4d1da829","liveDeploymentHistoryId":"6ae1f22b8ead5bbc3c1cc3e5","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae1f22b8ead5bbc3c1cc3e5","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":24},{"language":"default","tag":"Documentation","count":22},{"language":"default","tag":"For AI agents","count":19},{"language":"default","tag":"CLI Reference","count":15},{"language":"default","tag":"Solutions","count":13},{"language":"default","tag":"Set up with MCP","count":10},{"language":"default","tag":"Set up with Skill","count":9},{"language":"default","tag":"Runs","count":8},{"language":"default","tag":"Get started","count":6},{"language":"default","tag":"Data Sources","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@font-face{font-family:\"Inter\";font-weight:100 900;font-display:swap;src:url(/docs/fonts/inter-latin.woff2) format(\"woff2\"),url(/fonts/inter-latin.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:\"Inter\";font-weight:100 900;font-display:swap;src:url(/docs/fonts/inter-latin-ext.woff2) format(\"woff2\"),url(/fonts/inter-latin-ext.woff2) format(\"woff2\");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}body{font-family:\"Inter\",ui-sans-serif,system-ui,sans-serif}.dark .client-card-monochrome img[aria-hidden=true],.dark .glasser-page-actions-menu img[src$=\"/chatgpt.svg\"]{filter:invert(1)}h1{letter-spacing:-.02em}.glasser-page-actions>[id=page-context-menu-button]{display:none}.glasser-page-actions>button[aria-haspopup=menu]{width:auto;aspect-ratio:auto;gap:8px;padding:0 12px;border-radius:10px;font-size:14px;font-weight:500}.glasser-page-actions-menu [data-glasser-page-action=copy]{margin-top:6px}.glasser-page-actions-menu [data-glasser-page-action=copy]::before{content:\"\";position:absolute;top:-4px;left:6px;right:6px;border-top:1px solid currentColor;opacity:.15}.font-mono,[class*=font-mono],[class*=paperMono],code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.rounded-2xl{border-radius:16px}.rounded-xl{border-radius:14px}.rounded-lg{border-radius:10px}.rounded-md{border-radius:8px}[class*=\"rounded-[10px]\"],[class*=\"rounded-[14px]\"]{border-radius:10px}.tryit-button.tryit-button{background-color:oklch(.1684 0 0);height:32px;padding:0 12px;font-size:14px;line-height:20px;border-radius:8px}.tryit-button.tryit-button:hover{background-color:#262626}.bg-primary-dark{border-radius:9999px!important;background-color:oklch(.1684 0 0)!important}.bg-primary-dark~*,a:has(>.bg-primary-dark){font-size:14px}a:has(>.bg-primary-dark),button:has(>.bg-primary-dark){height:32px;padding:0 12px}[class*=\"bg-green-400/20\"]{background-color:#f5f5f5!important}[class*=text-green-700]{color:oklch(.53 0 0)!important}[class*=\"bg-blue-400/20\"]{background-color:#f5f5f5!important}[class*=text-blue-700]{color:oklch(.1684 0 0)!important}[class*=\"bg-orange-400/20\"],[class*=\"bg-yellow-400/20\"]{background-color:#f5f5f5!important}[class*=text-orange-700],[class*=text-yellow-700]{color:oklch(.1684 0 0)!important}[class*=\"bg-red-400/20\"]{background-color:hsl(357 90.5% 95.9%)!important}[class*=text-red-700]{color:hsl(358 64.8% 49%)!important}.dark [class*=\"bg-green-400/20\"]{background-color:oklch(.269 0 0)!important}.dark [class*=text-green-400]{color:oklch(.708 0 0)!important}.dark [class*=\"bg-blue-400/20\"]{background-color:oklch(.269 0 0)!important}.dark [class*=text-blue-400]{color:#e5e5e5!important}.dark [class*=\"bg-red-400/20\"]{background-color:hsl(350 53.2% 15.1%)!important}.dark [class*=text-red-400]{color:hsl(2 100% 78.6%)!important}[class*=page-header] .prose.text-lg{font-size:16px;line-height:26px;color:oklch(.53 0 0)}.dark [class*=page-header] .prose.text-lg{color:oklch(.708 0 0)}[class*=\"bg-[#3064E3]\"]:not(.tryit-button){background-color:#f5f5f5!important;color:oklch(.1684 0 0)!important}.dark [class*=\"bg-[#3064E3]\"]:not(.tryit-button){background-color:oklch(.269 0 0)!important;color:#e5e5e5!important}.integration-flow{max-width:640px;margin:24px auto}.integration-flow img{display:block;width:100%;height:auto;border-radius:12px}.dark .integration-flow-light,.integration-flow-dark{display:none}.dark .integration-flow-dark{display:block}.integration-map{--map-surface:#fafafa;--map-card:#ffffff;--map-border:#e5e5e5;--map-muted:#737373;--map-accent:#ba5639;--map-accent-surface:#fff7f3;--map-accent-border:#ebc3b7;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:center;gap:12px;margin:24px 0 32px;padding:24px;border:1px solid var(--map-border);border-radius:16px;background:var(--map-surface);font-size:14px;line-height:1.4}.dark .integration-map{--map-surface:#141414;--map-card:#1c1c1c;--map-border:#303030;--map-muted:#a3a3a3;--map-accent:#e5a18a;--map-accent-surface:#2b1e19;--map-accent-border:#674437}.integration-map-product{min-width:0;padding:16px;border:1px dashed var(--map-border);border-radius:12px}.integration-map-label{display:block;margin-bottom:12px;color:var(--map-muted);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.integration-map-row{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1.4fr);align-items:center}.integration-map-node{display:flex;min-width:0;min-height:72px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 8px;border:1px solid var(--map-border);border-radius:10px;background:var(--map-card);text-align:center;font-weight:500}.integration-map-node strong{font-weight:600}.integration-map-node>span{color:var(--map-muted);font-size:11px;font-weight:400}.integration-map-glasser{border-color:var(--map-accent-border);background:var(--map-accent-surface)}.integration-map-arrow{color:var(--map-accent);font-size:22px;text-align:center}.integration-map-destinations{display:grid;gap:12px}.integration-map-route{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px}.integration-map-direct{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr)}@media (max-width:540px){.integration-map{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.integration-map-destinations{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.integration-map-route{grid-template-columns:minmax(0,1fr);gap:8px}.integration-map-direct>.integration-map-arrow,.integration-map-route>.integration-map-arrow{transform:rotate(90deg)}.integration-map-direct .integration-map-node{min-height:60px}}.setup-screenshots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;margin:24px 0}.setup-screenshots>div{min-width:0}.setup-screenshots .frame{margin:0}.setup-screenshots .zoom-image-trigger img{width:auto;height:auto;max-width:100%;max-height:280px}.setup-screenshots figcaption{font-size:12px;line-height:1.5}.setup-screenshots-single{grid-template-columns:minmax(0,1fr);max-width:400px}.setup-screenshots-create>div:last-child{grid-column:2;grid-row:1/span 2}.setup-screenshots-create>div:first-child .zoom-image-trigger img{max-height:180px}.setup-screenshots-create>div:last-child .zoom-image-trigger img{max-height:360px}@media (max-width:640px){.setup-screenshots{grid-template-columns:minmax(0,1fr)}.setup-screenshots-create>div:last-child{grid-column:auto;grid-row:auto}}"}],"page":{"pagePath":"api-reference/solutions/gtm/web_research","slug":"/api-reference/solutions/gtm/web_research","pageMetadata":{"title":"Web research","description":"Search the web, news, places, and other public content, retrieve a page, or get an answer with sources. Choose an action and supply a query or URL as described below.","deprecated":null,"version":null,"sidebarTitle":"Web research","openapi":"/openapi.json post /v1/solutions/gtm/web_research","href":"/api-reference/solutions/gtm/web_research","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Search the web, news, places, and other public content, retrieve a page, or get an answer with sources. Choose an action and supply a query or URL as described below.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Every action returns normalized `,_jsx(_components.code,{children:`output`}),`; check `,_jsx(_components.code,{children:`result_status`}),` for delivery. News, places, scholar, shopping, images, videos and similar expose `,_jsx(_components.code,{children:`output.items[]`}),` with fixed fields per row; answer exposes `,_jsx(_components.code,{children:`output.answer`}),` and `,_jsx(_components.code,{children:`citations[]`}),`. Scrape exposes `,_jsx(_components.code,{children:`text`}),`, `,_jsx(_components.code,{children:`markdown`}),`, `,_jsx(_components.code,{children:`html`}),`, and `,_jsx(_components.code,{children:`raw_html`}),`; missing formats are null. The Provider’s native output is not repeated in `,_jsx(_components.code,{children:`output`}),`; it stays on the Run and is readable with `,_jsx(_components.a,{href:`/api-reference/runs/get`,children:`Get Run`}),`. Glasser does not convert HTML to text or judge semantic quality from wording or length. Search returns `,_jsx(_components.code,{children:`output.results[]`}),` and supports `,_jsx(_components.code,{children:`time_range: day | week | month | year`}),`. An empty but valid answer is `,_jsx(_components.code,{children:`no_result`}),` and keeps the action’s shape: `,_jsx(_components.code,{children:`results`}),` or `,_jsx(_components.code,{children:`items`}),` is `,_jsx(_components.code,{children:`[]`}),`, and an empty answer is `,_jsx(_components.code,{children:`answer: null`}),` with `,_jsx(_components.code,{children:`citations: []`}),`. Scrape has no empty answer: a page that cannot be delivered is `,_jsx(_components.code,{children:`error`}),`, with `,_jsx(_components.code,{children:`output: null`}),` and the reason in `,_jsx(_components.code,{children:`error.code`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Fetch (`,_jsx(_components.code,{children:`scrape`}),`) uses Serper then Firecrawl within a default 30-second request budget. HTML or explicit cache-age requests go directly to Firecrawl. X/Twitter and LinkedIn enrichment exclude Firecrawl. A named Provider never falls back. Empty or invalid output, Provider errors, timeout, or missing supported formats can trigger fallback. The delivered content comes from the final Run; content from different captures is not merged.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`charge_usd`}),` totals this response’s `,_jsx(_components.code,{children:`runs`}),`, including charged failures and empty results, and is null until all Runs settle. The final Run’s lifecycle remains in `,_jsx(_components.code,{children:`status`}),`; `,_jsx(_components.code,{children:`COMPLETED`}),` alone does not prove content delivery. For pending work, follow the authenticated `,_jsx(_components.a,{href:`/api-reference/solutions/gtm/web_research/result`,children:`result_url`}),` to retain normalized output and total charges. `,_jsx(_components.a,{href:`/api-reference/runs/get`,children:`Get Run`}),` remains native and reports an individual charge.`]}),`\n`,_jsxs(_components.p,{children:[`Polling creates no Runs and does not resume fallback. An intentional POST retry uses the same Idempotency-Key and execution parameters, reuses existing Runs, and starts a new request time window. See `,_jsx(_components.a,{href:`/api-reference/solutions/overview#how-provider-selection-works`,children:`Provider selection and charges`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`output-by-action`,children:`Output by action`}),`\n`,_jsxs(_components.p,{children:[`Every field is present on every row; a value the Provider does not report is `,_jsx(_components.code,{children:`null`}),`. Fields follow the `,_jsx(_components.a,{href:`/api-reference/solutions/overview#field-conventions`,children:`field conventions`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`action`}),_jsx(_components.th,{children:_jsx(_components.code,{children:`output`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`search`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`results[]`}),`: url, title, snippet, position, published_at, date_text, date (deprecated)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`news`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`items[]`}),`: title, url, source, published_at, date_text, snippet`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`places`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`items[]`}),`: name, address, category, rating, reviews, phone, website, latitude, longitude, google_cid`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`scholar`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`items[]`}),`: title, url, snippet, publication, year, cited_by, pdf_url`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`shopping`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`items[]`}),`: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating, reviews, image_url`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`images`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`items[]`}),`: title, image_url, thumbnail_url, source_url, source, width, height`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`videos`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`items[]`}),`: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`answer`})}),_jsxs(_components.td,{children:[`answer, `,_jsx(_components.code,{children:`citations[]`}),`: url, title, published_at`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`scrape`})}),_jsx(_components.td,{children:`url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`similar`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`items[]`}),`: url, title, exa_similarity_score, published_at, author`]})]})]})]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`published_at`}),` is an ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa `,_jsx(_components.code,{children:`publishedDate`}),`, SerpApi news `,_jsx(_components.code,{children:`iso_date`}),`). `,_jsx(_components.code,{children:`fetched_at`}),` is the same format.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`date_text`}),` is Google’s display text exactly as returned. It may be relative to the Run’s `,_jsx(_components.code,{children:`completed_at`}),` (“3 hours ago”) and is never parsed.`]}),`\n`,_jsxs(_components.li,{children:[`search `,_jsx(_components.code,{children:`date`}),` is deprecated: it holds Google’s display text for Serper and SerpApi and Exa’s raw `,_jsx(_components.code,{children:`publishedDate`}),` for Exa. Use `,_jsx(_components.code,{children:`published_at`}),` or `,_jsx(_components.code,{children:`date_text`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`snippet`}),` is Google’s short excerpt, or Exa’s extracted highlight for Exa; it is never the full page text.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`price_text`}),` and `,_jsx(_components.code,{children:`duration_text`}),` are display strings, not parsed; the price currency follows `,_jsx(_components.code,{children:`country`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`rating`}),` is Google’s 1–5 star average and `,_jsx(_components.code,{children:`reviews`}),` is a count. `,_jsx(_components.code,{children:`source`}),` is a publisher or site name.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`address`}),` is the Provider’s own text; Serper may return only the street line.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`exa_similarity_score`}),` is Exa’s own score, comparable only within one response. Similar leaves out pages from the requested URL’s host.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`text_character_limit`}),` is the character cap Glasser asked the Provider to apply (10000 for Exa); text of exactly that length may be truncated. `,_jsx(_components.code,{children:`cached`}),` says whether the Provider served the page from its cache.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`quality`}),` is always `,_jsx(_components.code,{children:`unverified`}),` and will be removed in the next breaking revision.`]}),`\n`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`14`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`14`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"action\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"news\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"provider\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"serper\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"COMPLETED\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"result_status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"output\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"items\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Ripple, Stripe-owned Privy partner to bring embedded wallets to XRP Ledger\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://www.theblock.co/news/business/2026-10-13-stripe-privy-ripple-xrp-ledger-wallets-418463\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"source\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The Block\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"published_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"date_text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"18 hours ago\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"snippet\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The integration will allow developers to add XRP Ledger wallets to their apps using Privy's infrastructure.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"charge_usd\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0.0011\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"runs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"provider\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"serper\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"COMPLETED\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"charge_usd\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0.0011\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"result_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/v1/solutions/gtm/web_research/result?token=…\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Web research","description":"Search the web, news, places, and other public content, retrieve a page, or get an answer with sources. Choose an action and supply a query or URL as described below.","deprecated":null,"version":null,"sidebarTitle":"Web research","openapi":"/openapi.json post /v1/solutions/gtm/web_research","href":"/api-reference/solutions/gtm/web_research","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Output by action","slug":"output-by-action","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/glasser/edf4f5bdc385b1eb/glasser-analytics.js","/docs/_mintlify/custom/glasser/277549e7f7982383/glasser-page-actions.js"],"openApiReferenceData":{"operation":{"tags":["Solutions"],"operationId":"gtm-web-research","parameters":["24b9c8c6-7d20-4caa-95ae-2cff89a7571a"],"security":["b35e8303-7c70-4d08-bb53-d9027631d724"],"responses":{"200":"422f959b-a4cb-43bd-868a-6ae9301837f1","202":"d975dd3b-88df-4859-aa53-ec2f2c5f1401","400":"0e2f350b-cbb0-4585-a6c9-7c78eb9a058d","401":"5390d3d4-9c14-43a3-9292-c654edeeb5df","402":"dcec6d90-a0ac-41dd-a02c-ffd360227ba5","403":"a326f712-232f-4a40-aa67-09e29e83d9d3","409":"0d3bf5b4-e909-47fb-a787-b74b09852715","429":"43d964dc-57dc-4901-ab79-6bd9f6618997","503":"f1a96324-b1c4-4403-bdff-4c127f2ec1bc"},"description":"Search the web, news, places, and other public content, retrieve a page, or get an answer with sources. Choose an action and supply a query or URL as described below.","summary":"Web research","requestBody":"0b34a10c-f231-4c2a-8468-ba5a5a89ee82","x-mint":{"metadata":{"title":"Web research","description":"Search the web, news, places, and other public content, retrieve a page, or get an answer with sources. Choose an action and supply a query or URL as described below."},"content":"Every action returns normalized `output`; check `result_status` for delivery. News, places, scholar, shopping, images, videos and similar expose `output.items[]` with fixed fields per row; answer exposes `output.answer` and `citations[]`. Scrape exposes `text`, `markdown`, `html`, and `raw_html`; missing formats are null. The Provider's native output is not repeated in `output`; it stays on the Run and is readable with [Get Run](/api-reference/runs/get). Glasser does not convert HTML to text or judge semantic quality from wording or length. Search returns `output.results[]` and supports `time_range: day | week | month | year`. An empty but valid answer is `no_result` and keeps the action's shape: `results` or `items` is `[]`, and an empty answer is `answer: null` with `citations: []`. Scrape has no empty answer: a page that cannot be delivered is `error`, with `output: null` and the reason in `error.code`.\n\nFetch (`scrape`) uses Serper then Firecrawl within a default 30-second request budget. HTML or explicit cache-age requests go directly to Firecrawl. X/Twitter and LinkedIn enrichment exclude Firecrawl. A named Provider never falls back. Empty or invalid output, Provider errors, timeout, or missing supported formats can trigger fallback. The delivered content comes from the final Run; content from different captures is not merged.\n\n`charge_usd` totals this response's `runs`, including charged failures and empty results, and is null until all Runs settle. The final Run's lifecycle remains in `status`; `COMPLETED` alone does not prove content delivery. For pending work, follow the authenticated [result_url](/api-reference/solutions/gtm/web_research/result) to retain normalized output and total charges. [Get Run](/api-reference/runs/get) remains native and reports an individual charge.\n\nPolling creates no Runs and does not resume fallback. An intentional POST retry uses the same Idempotency-Key and execution parameters, reuses existing Runs, and starts a new request time window. See [Provider selection and charges](/api-reference/solutions/overview#how-provider-selection-works).\n\n## Output by action\n\nEvery field is present on every row; a value the Provider does not report is `null`. Fields follow the [field conventions](/api-reference/solutions/overview#field-conventions).\n\n| action | `output` |\n| --- | --- |\n| `search` | `results[]`: url, title, snippet, position, published_at, date_text, date (deprecated) |\n| `news` | `items[]`: title, url, source, published_at, date_text, snippet |\n| `places` | `items[]`: name, address, category, rating, reviews, phone, website, latitude, longitude, google_cid |\n| `scholar` | `items[]`: title, url, snippet, publication, year, cited_by, pdf_url |\n| `shopping` | `items[]`: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating, reviews, image_url |\n| `images` | `items[]`: title, image_url, thumbnail_url, source_url, source, width, height |\n| `videos` | `items[]`: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url |\n| `answer` | answer, `citations[]`: url, title, published_at |\n| `scrape` | url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated) |\n| `similar` | `items[]`: url, title, exa_similarity_score, published_at, author |\n\n- `published_at` is an ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa `publishedDate`, SerpApi news `iso_date`). `fetched_at` is the same format.\n- `date_text` is Google's display text exactly as returned. It may be relative to the Run's `completed_at` (\"3 hours ago\") and is never parsed.\n- search `date` is deprecated: it holds Google's display text for Serper and SerpApi and Exa's raw `publishedDate` for Exa. Use `published_at` or `date_text`.\n- `snippet` is Google's short excerpt, or Exa's extracted highlight for Exa; it is never the full page text.\n- `price_text` and `duration_text` are display strings, not parsed; the price currency follows `country`.\n- `rating` is Google's 1–5 star average and `reviews` is a count. `source` is a publisher or site name.\n- `address` is the Provider's own text; Serper may return only the street line.\n- `exa_similarity_score` is Exa's own score, comparable only within one response. Similar leaves out pages from the requested URL's host.\n- `text_character_limit` is the character cap Glasser asked the Provider to apply (10000 for Exa); text of exactly that length may be truncated. `cached` says whether the Provider served the page from its cache.\n- `quality` is always `unverified` and will be removed in the next breaking revision.\n\n```json\n{\n \"action\": \"news\",\n \"provider\": \"serper\",\n \"status\": \"COMPLETED\",\n \"result_status\": \"success\",\n \"output\": {\n \"items\": [\n { \"title\": \"Ripple, Stripe-owned Privy partner to bring embedded wallets to XRP Ledger\", \"url\": \"https://www.theblock.co/news/business/2026-10-13-stripe-privy-ripple-xrp-ledger-wallets-418463\", \"source\": \"The Block\", \"published_at\": null, \"date_text\": \"18 hours ago\", \"snippet\": \"The integration will allow developers to add XRP Ledger wallets to their apps using Privy's infrastructure.\" }\n ]\n },\n \"charge_usd\": \"0.0011\",\n \"runs\": [{ \"provider\": \"serper\", \"status\": \"COMPLETED\", \"charge_usd\": \"0.0011\" }],\n \"result_url\": \"/v1/solutions/gtm/web_research/result?token=…\"\n}\n```","href":"/api-reference/solutions/gtm/web_research"},"method":"post","type":"path","servers":["91b097c0-3c09-48c2-be99-4696b9a326fc"],"path":"/v1/solutions/gtm/web_research","baseUrlOptions":["https://api.glasser.ai"],"title":"Web research","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"24b9c8c6-7d20-4caa-95ae-2cff89a7571a":{"name":"idempotency-key","in":"header","schema":{"type":"string","minLength":1,"description":"Generate a unique value for each intended execution (a UUID is recommended). Retry with the same key and execution parameters to retrieve the original Run without a second charge. Changing execution parameters with the same key returns 409; changing task_id or metadata does not update the original Run.","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"oneOf":[{"type":"string","description":"Default: search.\n\n- Supply query for search, news, places, scholar, shopping, images, videos, or answer.\n- Supply url for scrape or similar.","enum":["search","news","places","scholar","shopping","images","videos","answer","scrape","similar"],"uniqueKey":"action.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"action.oneOf.1","typeLabel":"null"}],"uniqueKey":"action","typeLabel":"enum\u003cstring> | null"},"provider":{"oneOf":[{"type":"string","description":"Default auto: select the first eligible Provider in Glasser's preference order. A named Provider must support the request and be allowed by your Key; it does not fall back to another Provider. Available values are listed below.","enum":["auto","serper","serpapi","exa","dataforseo","firecrawl"],"uniqueKey":"provider.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"provider.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider","typeLabel":"enum\u003cstring> | null"},"query":{"oneOf":[{"type":"string","maxLength":500,"minLength":1,"uniqueKey":"query.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"query.oneOf.1","typeLabel":"null"}],"uniqueKey":"query","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","maxLength":2048,"minLength":1,"uniqueKey":"url.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"url.oneOf.1","typeLabel":"null"}],"uniqueKey":"url","typeLabel":"string | null"},"formats":{"type":"array","items":{"type":"string","enum":["text","markdown","html","raw_html"],"uniqueKey":"formats.items.[INDEX]","typeLabel":"enum\u003cstring>"},"minItems":1,"maxItems":4,"description":"For scrape only. When omitted, use the selected Provider's native default: text for Serper/Exa, markdown for Firecrawl/DataForSEO. Requested formats guide routing and fallback; output exposes fixed text/markdown/html/raw_html fields. html means cleaned HTML; raw_html means original HTML. Auto uses Serper then Firecrawl. HTML requests go directly to Firecrawl. Read result_status and missing_formats for delivery; an unrequested null field is not a partial result. Firecrawl does not supply text; Glasser does not convert HTML to text. X/Twitter and enrichment routes are excluded from Firecrawl.","uniqueKey":"formats","typeLabel":"enum\u003cstring>[]"},"timeout_ms":{"type":"integer","minimum":1000,"maximum":120000,"description":"For scrape only. Default 30000. Execution budget for this API request, including serial fallback. A retry has a new request window and reuses existing Runs through Run idempotency. Firecrawl and Exa use the actual remaining time, reserving settlement and response time; less than 1 second of call time is refused.","uniqueKey":"timeout_ms","typeLabel":"integer"},"max_charge_usd":{"type":"string","description":"Exact USD decimal string (min 2, max 6 decimals, one canonical spelling). Sum with decimal arithmetic or scale by 10^6 — never floats.","pattern":"^(0|[1-9]\\d*)\\.(\\d{2}|\\d{2}\\d{0,3}[1-9])$","uniqueKey":"max_charge_usd","typeLabel":"string"},"cache_max_age_seconds":{"type":"integer","minimum":0,"maximum":2592000,"description":"For scrape only. Maximum Provider cache age; 0 requires a live fetch. Routes without this control are excluded. Auto selects Firecrawl (milliseconds); explicit Exa receives whole hours rounded down. Unknown cache/fetch metadata remains null.","uniqueKey":"cache_max_age_seconds","typeLabel":"integer"},"time_range":{"type":"string","enum":["day","week","month","year"],"description":"For search only: restrict results to the past day, week, month, or year using Google's time filter. Omit for any time. Auto uses only Providers that support this filter (Serper and SerpApi). Exa is refused when this field is supplied. This is a search-engine filter, not a verified publication date.","uniqueKey":"time_range","typeLabel":"enum\u003cstring>"},"country":{"oneOf":[{"type":"string","description":"Country for search-type actions, as a two-letter ISO code or a country name. Default us. Not for scrape or similar. Refused with 400 when the named provider cannot apply it.","maxLength":60,"minLength":2,"uniqueKey":"country.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"country.oneOf.1","typeLabel":"null"}],"uniqueKey":"country","typeLabel":"string | null"},"language":{"oneOf":[{"type":"string","description":"Language for search-type actions, two letters such as en, de. Not for scrape or similar.","pattern":"^[A-Za-z]{2}$","uniqueKey":"language.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"language.oneOf.1","typeLabel":"null"}],"uniqueKey":"language","typeLabel":"string | null"},"limit":{"oneOf":[{"type":"integer","description":"Rows to return. Keep it small: the routed Endpoint's charge rule may read it. Each capability caps it further.","maximum":100,"minimum":1,"uniqueKey":"limit.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"limit","typeLabel":"integer | null"},"task_id":{"oneOf":[{"type":"string","description":"Group related Runs, including automatic fallback, under one Task. Reuse a stable string and filter the Runs list by task to retrieve them.","uniqueKey":"task_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"task_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"task_id","typeLabel":"string | null"},"metadata":{"oneOf":[{"type":"object","description":"Optional tracking fields, returned on the Run and available as filters. They never go to the Provider or affect routing, Price, or idempotency.\n\n- Up to 20 keys: lowercase letters, digits, and underscores; start with a letter; at most 40 characters.\n- Values: strings of 1–500 characters.\n- user_id: your End user's opaque ID, never their email address or name.\n\nInvalid entries are dropped whole, not truncated. The request continues, and the Run returns the fields that were stored.","maxProperties":20,"additionalProperties":{"type":"string","minLength":1,"maxLength":500,"uniqueKey":"metadata.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"metadata.oneOf.0","typeLabel":"object"},{"description":"Optional tracking fields, returned on the Run and available as filters. They never go to the Provider or affect routing, Price, or idempotency.\n\n- Up to 20 keys: lowercase letters, digits, and underscores; start with a letter; at most 40 characters.\n- Values: strings of 1–500 characters.\n- user_id: your End user's opaque ID, never their email address or name.\n\nInvalid entries are dropped whole, not truncated. The request continues, and the Run returns the fields that were stored.","uniqueKey":"metadata.oneOf.1","typeLabel":"any"},{"type":"null","uniqueKey":"metadata.oneOf.2","typeLabel":"null"}],"uniqueKey":"metadata","typeLabel":"object | any | null"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"query":"\u003cstring>","url":"\u003cstring>","formats":[],"timeout_ms":60500,"max_charge_usd":"\u003cstring>","cache_max_age_seconds":1296000,"country":"\u003cstring>","language":"\u003cstring>","limit":50,"task_id":"\u003cstring>","metadata":{}}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"422f959b-a4cb-43bd-868a-6ae9301837f1":{"description":"Success","content":{"application/json":{"schema":{"type":"object","required":["id","run_url","provider","endpoint","endpoint_version","status","failure","input","output","provider_response","charge_usd","charge_basis","stoppable","stop_requested_at","created_at","started_at","completed_at","task_id","metadata","action","result_status","missing_formats","error","runs","result_url"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"run_url":{"type":"string","description":"Open this Run in the console. Requires Workspace membership.","isRequired":true,"uniqueKey":"run_url","typeLabel":"string"},"provider":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]*$","isRequired":true,"uniqueKey":"provider","typeLabel":"string"},"endpoint":{"type":"string","pattern":"^\\/.+$","isRequired":true,"uniqueKey":"endpoint","typeLabel":"string"},"endpoint_version":{"type":"integer","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"endpoint_version","typeLabel":"integer"},"status":{"type":"string","enum":["QUEUED","RUNNING","COMPLETED","FAILED","STOPPED"],"description":"QUEUED or RUNNING: still in progress. COMPLETED: a Provider response is available, including non-2xx responses. FAILED: read failure. STOPPED: stopped before dispatch. Read charge_usd separately from status.","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"failure":{"oneOf":[{"type":"object","description":"Why the Run failed. Non-null only when status is FAILED.","required":["kind","message"],"properties":{"kind":{"type":"string","enum":["TIMED_OUT","INTERNAL"],"isRequired":true,"uniqueKey":"failure.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"failure.oneOf.0.message","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"failure.oneOf.0","typeLabel":"object"},{"type":"null","description":"Why the Run failed. Non-null only when status is FAILED.","isRequired":true,"uniqueKey":"failure.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"failure","typeLabel":"object | null"},"input":{"type":"object","isRequired":true,"uniqueKey":"input","typeLabel":"object"},"output":{"oneOf":[{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["url","final_url","title","text","markdown","html","raw_html","text_character_limit","cached","fetched_at","quality"],"properties":{"url":{"type":"string","description":"The requested URL, or the final URL when the Provider reports one.","isRequired":true,"uniqueKey":"output.oneOf.0.url","typeLabel":"string"},"final_url":{"oneOf":[{"type":"string","description":"The post-redirect URL as reported by the Provider (Firecrawl, Exa). Null when the Provider does not report one.","isRequired":true,"uniqueKey":"output.oneOf.0.final_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"The post-redirect URL as reported by the Provider (Firecrawl, Exa). Null when the Provider does not report one.","isRequired":true,"uniqueKey":"output.oneOf.0.final_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.final_url","typeLabel":"string | null"},"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.0.title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.0.title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.title","typeLabel":"string | null"},"text":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.0.text.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.0.text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.text","typeLabel":"string | null"},"markdown":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.0.markdown.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.0.markdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.markdown","typeLabel":"string | null"},"html":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.0.html.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.0.html.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.html","typeLabel":"string | null"},"raw_html":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.0.raw_html.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.0.raw_html.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.raw_html","typeLabel":"string | null"},"text_character_limit":{"oneOf":[{"type":"integer","description":"The character cap Glasser asked the Provider to apply to text (10000 for Exa), so text of exactly this length may be truncated. Null when no cap was applied.","isRequired":true,"uniqueKey":"output.oneOf.0.text_character_limit.oneOf.0","typeLabel":"integer"},{"type":"null","description":"The character cap Glasser asked the Provider to apply to text (10000 for Exa), so text of exactly this length may be truncated. Null when no cap was applied.","isRequired":true,"uniqueKey":"output.oneOf.0.text_character_limit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.text_character_limit","typeLabel":"integer | null"},"cached":{"oneOf":[{"type":"boolean","description":"Whether the Provider served the page from its cache (Firecrawl cacheState, Exa status source). Null when the Provider does not say.","isRequired":true,"uniqueKey":"output.oneOf.0.cached.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Whether the Provider served the page from its cache (Firecrawl cacheState, Exa status source). Null when the Provider does not say.","isRequired":true,"uniqueKey":"output.oneOf.0.cached.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.cached","typeLabel":"boolean | null"},"fetched_at":{"oneOf":[{"type":"string","description":"When the Provider fetched the page, ISO 8601 UTC (DataForSEO fetch_time). Null when the Provider does not report it.","isRequired":true,"uniqueKey":"output.oneOf.0.fetched_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the Provider fetched the page, ISO 8601 UTC (DataForSEO fetch_time). Null when the Provider does not report it.","isRequired":true,"uniqueKey":"output.oneOf.0.fetched_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.fetched_at","typeLabel":"string | null"},"quality":{"type":"string","enum":["unverified"],"description":"Deprecated: always 'unverified'; no content check is applied. Kept for compatibility and will be removed in the next breaking revision.","isRequired":true,"uniqueKey":"output.oneOf.0.quality","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.0","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["results"],"properties":{"results":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].url","typeLabel":"string"},"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].title","typeLabel":"string | null"},"snippet":{"oneOf":[{"type":"string","description":"Google's short excerpt (Serper / SerpApi), or Exa's extracted highlight for Exa. Not the full page text.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].snippet.oneOf.0","typeLabel":"string"},{"type":"null","description":"Google's short excerpt (Serper / SerpApi), or Exa's extracted highlight for Exa. Not the full page text.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].snippet.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].snippet","typeLabel":"string | null"},"position":{"type":"integer","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].position","typeLabel":"integer"},"date":{"oneOf":[{"type":"string","description":"Deprecated: use published_at or date_text. Holds Google's display text for Serper / SerpApi and Exa's raw publishedDate for Exa.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].date.oneOf.0","typeLabel":"string"},{"type":"null","description":"Deprecated: use published_at or date_text. Holds Google's display text for Serper / SerpApi and Exa's raw publishedDate for Exa.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].date.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].date","typeLabel":"string | null"},"published_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].published_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].published_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].published_at","typeLabel":"string | null"},"date_text":{"oneOf":[{"type":"string","description":"Google's display text exactly as the Provider returned it (Serper / SerpApi date). It may be relative to the Run's completed_at, such as '3 hours ago', and is never parsed.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].date_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"Google's display text exactly as the Provider returned it (Serper / SerpApi date). It may be relative to the Run's completed_at, such as '3 hours ago', and is never parsed.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].date_text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].date_text","typeLabel":"string | null"}},"required":["url","title","snippet","position","date","published_at","date_text"],"additionalProperties":false,"uniqueKey":"output.oneOf.1.results.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.1.results","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.1","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].title","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].url","typeLabel":"string | null"},"source":{"oneOf":[{"type":"string","description":"Publisher or site name as the Provider shows it.","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].source.oneOf.0","typeLabel":"string"},{"type":"null","description":"Publisher or site name as the Provider shows it.","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].source","typeLabel":"string | null"},"published_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].published_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].published_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].published_at","typeLabel":"string | null"},"date_text":{"oneOf":[{"type":"string","description":"Google's display text exactly as the Provider returned it (Serper / SerpApi date). It may be relative to the Run's completed_at, such as '3 hours ago', and is never parsed.","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].date_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"Google's display text exactly as the Provider returned it (Serper / SerpApi date). It may be relative to the Run's completed_at, such as '3 hours ago', and is never parsed.","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].date_text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].date_text","typeLabel":"string | null"},"snippet":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].snippet.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].snippet.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].snippet","typeLabel":"string | null"}},"required":["title","url","source","published_at","date_text","snippet"],"additionalProperties":false,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.2.\\items","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.2","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].name","typeLabel":"string | null"},"address":{"oneOf":[{"type":"string","description":"The Provider's address text, not parsed or completed. Serper may return only the street line.","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].address.oneOf.0","typeLabel":"string"},{"type":"null","description":"The Provider's address text, not parsed or completed. Serper may return only the street line.","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].address.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].address","typeLabel":"string | null"},"category":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].category.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].category.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].category","typeLabel":"string | null"},"rating":{"oneOf":[{"type":"number","description":"Google's average star rating, 1–5.","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].rating.oneOf.0","typeLabel":"number"},{"type":"string","description":"Google's average star rating, 1–5.","enum":["Infinity","-Infinity","NaN"],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].rating.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Google's average star rating, 1–5.","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].rating.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].rating","typeLabel":"number | enum\u003cstring> | null"},"reviews":{"oneOf":[{"type":"integer","description":"Number of Google reviews behind the rating.","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].reviews.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Number of Google reviews behind the rating.","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].reviews.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].reviews","typeLabel":"integer | null"},"phone":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].phone.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].phone.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].phone","typeLabel":"string | null"},"website":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].website.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].website.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].website","typeLabel":"string | null"},"latitude":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].latitude.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].latitude.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].latitude.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].latitude","typeLabel":"number | enum\u003cstring> | null"},"longitude":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].longitude.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].longitude.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].longitude.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].longitude","typeLabel":"number | enum\u003cstring> | null"},"google_cid":{"oneOf":[{"type":"string","description":"Google Maps CID of the place (Serper cid, SerpApi data_cid).","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].google_cid.oneOf.0","typeLabel":"string"},{"type":"null","description":"Google Maps CID of the place (Serper cid, SerpApi data_cid).","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].google_cid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].google_cid","typeLabel":"string | null"}},"required":["name","address","category","rating","reviews","phone","website","latitude","longitude","google_cid"],"additionalProperties":false,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.3.\\items","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.3","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].title","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].url","typeLabel":"string | null"},"snippet":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].snippet.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].snippet.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].snippet","typeLabel":"string | null"},"publication":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].publication.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].publication.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].publication","typeLabel":"string | null"},"year":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].year.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].year.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].year","typeLabel":"integer | null"},"cited_by":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].cited_by.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].cited_by.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].cited_by","typeLabel":"integer | null"},"pdf_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].pdf_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].pdf_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].pdf_url","typeLabel":"string | null"}},"required":["title","url","snippet","publication","year","cited_by","pdf_url"],"additionalProperties":false,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.4.\\items","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.4","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].title","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","description":"The Google Shopping product page.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","description":"The Google Shopping product page.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].url","typeLabel":"string | null"},"merchant_url":{"oneOf":[{"type":"string","description":"The merchant's offer URL when the Provider reports one (SerpApi link); null for Serper.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].merchant_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"The merchant's offer URL when the Provider reports one (SerpApi link); null for Serper.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].merchant_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].merchant_url","typeLabel":"string | null"},"google_product_id":{"oneOf":[{"type":"string","description":"Google Shopping catalog product id (Serper productId, SerpApi product_id).","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].google_product_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Google Shopping catalog product id (Serper productId, SerpApi product_id).","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].google_product_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].google_product_id","typeLabel":"string | null"},"price_text":{"oneOf":[{"type":"string","description":"The Provider's display price, such as '$69.00'. Not parsed; the currency follows country.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].price_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"The Provider's display price, such as '$69.00'. Not parsed; the currency follows country.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].price_text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].price_text","typeLabel":"string | null"},"seller":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].seller.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].seller.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].seller","typeLabel":"string | null"},"rating":{"oneOf":[{"type":"number","description":"Google's average star rating, 1–5.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].rating.oneOf.0","typeLabel":"number"},{"type":"string","description":"Google's average star rating, 1–5.","enum":["Infinity","-Infinity","NaN"],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].rating.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Google's average star rating, 1–5.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].rating.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].rating","typeLabel":"number | enum\u003cstring> | null"},"reviews":{"oneOf":[{"type":"integer","description":"Number of Google reviews behind the rating.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].reviews.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Number of Google reviews behind the rating.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].reviews.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].reviews","typeLabel":"integer | null"},"image_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].image_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].image_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].image_url","typeLabel":"string | null"}},"required":["title","url","merchant_url","google_product_id","price_text","seller","rating","reviews","image_url"],"additionalProperties":false,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.5.\\items","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.5","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].title","typeLabel":"string | null"},"image_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].image_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].image_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].image_url","typeLabel":"string | null"},"thumbnail_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].thumbnail_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].thumbnail_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].thumbnail_url","typeLabel":"string | null"},"source_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].source_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].source_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].source_url","typeLabel":"string | null"},"source":{"oneOf":[{"type":"string","description":"Publisher or site name as the Provider shows it.","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].source.oneOf.0","typeLabel":"string"},{"type":"null","description":"Publisher or site name as the Provider shows it.","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].source","typeLabel":"string | null"},"width":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].width.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].width.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].width","typeLabel":"integer | null"},"height":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].height.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].height.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].height","typeLabel":"integer | null"}},"required":["title","image_url","thumbnail_url","source_url","source","width","height"],"additionalProperties":false,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.6.\\items","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.6","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].title","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].url","typeLabel":"string | null"},"channel":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].channel.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].channel.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].channel","typeLabel":"string | null"},"source":{"oneOf":[{"type":"string","description":"Video platform as the Provider shows it, such as YouTube.","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].source.oneOf.0","typeLabel":"string"},{"type":"null","description":"Video platform as the Provider shows it, such as YouTube.","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].source","typeLabel":"string | null"},"date_text":{"oneOf":[{"type":"string","description":"Google's display text exactly as the Provider returned it (Serper / SerpApi date). It may be relative to the Run's completed_at, such as '3 hours ago', and is never parsed.","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].date_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"Google's display text exactly as the Provider returned it (Serper / SerpApi date). It may be relative to the Run's completed_at, such as '3 hours ago', and is never parsed.","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].date_text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].date_text","typeLabel":"string | null"},"duration_text":{"oneOf":[{"type":"string","description":"Display duration as returned, such as '4:39'.","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].duration_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"Display duration as returned, such as '4:39'.","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].duration_text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].duration_text","typeLabel":"string | null"},"snippet":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].snippet.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].snippet.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].snippet","typeLabel":"string | null"},"thumbnail_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].thumbnail_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].thumbnail_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].thumbnail_url","typeLabel":"string | null"}},"required":["title","url","channel","source","date_text","duration_text","snippet","thumbnail_url"],"additionalProperties":false,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.7.\\items","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.7","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].url","typeLabel":"string | null"},"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].title","typeLabel":"string | null"},"exa_similarity_score":{"oneOf":[{"type":"number","description":"Exa's own similarity score for this page. Compare it only within one response; it is not comparable to other Providers' scores.","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].exa_similarity_score.oneOf.0","typeLabel":"number"},{"type":"string","description":"Exa's own similarity score for this page. Compare it only within one response; it is not comparable to other Providers' scores.","enum":["Infinity","-Infinity","NaN"],"isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].exa_similarity_score.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Exa's own similarity score for this page. Compare it only within one response; it is not comparable to other Providers' scores.","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].exa_similarity_score.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].exa_similarity_score","typeLabel":"number | enum\u003cstring> | null"},"published_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].published_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].published_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].published_at","typeLabel":"string | null"},"author":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].author.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].author.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].author","typeLabel":"string | null"}},"required":["url","title","exa_similarity_score","published_at","author"],"additionalProperties":false,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.8.\\items","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.8","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["answer","citations"],"properties":{"answer":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.9.answer.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.9.answer.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.9.answer","typeLabel":"string | null"},"citations":{"type":"array","items":{"type":"object","properties":{"url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].url","typeLabel":"string | null"},"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].title","typeLabel":"string | null"},"published_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].published_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].published_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].published_at","typeLabel":"string | null"}},"required":["url","title","published_at"],"additionalProperties":false,"uniqueKey":"output.oneOf.9.citations.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.9.citations","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.9","typeLabel":"object"},{"type":"null","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","isRequired":true,"uniqueKey":"output.oneOf.10","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output","typeLabel":"object · object · object · object · object · object · object · object · object · object · null"},"provider_response":{"oneOf":[{"type":"object","description":"Non-null only when status is COMPLETED.\n\n- For 2xx responses, output contains Provider-native JSON (any shape), or null for an empty body.\n- For non-2xx responses, error contains the Provider's error body and output is null.\n\nSensitive fields are removed from both bodies.","required":["http_status"],"properties":{"http_status":{"type":"integer","minimum":100,"maximum":599,"description":"HTTP status returned by the Provider. Check this even when the Run is COMPLETED.","isRequired":true,"uniqueKey":"provider_response.oneOf.0.http_status","typeLabel":"integer"},"error":{"oneOf":[{},{"type":"null","uniqueKey":"provider_response.oneOf.0.error.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider_response.oneOf.0.error","typeLabel":"null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"provider_response.oneOf.0","typeLabel":"object"},{"type":"null","description":"Non-null only when status is COMPLETED.\n\n- For 2xx responses, output contains Provider-native JSON (any shape), or null for an empty body.\n- For non-2xx responses, error contains the Provider's error body and output is null.\n\nSensitive fields are removed from both bodies.","isRequired":true,"uniqueKey":"provider_response.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provider_response","typeLabel":"object | null"},"charge_usd":{"oneOf":[{"type":"string","description":"Total charge of runs in this Solution response. Null until all listed Runs settle. Each Run retains its own charge; failures can also be charged.","pattern":"^(0|[1-9]\\d*)\\.(\\d{2}|\\d{2}\\d{0,3}[1-9])$","isRequired":true,"uniqueKey":"charge_usd.oneOf.0","typeLabel":"string"},{"type":"null","description":"Total charge of runs in this Solution response. Null until all listed Runs settle. Each Run retains its own charge; failures can also be charged.","isRequired":true,"uniqueKey":"charge_usd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"charge_usd","typeLabel":"string | null"},"charge_basis":{"oneOf":[{"type":"object","description":"Single-Run charge basis, or null for a multi-Run total. Read runs[].charge_basis for each charge.","required":["clause","quantity"],"properties":{"clause":{"type":"string","enum":["rule","NO_RESULT","PROVIDER_ERROR","TIMED_OUT","INTERNAL"],"isRequired":true,"uniqueKey":"charge_basis.oneOf.0.clause","typeLabel":"enum\u003cstring>"},"quantity":{"oneOf":[{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"charge_basis.oneOf.0.quantity.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"charge_basis.oneOf.0.quantity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"charge_basis.oneOf.0.quantity","typeLabel":"integer | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"charge_basis.oneOf.0","typeLabel":"object"},{"type":"null","description":"Single-Run charge basis, or null for a multi-Run total. Read runs[].charge_basis for each charge.","isRequired":true,"uniqueKey":"charge_basis.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"charge_basis","typeLabel":"object | null"},"stoppable":{"type":"boolean","description":"Whether a stop request can currently be accepted. This does not guarantee that the Run can stop before dispatch.","isRequired":true,"uniqueKey":"stoppable","typeLabel":"boolean"},"stop_requested_at":{"oneOf":[{"type":"string","description":"When a stop was requested. The Run can still continue if dispatch had already started.","format":"date-time","isRequired":true,"uniqueKey":"stop_requested_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When a stop was requested. The Run can still continue if dispatch had already started.","isRequired":true,"uniqueKey":"stop_requested_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"stop_requested_at","typeLabel":"string\u003cdate-time> | null"},"created_at":{"type":"string","description":"ISO-8601 UTC timestamp","format":"date-time","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"started_at":{"oneOf":[{"type":"string","description":"ISO-8601 UTC timestamp","format":"date-time","isRequired":true,"uniqueKey":"started_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","isRequired":true,"uniqueKey":"started_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"started_at","typeLabel":"string\u003cdate-time> | null"},"completed_at":{"oneOf":[{"type":"string","description":"ISO-8601 UTC timestamp","format":"date-time","isRequired":true,"uniqueKey":"completed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","isRequired":true,"uniqueKey":"completed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"completed_at","typeLabel":"string\u003cdate-time> | null"},"task_id":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"task_id.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"task_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"task_id","typeLabel":"string | null"},"metadata":{"type":"object","additionalProperties":{"type":"string","minLength":1,"maxLength":500,"uniqueKey":"metadata.additionalProperties","typeLabel":"string"},"maxProperties":20,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,39}$"},"description":"Your stored tracking fields. Use them to filter Runs. They never go to the Provider or affect routing, Price, or idempotency.\n\n- Up to 20 keys: lowercase letters, digits, and underscores; start with a letter; at most 40 characters.\n- Values: strings of 1–500 characters.\n- user_id: your End user's opaque ID, never their email address or name.","isRequired":true,"uniqueKey":"metadata","typeLabel":"object"},"action":{"type":"string","enum":["search","news","places","scholar","shopping","images","videos","answer","scrape","similar"],"isRequired":true,"uniqueKey":"action","typeLabel":"enum\u003cstring>"},"result_status":{"type":"string","enum":["success","partial","no_result","error","pending"],"description":"Business delivery status, independent of the final Run lifecycle in status. success is not a semantic content-quality verdict.","isRequired":true,"uniqueKey":"result_status","typeLabel":"enum\u003cstring>"},"missing_formats":{"type":"array","items":{"type":"string","enum":["text","markdown","html","raw_html"],"uniqueKey":"missing_formats.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"missing_formats","typeLabel":"enum\u003cstring>[]"},"error":{"oneOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.oneOf.0.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.oneOf.0.message","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error","typeLabel":"object | null"},"runs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"runs.items.[INDEX].id","typeLabel":"string"},"run_url":{"type":"string","description":"Open this Run in the console. Requires Workspace membership.","isRequired":true,"uniqueKey":"runs.items.[INDEX].run_url","typeLabel":"string"},"provider":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]*$","isRequired":true,"uniqueKey":"runs.items.[INDEX].provider","typeLabel":"string"},"endpoint":{"type":"string","pattern":"^\\/.+$","isRequired":true,"uniqueKey":"runs.items.[INDEX].endpoint","typeLabel":"string"},"endpoint_version":{"type":"integer","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"runs.items.[INDEX].endpoint_version","typeLabel":"integer"},"status":{"type":"string","enum":["QUEUED","RUNNING","COMPLETED","FAILED","STOPPED"],"description":"QUEUED or RUNNING: still in progress. COMPLETED: a Provider response is available, including non-2xx responses. FAILED: read failure. STOPPED: stopped before dispatch. Read charge_usd separately from status.","isRequired":true,"uniqueKey":"runs.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"failure":{"oneOf":[{"type":"object","description":"Why the Run failed. Non-null only when status is FAILED.","required":["kind","message"],"properties":{"kind":{"type":"string","enum":["TIMED_OUT","INTERNAL"],"isRequired":true,"uniqueKey":"runs.items.[INDEX].failure.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"runs.items.[INDEX].failure.oneOf.0.message","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"runs.items.[INDEX].failure.oneOf.0","typeLabel":"object"},{"type":"null","description":"Why the Run failed. Non-null only when status is FAILED.","isRequired":true,"uniqueKey":"runs.items.[INDEX].failure.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].failure","typeLabel":"object | null"},"input":{"type":"object","properties":{"omitted":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"runs.items.[INDEX].input.omitted","typeLabel":"enum\u003cboolean>"}},"required":["omitted"],"additionalProperties":false,"isRequired":true,"uniqueKey":"runs.items.[INDEX].input","typeLabel":"object"},"output":{"type":"object","properties":{"omitted":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"runs.items.[INDEX].output.omitted","typeLabel":"enum\u003cboolean>"}},"required":["omitted"],"additionalProperties":false,"isRequired":true,"uniqueKey":"runs.items.[INDEX].output","typeLabel":"object"},"provider_response":{"oneOf":[{"type":"object","required":["http_status"],"properties":{"http_status":{"type":"integer","minimum":100,"maximum":599,"description":"HTTP status returned by the Provider. Check this even when the Run is COMPLETED.","isRequired":true,"uniqueKey":"runs.items.[INDEX].provider_response.oneOf.0.http_status","typeLabel":"integer"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"runs.items.[INDEX].provider_response.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"runs.items.[INDEX].provider_response.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].provider_response","typeLabel":"object | null"},"charge_usd":{"oneOf":[{"type":"string","description":"Final charge as an exact USD decimal string. Null while QUEUED or RUNNING. A FAILED Run can have a non-zero charge under the Endpoint's Price.","pattern":"^(0|[1-9]\\d*)\\.(\\d{2}|\\d{2}\\d{0,3}[1-9])$","isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_usd.oneOf.0","typeLabel":"string"},{"type":"null","description":"Final charge as an exact USD decimal string. Null while QUEUED or RUNNING. A FAILED Run can have a non-zero charge under the Endpoint's Price.","isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_usd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_usd","typeLabel":"string | null"},"charge_basis":{"oneOf":[{"type":"object","description":"Price clause used to calculate the charge. Null before settlement or when no Provider attempt was made.","required":["clause","quantity"],"properties":{"clause":{"type":"string","enum":["rule","NO_RESULT","PROVIDER_ERROR","TIMED_OUT","INTERNAL"],"isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_basis.oneOf.0.clause","typeLabel":"enum\u003cstring>"},"quantity":{"oneOf":[{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_basis.oneOf.0.quantity.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_basis.oneOf.0.quantity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_basis.oneOf.0.quantity","typeLabel":"integer | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_basis.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price clause used to calculate the charge. Null before settlement or when no Provider attempt was made.","isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_basis.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_basis","typeLabel":"object | null"},"stoppable":{"type":"boolean","description":"Whether a stop request can currently be accepted. This does not guarantee that the Run can stop before dispatch.","isRequired":true,"uniqueKey":"runs.items.[INDEX].stoppable","typeLabel":"boolean"},"stop_requested_at":{"oneOf":[{"type":"string","description":"When a stop was requested. The Run can still continue if dispatch had already started.","format":"date-time","isRequired":true,"uniqueKey":"runs.items.[INDEX].stop_requested_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When a stop was requested. The Run can still continue if dispatch had already started.","isRequired":true,"uniqueKey":"runs.items.[INDEX].stop_requested_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].stop_requested_at","typeLabel":"string\u003cdate-time> | null"},"created_at":{"type":"string","description":"ISO-8601 UTC timestamp","format":"date-time","isRequired":true,"uniqueKey":"runs.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"},"started_at":{"oneOf":[{"type":"string","description":"ISO-8601 UTC timestamp","format":"date-time","isRequired":true,"uniqueKey":"runs.items.[INDEX].started_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","isRequired":true,"uniqueKey":"runs.items.[INDEX].started_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].started_at","typeLabel":"string\u003cdate-time> | null"},"completed_at":{"oneOf":[{"type":"string","description":"ISO-8601 UTC timestamp","format":"date-time","isRequired":true,"uniqueKey":"runs.items.[INDEX].completed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","isRequired":true,"uniqueKey":"runs.items.[INDEX].completed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].completed_at","typeLabel":"string\u003cdate-time> | null"},"task_id":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"runs.items.[INDEX].task_id.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"runs.items.[INDEX].task_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].task_id","typeLabel":"string | null"},"metadata":{"type":"object","additionalProperties":{"type":"string","minLength":1,"maxLength":500,"uniqueKey":"runs.items.[INDEX].metadata.additionalProperties","typeLabel":"string"},"maxProperties":20,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,39}$"},"description":"Your stored tracking fields. Use them to filter Runs. They never go to the Provider or affect routing, Price, or idempotency.\n\n- Up to 20 keys: lowercase letters, digits, and underscores; start with a letter; at most 40 characters.\n- Values: strings of 1–500 characters.\n- user_id: your End user's opaque ID, never their email address or name.","isRequired":true,"uniqueKey":"runs.items.[INDEX].metadata","typeLabel":"object"}},"required":["id","run_url","provider","endpoint","endpoint_version","status","failure","input","output","provider_response","charge_usd","charge_basis","stoppable","stop_requested_at","created_at","started_at","completed_at","task_id","metadata"],"additionalProperties":false,"uniqueKey":"runs.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"runs","typeLabel":"object[]"},"result_url":{"type":"string","description":"Authenticated, read-only URL path for polling this normalized result and total charge. Use with the API origin. Does not create Runs or resume fallback. GET /v1/runs/:id still returns the native, individual Run.","isRequired":true,"uniqueKey":"result_url","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","run_url":"\u003cstring>","provider":"\u003cstring>","endpoint":"\u003cstring>","endpoint_version":123,"status":"QUEUED","failure":{"kind":"TIMED_OUT","message":"\u003cstring>"},"input":{},"output":{"url":"\u003cstring>","final_url":"\u003cstring>","title":"\u003cstring>","text":"\u003cstring>","markdown":"\u003cstring>","html":"\u003cstring>","raw_html":"\u003cstring>","text_character_limit":123,"cached":true,"fetched_at":"\u003cstring>","quality":"unverified"},"provider_response":{"http_status":349,"error":"\u003cunknown>"},"charge_usd":"\u003cstring>","charge_basis":{"clause":"rule","quantity":1},"stoppable":true,"stop_requested_at":"2023-11-07T05:31:56Z","created_at":"2023-11-07T05:31:56Z","started_at":"2023-11-07T05:31:56Z","completed_at":"2023-11-07T05:31:56Z","task_id":"\u003cstring>","metadata":{},"action":"search","result_status":"success","missing_formats":["text"],"error":{"code":"\u003cstring>","message":"\u003cstring>"},"runs":[{"id":"\u003cstring>","run_url":"\u003cstring>","provider":"\u003cstring>","endpoint":"\u003cstring>","endpoint_version":123,"status":"QUEUED","failure":{"kind":"TIMED_OUT","message":"\u003cstring>"},"input":{"omitted":true},"output":{"omitted":true},"provider_response":{"http_status":349},"charge_usd":"\u003cstring>","charge_basis":{"clause":"rule","quantity":1},"stoppable":true,"stop_requested_at":"2023-11-07T05:31:56Z","created_at":"2023-11-07T05:31:56Z","started_at":"2023-11-07T05:31:56Z","completed_at":"2023-11-07T05:31:56Z","task_id":"\u003cstring>","metadata":{}}],"result_url":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"d975dd3b-88df-4859-aa53-ec2f2c5f1401":{"description":"Success","content":{"application/json":{"schema":{"type":"object","required":["id","run_url","provider","endpoint","endpoint_version","status","failure","input","output","provider_response","charge_usd","charge_basis","stoppable","stop_requested_at","created_at","started_at","completed_at","task_id","metadata","action","result_status","missing_formats","error","runs","result_url"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"run_url":{"type":"string","description":"Open this Run in the console. Requires Workspace membership.","isRequired":true,"uniqueKey":"run_url","typeLabel":"string"},"provider":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]*$","isRequired":true,"uniqueKey":"provider","typeLabel":"string"},"endpoint":{"type":"string","pattern":"^\\/.+$","isRequired":true,"uniqueKey":"endpoint","typeLabel":"string"},"endpoint_version":{"type":"integer","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"endpoint_version","typeLabel":"integer"},"status":{"type":"string","enum":["QUEUED","RUNNING","COMPLETED","FAILED","STOPPED"],"description":"QUEUED or RUNNING: still in progress. COMPLETED: a Provider response is available, including non-2xx responses. FAILED: read failure. STOPPED: stopped before dispatch. Read charge_usd separately from status.","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"failure":{"oneOf":[{"type":"object","description":"Why the Run failed. Non-null only when status is FAILED.","required":["kind","message"],"properties":{"kind":{"type":"string","enum":["TIMED_OUT","INTERNAL"],"isRequired":true,"uniqueKey":"failure.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"failure.oneOf.0.message","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"failure.oneOf.0","typeLabel":"object"},{"type":"null","description":"Why the Run failed. Non-null only when status is FAILED.","isRequired":true,"uniqueKey":"failure.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"failure","typeLabel":"object | null"},"input":{"type":"object","isRequired":true,"uniqueKey":"input","typeLabel":"object"},"output":{"oneOf":[{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["url","final_url","title","text","markdown","html","raw_html","text_character_limit","cached","fetched_at","quality"],"properties":{"url":{"type":"string","description":"The requested URL, or the final URL when the Provider reports one.","isRequired":true,"uniqueKey":"output.oneOf.0.url","typeLabel":"string"},"final_url":{"oneOf":[{"type":"string","description":"The post-redirect URL as reported by the Provider (Firecrawl, Exa). Null when the Provider does not report one.","isRequired":true,"uniqueKey":"output.oneOf.0.final_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"The post-redirect URL as reported by the Provider (Firecrawl, Exa). Null when the Provider does not report one.","isRequired":true,"uniqueKey":"output.oneOf.0.final_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.final_url","typeLabel":"string | null"},"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.0.title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.0.title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.title","typeLabel":"string | null"},"text":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.0.text.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.0.text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.text","typeLabel":"string | null"},"markdown":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.0.markdown.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.0.markdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.markdown","typeLabel":"string | null"},"html":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.0.html.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.0.html.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.html","typeLabel":"string | null"},"raw_html":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.0.raw_html.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.0.raw_html.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.raw_html","typeLabel":"string | null"},"text_character_limit":{"oneOf":[{"type":"integer","description":"The character cap Glasser asked the Provider to apply to text (10000 for Exa), so text of exactly this length may be truncated. Null when no cap was applied.","isRequired":true,"uniqueKey":"output.oneOf.0.text_character_limit.oneOf.0","typeLabel":"integer"},{"type":"null","description":"The character cap Glasser asked the Provider to apply to text (10000 for Exa), so text of exactly this length may be truncated. Null when no cap was applied.","isRequired":true,"uniqueKey":"output.oneOf.0.text_character_limit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.text_character_limit","typeLabel":"integer | null"},"cached":{"oneOf":[{"type":"boolean","description":"Whether the Provider served the page from its cache (Firecrawl cacheState, Exa status source). Null when the Provider does not say.","isRequired":true,"uniqueKey":"output.oneOf.0.cached.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Whether the Provider served the page from its cache (Firecrawl cacheState, Exa status source). Null when the Provider does not say.","isRequired":true,"uniqueKey":"output.oneOf.0.cached.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.cached","typeLabel":"boolean | null"},"fetched_at":{"oneOf":[{"type":"string","description":"When the Provider fetched the page, ISO 8601 UTC (DataForSEO fetch_time). Null when the Provider does not report it.","isRequired":true,"uniqueKey":"output.oneOf.0.fetched_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the Provider fetched the page, ISO 8601 UTC (DataForSEO fetch_time). Null when the Provider does not report it.","isRequired":true,"uniqueKey":"output.oneOf.0.fetched_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.0.fetched_at","typeLabel":"string | null"},"quality":{"type":"string","enum":["unverified"],"description":"Deprecated: always 'unverified'; no content check is applied. Kept for compatibility and will be removed in the next breaking revision.","isRequired":true,"uniqueKey":"output.oneOf.0.quality","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.0","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["results"],"properties":{"results":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].url","typeLabel":"string"},"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].title","typeLabel":"string | null"},"snippet":{"oneOf":[{"type":"string","description":"Google's short excerpt (Serper / SerpApi), or Exa's extracted highlight for Exa. Not the full page text.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].snippet.oneOf.0","typeLabel":"string"},{"type":"null","description":"Google's short excerpt (Serper / SerpApi), or Exa's extracted highlight for Exa. Not the full page text.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].snippet.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].snippet","typeLabel":"string | null"},"position":{"type":"integer","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].position","typeLabel":"integer"},"date":{"oneOf":[{"type":"string","description":"Deprecated: use published_at or date_text. Holds Google's display text for Serper / SerpApi and Exa's raw publishedDate for Exa.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].date.oneOf.0","typeLabel":"string"},{"type":"null","description":"Deprecated: use published_at or date_text. Holds Google's display text for Serper / SerpApi and Exa's raw publishedDate for Exa.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].date.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].date","typeLabel":"string | null"},"published_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].published_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].published_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].published_at","typeLabel":"string | null"},"date_text":{"oneOf":[{"type":"string","description":"Google's display text exactly as the Provider returned it (Serper / SerpApi date). It may be relative to the Run's completed_at, such as '3 hours ago', and is never parsed.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].date_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"Google's display text exactly as the Provider returned it (Serper / SerpApi date). It may be relative to the Run's completed_at, such as '3 hours ago', and is never parsed.","isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].date_text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.1.results.items.[INDEX].date_text","typeLabel":"string | null"}},"required":["url","title","snippet","position","date","published_at","date_text"],"additionalProperties":false,"uniqueKey":"output.oneOf.1.results.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.1.results","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.1","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].title","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].url","typeLabel":"string | null"},"source":{"oneOf":[{"type":"string","description":"Publisher or site name as the Provider shows it.","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].source.oneOf.0","typeLabel":"string"},{"type":"null","description":"Publisher or site name as the Provider shows it.","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].source","typeLabel":"string | null"},"published_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].published_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].published_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].published_at","typeLabel":"string | null"},"date_text":{"oneOf":[{"type":"string","description":"Google's display text exactly as the Provider returned it (Serper / SerpApi date). It may be relative to the Run's completed_at, such as '3 hours ago', and is never parsed.","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].date_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"Google's display text exactly as the Provider returned it (Serper / SerpApi date). It may be relative to the Run's completed_at, such as '3 hours ago', and is never parsed.","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].date_text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].date_text","typeLabel":"string | null"},"snippet":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].snippet.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].snippet.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX].snippet","typeLabel":"string | null"}},"required":["title","url","source","published_at","date_text","snippet"],"additionalProperties":false,"uniqueKey":"output.oneOf.2.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.2.\\items","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.2","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].name","typeLabel":"string | null"},"address":{"oneOf":[{"type":"string","description":"The Provider's address text, not parsed or completed. Serper may return only the street line.","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].address.oneOf.0","typeLabel":"string"},{"type":"null","description":"The Provider's address text, not parsed or completed. Serper may return only the street line.","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].address.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].address","typeLabel":"string | null"},"category":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].category.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].category.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].category","typeLabel":"string | null"},"rating":{"oneOf":[{"type":"number","description":"Google's average star rating, 1–5.","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].rating.oneOf.0","typeLabel":"number"},{"type":"string","description":"Google's average star rating, 1–5.","enum":["Infinity","-Infinity","NaN"],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].rating.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Google's average star rating, 1–5.","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].rating.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].rating","typeLabel":"number | enum\u003cstring> | null"},"reviews":{"oneOf":[{"type":"integer","description":"Number of Google reviews behind the rating.","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].reviews.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Number of Google reviews behind the rating.","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].reviews.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].reviews","typeLabel":"integer | null"},"phone":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].phone.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].phone.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].phone","typeLabel":"string | null"},"website":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].website.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].website.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].website","typeLabel":"string | null"},"latitude":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].latitude.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].latitude.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].latitude.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].latitude","typeLabel":"number | enum\u003cstring> | null"},"longitude":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].longitude.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].longitude.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].longitude.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].longitude","typeLabel":"number | enum\u003cstring> | null"},"google_cid":{"oneOf":[{"type":"string","description":"Google Maps CID of the place (Serper cid, SerpApi data_cid).","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].google_cid.oneOf.0","typeLabel":"string"},{"type":"null","description":"Google Maps CID of the place (Serper cid, SerpApi data_cid).","isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].google_cid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX].google_cid","typeLabel":"string | null"}},"required":["name","address","category","rating","reviews","phone","website","latitude","longitude","google_cid"],"additionalProperties":false,"uniqueKey":"output.oneOf.3.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.3.\\items","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.3","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].title","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].url","typeLabel":"string | null"},"snippet":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].snippet.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].snippet.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].snippet","typeLabel":"string | null"},"publication":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].publication.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].publication.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].publication","typeLabel":"string | null"},"year":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].year.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].year.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].year","typeLabel":"integer | null"},"cited_by":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].cited_by.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].cited_by.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].cited_by","typeLabel":"integer | null"},"pdf_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].pdf_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].pdf_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX].pdf_url","typeLabel":"string | null"}},"required":["title","url","snippet","publication","year","cited_by","pdf_url"],"additionalProperties":false,"uniqueKey":"output.oneOf.4.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.4.\\items","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.4","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].title","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","description":"The Google Shopping product page.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","description":"The Google Shopping product page.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].url","typeLabel":"string | null"},"merchant_url":{"oneOf":[{"type":"string","description":"The merchant's offer URL when the Provider reports one (SerpApi link); null for Serper.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].merchant_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"The merchant's offer URL when the Provider reports one (SerpApi link); null for Serper.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].merchant_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].merchant_url","typeLabel":"string | null"},"google_product_id":{"oneOf":[{"type":"string","description":"Google Shopping catalog product id (Serper productId, SerpApi product_id).","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].google_product_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Google Shopping catalog product id (Serper productId, SerpApi product_id).","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].google_product_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].google_product_id","typeLabel":"string | null"},"price_text":{"oneOf":[{"type":"string","description":"The Provider's display price, such as '$69.00'. Not parsed; the currency follows country.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].price_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"The Provider's display price, such as '$69.00'. Not parsed; the currency follows country.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].price_text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].price_text","typeLabel":"string | null"},"seller":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].seller.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].seller.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].seller","typeLabel":"string | null"},"rating":{"oneOf":[{"type":"number","description":"Google's average star rating, 1–5.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].rating.oneOf.0","typeLabel":"number"},{"type":"string","description":"Google's average star rating, 1–5.","enum":["Infinity","-Infinity","NaN"],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].rating.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Google's average star rating, 1–5.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].rating.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].rating","typeLabel":"number | enum\u003cstring> | null"},"reviews":{"oneOf":[{"type":"integer","description":"Number of Google reviews behind the rating.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].reviews.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Number of Google reviews behind the rating.","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].reviews.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].reviews","typeLabel":"integer | null"},"image_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].image_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].image_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX].image_url","typeLabel":"string | null"}},"required":["title","url","merchant_url","google_product_id","price_text","seller","rating","reviews","image_url"],"additionalProperties":false,"uniqueKey":"output.oneOf.5.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.5.\\items","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.5","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].title","typeLabel":"string | null"},"image_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].image_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].image_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].image_url","typeLabel":"string | null"},"thumbnail_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].thumbnail_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].thumbnail_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].thumbnail_url","typeLabel":"string | null"},"source_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].source_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].source_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].source_url","typeLabel":"string | null"},"source":{"oneOf":[{"type":"string","description":"Publisher or site name as the Provider shows it.","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].source.oneOf.0","typeLabel":"string"},{"type":"null","description":"Publisher or site name as the Provider shows it.","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].source","typeLabel":"string | null"},"width":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].width.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].width.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].width","typeLabel":"integer | null"},"height":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].height.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].height.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX].height","typeLabel":"integer | null"}},"required":["title","image_url","thumbnail_url","source_url","source","width","height"],"additionalProperties":false,"uniqueKey":"output.oneOf.6.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.6.\\items","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.6","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].title","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].url","typeLabel":"string | null"},"channel":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].channel.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].channel.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].channel","typeLabel":"string | null"},"source":{"oneOf":[{"type":"string","description":"Video platform as the Provider shows it, such as YouTube.","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].source.oneOf.0","typeLabel":"string"},{"type":"null","description":"Video platform as the Provider shows it, such as YouTube.","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].source","typeLabel":"string | null"},"date_text":{"oneOf":[{"type":"string","description":"Google's display text exactly as the Provider returned it (Serper / SerpApi date). It may be relative to the Run's completed_at, such as '3 hours ago', and is never parsed.","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].date_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"Google's display text exactly as the Provider returned it (Serper / SerpApi date). It may be relative to the Run's completed_at, such as '3 hours ago', and is never parsed.","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].date_text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].date_text","typeLabel":"string | null"},"duration_text":{"oneOf":[{"type":"string","description":"Display duration as returned, such as '4:39'.","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].duration_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"Display duration as returned, such as '4:39'.","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].duration_text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].duration_text","typeLabel":"string | null"},"snippet":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].snippet.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].snippet.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].snippet","typeLabel":"string | null"},"thumbnail_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].thumbnail_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].thumbnail_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX].thumbnail_url","typeLabel":"string | null"}},"required":["title","url","channel","source","date_text","duration_text","snippet","thumbnail_url"],"additionalProperties":false,"uniqueKey":"output.oneOf.7.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.7.\\items","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.7","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].url","typeLabel":"string | null"},"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].title","typeLabel":"string | null"},"exa_similarity_score":{"oneOf":[{"type":"number","description":"Exa's own similarity score for this page. Compare it only within one response; it is not comparable to other Providers' scores.","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].exa_similarity_score.oneOf.0","typeLabel":"number"},{"type":"string","description":"Exa's own similarity score for this page. Compare it only within one response; it is not comparable to other Providers' scores.","enum":["Infinity","-Infinity","NaN"],"isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].exa_similarity_score.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Exa's own similarity score for this page. Compare it only within one response; it is not comparable to other Providers' scores.","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].exa_similarity_score.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].exa_similarity_score","typeLabel":"number | enum\u003cstring> | null"},"published_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].published_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].published_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].published_at","typeLabel":"string | null"},"author":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].author.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].author.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX].author","typeLabel":"string | null"}},"required":["url","title","exa_similarity_score","published_at","author"],"additionalProperties":false,"uniqueKey":"output.oneOf.8.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.8.\\items","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.8","typeLabel":"object"},{"type":"object","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","required":["answer","citations"],"properties":{"answer":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.9.answer.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.9.answer.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.9.answer","typeLabel":"string | null"},"citations":{"type":"array","items":{"type":"object","properties":{"url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].url","typeLabel":"string | null"},"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].title","typeLabel":"string | null"},"published_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].published_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 UTC timestamp, filled only when the Provider reports a machine timestamp (Exa publishedDate, SerpApi news iso_date); otherwise null.","isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].published_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output.oneOf.9.citations.items.[INDEX].published_at","typeLabel":"string | null"}},"required":["url","title","published_at"],"additionalProperties":false,"uniqueKey":"output.oneOf.9.citations.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"output.oneOf.9.citations","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"output.oneOf.9","typeLabel":"object"},{"type":"null","description":"Normalized fields per action. The Provider's native output is not repeated here; it stays on the Run (GET /v1/runs/:id). Values a Provider does not report are null.\n\n- search: results[]: url, title, snippet (Google's excerpt; Exa's extracted highlight for Exa), position, published_at, date_text, date (deprecated)\n- news: items[]: title, url, source, published_at, date_text, snippet\n- places: items[]: name, address (Provider's text; may be the street line only), category, rating (1–5), reviews, phone, website, latitude, longitude, google_cid\n- scholar: items[]: title, url, snippet, publication, year, cited_by, pdf_url\n- shopping: items[]: title, url (Google Shopping page), merchant_url, google_product_id, price_text, seller, rating (1–5), reviews, image_url\n- images: items[]: title, image_url, thumbnail_url, source_url, source, width, height\n- videos: items[]: title, url, channel, source, date_text, duration_text, snippet, thumbnail_url\n- answer: answer, citations[]: url, title, published_at\n- scrape: url, final_url, title, text, markdown, html, raw_html, text_character_limit, cached, fetched_at, quality (deprecated)\n- similar: items[]: url, title, exa_similarity_score, published_at, author\n\npublished_at is ISO 8601 UTC and set only from a Provider's machine timestamp. date_text is Google's display text as returned; it may be relative to the Run's completed_at and is never parsed. rating is Google's 1–5 star average; reviews is a count. source is a publisher or site name. exa_similarity_score is Exa's own score and is comparable only within one response.","isRequired":true,"uniqueKey":"output.oneOf.10","typeLabel":"null"}],"isRequired":true,"uniqueKey":"output","typeLabel":"object · object · object · object · object · object · object · object · object · object · null"},"provider_response":{"oneOf":[{"type":"object","description":"Non-null only when status is COMPLETED.\n\n- For 2xx responses, output contains Provider-native JSON (any shape), or null for an empty body.\n- For non-2xx responses, error contains the Provider's error body and output is null.\n\nSensitive fields are removed from both bodies.","required":["http_status"],"properties":{"http_status":{"type":"integer","minimum":100,"maximum":599,"description":"HTTP status returned by the Provider. Check this even when the Run is COMPLETED.","isRequired":true,"uniqueKey":"provider_response.oneOf.0.http_status","typeLabel":"integer"},"error":{"oneOf":[{},{"type":"null","uniqueKey":"provider_response.oneOf.0.error.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider_response.oneOf.0.error","typeLabel":"null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"provider_response.oneOf.0","typeLabel":"object"},{"type":"null","description":"Non-null only when status is COMPLETED.\n\n- For 2xx responses, output contains Provider-native JSON (any shape), or null for an empty body.\n- For non-2xx responses, error contains the Provider's error body and output is null.\n\nSensitive fields are removed from both bodies.","isRequired":true,"uniqueKey":"provider_response.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provider_response","typeLabel":"object | null"},"charge_usd":{"oneOf":[{"type":"string","description":"Total charge of runs in this Solution response. Null until all listed Runs settle. Each Run retains its own charge; failures can also be charged.","pattern":"^(0|[1-9]\\d*)\\.(\\d{2}|\\d{2}\\d{0,3}[1-9])$","isRequired":true,"uniqueKey":"charge_usd.oneOf.0","typeLabel":"string"},{"type":"null","description":"Total charge of runs in this Solution response. Null until all listed Runs settle. Each Run retains its own charge; failures can also be charged.","isRequired":true,"uniqueKey":"charge_usd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"charge_usd","typeLabel":"string | null"},"charge_basis":{"oneOf":[{"type":"object","description":"Single-Run charge basis, or null for a multi-Run total. Read runs[].charge_basis for each charge.","required":["clause","quantity"],"properties":{"clause":{"type":"string","enum":["rule","NO_RESULT","PROVIDER_ERROR","TIMED_OUT","INTERNAL"],"isRequired":true,"uniqueKey":"charge_basis.oneOf.0.clause","typeLabel":"enum\u003cstring>"},"quantity":{"oneOf":[{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"charge_basis.oneOf.0.quantity.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"charge_basis.oneOf.0.quantity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"charge_basis.oneOf.0.quantity","typeLabel":"integer | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"charge_basis.oneOf.0","typeLabel":"object"},{"type":"null","description":"Single-Run charge basis, or null for a multi-Run total. Read runs[].charge_basis for each charge.","isRequired":true,"uniqueKey":"charge_basis.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"charge_basis","typeLabel":"object | null"},"stoppable":{"type":"boolean","description":"Whether a stop request can currently be accepted. This does not guarantee that the Run can stop before dispatch.","isRequired":true,"uniqueKey":"stoppable","typeLabel":"boolean"},"stop_requested_at":{"oneOf":[{"type":"string","description":"When a stop was requested. The Run can still continue if dispatch had already started.","format":"date-time","isRequired":true,"uniqueKey":"stop_requested_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When a stop was requested. The Run can still continue if dispatch had already started.","isRequired":true,"uniqueKey":"stop_requested_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"stop_requested_at","typeLabel":"string\u003cdate-time> | null"},"created_at":{"type":"string","description":"ISO-8601 UTC timestamp","format":"date-time","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"started_at":{"oneOf":[{"type":"string","description":"ISO-8601 UTC timestamp","format":"date-time","isRequired":true,"uniqueKey":"started_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","isRequired":true,"uniqueKey":"started_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"started_at","typeLabel":"string\u003cdate-time> | null"},"completed_at":{"oneOf":[{"type":"string","description":"ISO-8601 UTC timestamp","format":"date-time","isRequired":true,"uniqueKey":"completed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","isRequired":true,"uniqueKey":"completed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"completed_at","typeLabel":"string\u003cdate-time> | null"},"task_id":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"task_id.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"task_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"task_id","typeLabel":"string | null"},"metadata":{"type":"object","additionalProperties":{"type":"string","minLength":1,"maxLength":500,"uniqueKey":"metadata.additionalProperties","typeLabel":"string"},"maxProperties":20,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,39}$"},"description":"Your stored tracking fields. Use them to filter Runs. They never go to the Provider or affect routing, Price, or idempotency.\n\n- Up to 20 keys: lowercase letters, digits, and underscores; start with a letter; at most 40 characters.\n- Values: strings of 1–500 characters.\n- user_id: your End user's opaque ID, never their email address or name.","isRequired":true,"uniqueKey":"metadata","typeLabel":"object"},"action":{"type":"string","enum":["search","news","places","scholar","shopping","images","videos","answer","scrape","similar"],"isRequired":true,"uniqueKey":"action","typeLabel":"enum\u003cstring>"},"result_status":{"type":"string","enum":["success","partial","no_result","error","pending"],"description":"Business delivery status, independent of the final Run lifecycle in status. success is not a semantic content-quality verdict.","isRequired":true,"uniqueKey":"result_status","typeLabel":"enum\u003cstring>"},"missing_formats":{"type":"array","items":{"type":"string","enum":["text","markdown","html","raw_html"],"uniqueKey":"missing_formats.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"missing_formats","typeLabel":"enum\u003cstring>[]"},"error":{"oneOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.oneOf.0.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.oneOf.0.message","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error","typeLabel":"object | null"},"runs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"runs.items.[INDEX].id","typeLabel":"string"},"run_url":{"type":"string","description":"Open this Run in the console. Requires Workspace membership.","isRequired":true,"uniqueKey":"runs.items.[INDEX].run_url","typeLabel":"string"},"provider":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]*$","isRequired":true,"uniqueKey":"runs.items.[INDEX].provider","typeLabel":"string"},"endpoint":{"type":"string","pattern":"^\\/.+$","isRequired":true,"uniqueKey":"runs.items.[INDEX].endpoint","typeLabel":"string"},"endpoint_version":{"type":"integer","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"runs.items.[INDEX].endpoint_version","typeLabel":"integer"},"status":{"type":"string","enum":["QUEUED","RUNNING","COMPLETED","FAILED","STOPPED"],"description":"QUEUED or RUNNING: still in progress. COMPLETED: a Provider response is available, including non-2xx responses. FAILED: read failure. STOPPED: stopped before dispatch. Read charge_usd separately from status.","isRequired":true,"uniqueKey":"runs.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"failure":{"oneOf":[{"type":"object","description":"Why the Run failed. Non-null only when status is FAILED.","required":["kind","message"],"properties":{"kind":{"type":"string","enum":["TIMED_OUT","INTERNAL"],"isRequired":true,"uniqueKey":"runs.items.[INDEX].failure.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"runs.items.[INDEX].failure.oneOf.0.message","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"runs.items.[INDEX].failure.oneOf.0","typeLabel":"object"},{"type":"null","description":"Why the Run failed. Non-null only when status is FAILED.","isRequired":true,"uniqueKey":"runs.items.[INDEX].failure.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].failure","typeLabel":"object | null"},"input":{"type":"object","properties":{"omitted":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"runs.items.[INDEX].input.omitted","typeLabel":"enum\u003cboolean>"}},"required":["omitted"],"additionalProperties":false,"isRequired":true,"uniqueKey":"runs.items.[INDEX].input","typeLabel":"object"},"output":{"type":"object","properties":{"omitted":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"runs.items.[INDEX].output.omitted","typeLabel":"enum\u003cboolean>"}},"required":["omitted"],"additionalProperties":false,"isRequired":true,"uniqueKey":"runs.items.[INDEX].output","typeLabel":"object"},"provider_response":{"oneOf":[{"type":"object","required":["http_status"],"properties":{"http_status":{"type":"integer","minimum":100,"maximum":599,"description":"HTTP status returned by the Provider. Check this even when the Run is COMPLETED.","isRequired":true,"uniqueKey":"runs.items.[INDEX].provider_response.oneOf.0.http_status","typeLabel":"integer"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"runs.items.[INDEX].provider_response.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"runs.items.[INDEX].provider_response.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].provider_response","typeLabel":"object | null"},"charge_usd":{"oneOf":[{"type":"string","description":"Final charge as an exact USD decimal string. Null while QUEUED or RUNNING. A FAILED Run can have a non-zero charge under the Endpoint's Price.","pattern":"^(0|[1-9]\\d*)\\.(\\d{2}|\\d{2}\\d{0,3}[1-9])$","isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_usd.oneOf.0","typeLabel":"string"},{"type":"null","description":"Final charge as an exact USD decimal string. Null while QUEUED or RUNNING. A FAILED Run can have a non-zero charge under the Endpoint's Price.","isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_usd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_usd","typeLabel":"string | null"},"charge_basis":{"oneOf":[{"type":"object","description":"Price clause used to calculate the charge. Null before settlement or when no Provider attempt was made.","required":["clause","quantity"],"properties":{"clause":{"type":"string","enum":["rule","NO_RESULT","PROVIDER_ERROR","TIMED_OUT","INTERNAL"],"isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_basis.oneOf.0.clause","typeLabel":"enum\u003cstring>"},"quantity":{"oneOf":[{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_basis.oneOf.0.quantity.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_basis.oneOf.0.quantity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_basis.oneOf.0.quantity","typeLabel":"integer | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_basis.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price clause used to calculate the charge. Null before settlement or when no Provider attempt was made.","isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_basis.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].charge_basis","typeLabel":"object | null"},"stoppable":{"type":"boolean","description":"Whether a stop request can currently be accepted. This does not guarantee that the Run can stop before dispatch.","isRequired":true,"uniqueKey":"runs.items.[INDEX].stoppable","typeLabel":"boolean"},"stop_requested_at":{"oneOf":[{"type":"string","description":"When a stop was requested. The Run can still continue if dispatch had already started.","format":"date-time","isRequired":true,"uniqueKey":"runs.items.[INDEX].stop_requested_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When a stop was requested. The Run can still continue if dispatch had already started.","isRequired":true,"uniqueKey":"runs.items.[INDEX].stop_requested_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].stop_requested_at","typeLabel":"string\u003cdate-time> | null"},"created_at":{"type":"string","description":"ISO-8601 UTC timestamp","format":"date-time","isRequired":true,"uniqueKey":"runs.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"},"started_at":{"oneOf":[{"type":"string","description":"ISO-8601 UTC timestamp","format":"date-time","isRequired":true,"uniqueKey":"runs.items.[INDEX].started_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","isRequired":true,"uniqueKey":"runs.items.[INDEX].started_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].started_at","typeLabel":"string\u003cdate-time> | null"},"completed_at":{"oneOf":[{"type":"string","description":"ISO-8601 UTC timestamp","format":"date-time","isRequired":true,"uniqueKey":"runs.items.[INDEX].completed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","isRequired":true,"uniqueKey":"runs.items.[INDEX].completed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].completed_at","typeLabel":"string\u003cdate-time> | null"},"task_id":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"runs.items.[INDEX].task_id.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"runs.items.[INDEX].task_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"runs.items.[INDEX].task_id","typeLabel":"string | null"},"metadata":{"type":"object","additionalProperties":{"type":"string","minLength":1,"maxLength":500,"uniqueKey":"runs.items.[INDEX].metadata.additionalProperties","typeLabel":"string"},"maxProperties":20,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,39}$"},"description":"Your stored tracking fields. Use them to filter Runs. They never go to the Provider or affect routing, Price, or idempotency.\n\n- Up to 20 keys: lowercase letters, digits, and underscores; start with a letter; at most 40 characters.\n- Values: strings of 1–500 characters.\n- user_id: your End user's opaque ID, never their email address or name.","isRequired":true,"uniqueKey":"runs.items.[INDEX].metadata","typeLabel":"object"}},"required":["id","run_url","provider","endpoint","endpoint_version","status","failure","input","output","provider_response","charge_usd","charge_basis","stoppable","stop_requested_at","created_at","started_at","completed_at","task_id","metadata"],"additionalProperties":false,"uniqueKey":"runs.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"runs","typeLabel":"object[]"},"result_url":{"type":"string","description":"Authenticated, read-only URL path for polling this normalized result and total charge. Use with the API origin. Does not create Runs or resume fallback. GET /v1/runs/:id still returns the native, individual Run.","isRequired":true,"uniqueKey":"result_url","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","run_url":"\u003cstring>","provider":"\u003cstring>","endpoint":"\u003cstring>","endpoint_version":123,"status":"QUEUED","failure":{"kind":"TIMED_OUT","message":"\u003cstring>"},"input":{},"output":{"url":"\u003cstring>","final_url":"\u003cstring>","title":"\u003cstring>","text":"\u003cstring>","markdown":"\u003cstring>","html":"\u003cstring>","raw_html":"\u003cstring>","text_character_limit":123,"cached":true,"fetched_at":"\u003cstring>","quality":"unverified"},"provider_response":{"http_status":349,"error":"\u003cunknown>"},"charge_usd":"\u003cstring>","charge_basis":{"clause":"rule","quantity":1},"stoppable":true,"stop_requested_at":"2023-11-07T05:31:56Z","created_at":"2023-11-07T05:31:56Z","started_at":"2023-11-07T05:31:56Z","completed_at":"2023-11-07T05:31:56Z","task_id":"\u003cstring>","metadata":{},"action":"search","result_status":"success","missing_formats":["text"],"error":{"code":"\u003cstring>","message":"\u003cstring>"},"runs":[{"id":"\u003cstring>","run_url":"\u003cstring>","provider":"\u003cstring>","endpoint":"\u003cstring>","endpoint_version":123,"status":"QUEUED","failure":{"kind":"TIMED_OUT","message":"\u003cstring>"},"input":{"omitted":true},"output":{"omitted":true},"provider_response":{"http_status":349},"charge_usd":"\u003cstring>","charge_basis":{"clause":"rule","quantity":1},"stoppable":true,"stop_requested_at":"2023-11-07T05:31:56Z","created_at":"2023-11-07T05:31:56Z","started_at":"2023-11-07T05:31:56Z","completed_at":"2023-11-07T05:31:56Z","task_id":"\u003cstring>","metadata":{}}],"result_url":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"0e2f350b-cbb0-4585-a6c9-7c78eb9a058d":{"description":"ValidationFailed | IdempotencyKeyRequired","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error","request_id"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["validation_failed"],"isRequired":true,"uniqueKey":"oneOf.0.error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.error.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.0.error.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.error.reason","typeLabel":"string | null"},"control":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.error.control.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.0.error.control.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.error.control","typeLabel":"string | null"},"retry_after_ms":{"oneOf":[{"type":"integer","uniqueKey":"oneOf.0.error.retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"oneOf.0.error.retry_after_ms.oneOf.1","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.0.error.retry_after_ms.oneOf.2","typeLabel":"null"}],"uniqueKey":"oneOf.0.error.retry_after_ms","typeLabel":"integer · null · null"},"details":{"oneOf":[{"type":"object","uniqueKey":"oneOf.0.error.details.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"oneOf.0.error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.error.details","typeLabel":"object | null"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.request_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["error","request_id"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["idempotency_key_required"],"isRequired":true,"uniqueKey":"oneOf.1.error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.error.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.1.error.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.error.reason","typeLabel":"string | null"},"control":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.error.control.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.1.error.control.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.error.control","typeLabel":"string | null"},"retry_after_ms":{"oneOf":[{"type":"integer","uniqueKey":"oneOf.1.error.retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"oneOf.1.error.retry_after_ms.oneOf.1","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.1.error.retry_after_ms.oneOf.2","typeLabel":"null"}],"uniqueKey":"oneOf.1.error.retry_after_ms","typeLabel":"integer · null · null"},"details":{"oneOf":[{"type":"object","uniqueKey":"oneOf.1.error.details.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"oneOf.1.error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.error.details","typeLabel":"object | null"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"object"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.request_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["error","request_id"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["validation_failed"],"isRequired":true,"uniqueKey":"oneOf.2.error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","uniqueKey":"oneOf.2.error.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.2.error.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.error.reason","typeLabel":"string | null"},"control":{"oneOf":[{"type":"string","uniqueKey":"oneOf.2.error.control.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.2.error.control.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.error.control","typeLabel":"string | null"},"retry_after_ms":{"oneOf":[{"type":"integer","uniqueKey":"oneOf.2.error.retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"oneOf.2.error.retry_after_ms.oneOf.1","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.2.error.retry_after_ms.oneOf.2","typeLabel":"null"}],"uniqueKey":"oneOf.2.error.retry_after_ms","typeLabel":"integer · null · null"},"details":{"oneOf":[{"type":"object","uniqueKey":"oneOf.2.error.details.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"oneOf.2.error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.error.details","typeLabel":"object | null"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.2.error","typeLabel":"object"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.request_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.2","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"validation_failed","message":"\u003cstring>","reason":"\u003cstring>","control":"\u003cstring>","retry_after_ms":123,"details":{}},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"5390d3d4-9c14-43a3-9292-c654edeeb5df":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","uniqueKey":"error.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.reason","typeLabel":"string | null"},"control":{"oneOf":[{"type":"string","uniqueKey":"error.control.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.control.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.control","typeLabel":"string | null"},"retry_after_ms":{"oneOf":[{"type":"integer","uniqueKey":"error.retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"error.retry_after_ms.oneOf.1","typeLabel":"null"},{"type":"null","uniqueKey":"error.retry_after_ms.oneOf.2","typeLabel":"null"}],"uniqueKey":"error.retry_after_ms","typeLabel":"integer · null · null"},"details":{"oneOf":[{"type":"object","uniqueKey":"error.details.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"object | null"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"}},"required":["error","request_id"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"\u003cstring>","reason":"\u003cstring>","control":"\u003cstring>","retry_after_ms":123,"details":{}},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"dcec6d90-a0ac-41dd-a02c-ffd360227ba5":{"description":"InsufficientBalance","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["insufficient_balance"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","uniqueKey":"error.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.reason","typeLabel":"string | null"},"control":{"oneOf":[{"type":"string","uniqueKey":"error.control.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.control.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.control","typeLabel":"string | null"},"retry_after_ms":{"oneOf":[{"type":"integer","uniqueKey":"error.retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"error.retry_after_ms.oneOf.1","typeLabel":"null"},{"type":"null","uniqueKey":"error.retry_after_ms.oneOf.2","typeLabel":"null"}],"uniqueKey":"error.retry_after_ms","typeLabel":"integer · null · null"},"details":{"oneOf":[{"type":"object","uniqueKey":"error.details.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"object | null"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"}},"required":["error","request_id"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"insufficient_balance","message":"\u003cstring>","reason":"\u003cstring>","control":"\u003cstring>","retry_after_ms":123,"details":{}},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"a326f712-232f-4a40-aa67-09e29e83d9d3":{"description":"EndpointNotPermitted | Forbidden","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error","request_id"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["endpoint_not_permitted"],"isRequired":true,"uniqueKey":"oneOf.0.error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.error.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.0.error.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.error.reason","typeLabel":"string | null"},"control":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.error.control.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.0.error.control.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.error.control","typeLabel":"string | null"},"retry_after_ms":{"oneOf":[{"type":"integer","uniqueKey":"oneOf.0.error.retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"oneOf.0.error.retry_after_ms.oneOf.1","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.0.error.retry_after_ms.oneOf.2","typeLabel":"null"}],"uniqueKey":"oneOf.0.error.retry_after_ms","typeLabel":"integer · null · null"},"details":{"oneOf":[{"type":"object","uniqueKey":"oneOf.0.error.details.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"oneOf.0.error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.error.details","typeLabel":"object | null"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.request_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["error","request_id"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["forbidden"],"isRequired":true,"uniqueKey":"oneOf.1.error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.error.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.1.error.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.error.reason","typeLabel":"string | null"},"control":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.error.control.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.1.error.control.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.error.control","typeLabel":"string | null"},"retry_after_ms":{"oneOf":[{"type":"integer","uniqueKey":"oneOf.1.error.retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"oneOf.1.error.retry_after_ms.oneOf.1","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.1.error.retry_after_ms.oneOf.2","typeLabel":"null"}],"uniqueKey":"oneOf.1.error.retry_after_ms","typeLabel":"integer · null · null"},"details":{"oneOf":[{"type":"object","uniqueKey":"oneOf.1.error.details.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"oneOf.1.error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.error.details","typeLabel":"object | null"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"object"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.request_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"endpoint_not_permitted","message":"\u003cstring>","reason":"\u003cstring>","control":"\u003cstring>","retry_after_ms":123,"details":{}},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"0d3bf5b4-e909-47fb-a787-b74b09852715":{"description":"IdempotencyConflict","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["idempotency_conflict"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","uniqueKey":"error.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.reason","typeLabel":"string | null"},"control":{"oneOf":[{"type":"string","uniqueKey":"error.control.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.control.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.control","typeLabel":"string | null"},"retry_after_ms":{"oneOf":[{"type":"integer","uniqueKey":"error.retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"error.retry_after_ms.oneOf.1","typeLabel":"null"},{"type":"null","uniqueKey":"error.retry_after_ms.oneOf.2","typeLabel":"null"}],"uniqueKey":"error.retry_after_ms","typeLabel":"integer · null · null"},"details":{"oneOf":[{"type":"object","uniqueKey":"error.details.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"object | null"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"}},"required":["error","request_id"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"idempotency_conflict","message":"\u003cstring>","reason":"\u003cstring>","control":"\u003cstring>","retry_after_ms":123,"details":{}},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"43d964dc-57dc-4901-ab79-6bd9f6618997":{"description":"RateLimited","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["rate_limited"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","uniqueKey":"error.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.reason","typeLabel":"string | null"},"control":{"oneOf":[{"type":"string","uniqueKey":"error.control.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.control.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.control","typeLabel":"string | null"},"retry_after_ms":{"oneOf":[{"type":"integer","uniqueKey":"error.retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"error.retry_after_ms.oneOf.1","typeLabel":"null"},{"type":"null","uniqueKey":"error.retry_after_ms.oneOf.2","typeLabel":"null"}],"uniqueKey":"error.retry_after_ms","typeLabel":"integer · null · null"},"details":{"oneOf":[{"type":"object","uniqueKey":"error.details.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"object | null"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"}},"required":["error","request_id"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"rate_limited","message":"\u003cstring>","reason":"\u003cstring>","control":"\u003cstring>","retry_after_ms":123,"details":{}},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"f1a96324-b1c4-4403-bdff-4c127f2ec1bc":{"description":"ServiceUnavailable","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["service_unavailable"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","uniqueKey":"error.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.reason","typeLabel":"string | null"},"control":{"oneOf":[{"type":"string","uniqueKey":"error.control.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.control.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.control","typeLabel":"string | null"},"retry_after_ms":{"oneOf":[{"type":"integer","uniqueKey":"error.retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"error.retry_after_ms.oneOf.1","typeLabel":"null"},{"type":"null","uniqueKey":"error.retry_after_ms.oneOf.2","typeLabel":"null"}],"uniqueKey":"error.retry_after_ms","typeLabel":"integer · null · null"},"details":{"oneOf":[{"type":"object","uniqueKey":"error.details.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"object | null"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"}},"required":["error","request_id"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"service_unavailable","message":"\u003cstring>","reason":"\u003cstring>","control":"\u003cstring>","retry_after_ms":123,"details":{}},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"b35e8303-7c70-4d08-bb53-d9027631d724":{"bearer":{"type":"http","scheme":"Bearer","scopes":[],"schemeName":"bearer"}}},"servers":{"91b097c0-3c09-48c2-be99-4696b9a326fc":{"url":"https://api.glasser.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"Bearer","scopes":[],"schemeName":"bearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer","name":"Authorization"}],"title":"bearer"}]},"originalFileLocation":"openapi.json"},"subdomain":"glasser","siteName":"Glasser","title":"Web research - Glasser","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T13:02:24.343Z","originalFileLocation":"api-reference/solutions/gtm/web_research.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Search the web, news, places, and other public content, retrieve a page, or get an answer with sources. Choose an action and supply a query or URL as described below.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Glasser\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/glasser/BkuzOUT55q1vTY9q/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/glasser/BkuzOUT55q1vTY9q/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/glasser/BkuzOUT55q1vTY9q/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/glasser/BkuzOUT55q1vTY9q/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/glasser/BkuzOUT55q1vTY9q/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/glasser/BkuzOUT55q1vTY9q/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/glasser/BkuzOUT55q1vTY9q/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/glasser/BkuzOUT55q1vTY9q/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/glasser/BkuzOUT55q1vTY9q/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Web research - Glasser\">\u003cmeta data-mint-head property=\"og:description\" content=\"Search the web, news, places, and other public content, retrieve a page, or get an answer with sources. Choose an action and supply a query or URL as described below.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Glasser\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://glasser.ai/docs/api-reference/solutions/gtm/web_research\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://glasser.mintlify.app/_mintlify/api/og/v2?division=Solutions\u0026amp;title=Web+research\u0026amp;description=Search+the+web%2C+news%2C+places%2C+and+other+public+content%2C+retrieve+a+page%2C+or+get+an+answer+with+sources.+Choose+an+action+and+supply+a+query+or+URL+as+described+\u0026amp;theme=6f084cf64b727740a57b3687\u0026amp;signature=797b3d38293b640719e7e10a547c831363abfe362421eaf1a8930e4962be9fac\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Web research - Glasser\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Search the web, news, places, and other public content, retrieve a page, or get an answer with sources. Choose an action and supply a query or URL as described below.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://glasser.mintlify.app/_mintlify/api/og/v2?division=Solutions\u0026amp;title=Web+research\u0026amp;description=Search+the+web%2C+news%2C+places%2C+and+other+public+content%2C+retrieve+a+page%2C+or+get+an+answer+with+sources.+Choose+an+action+and+supply+a+query+or+URL+as+described+\u0026amp;theme=6f084cf64b727740a57b3687\u0026amp;signature=797b3d38293b640719e7e10a547c831363abfe362421eaf1a8930e4962be9fac\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/glasser/BkuzOUT55q1vTY9q/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Glasser\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#111111\">\u003clink data-mint-head rel=\"canonical\" href=\"https://glasser.ai/docs/api-reference/solutions/gtm/web_research\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/solutions/gtm/web_research.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://glasser.ai/#organization\",\"name\":\"Glasser\",\"url\":\"https://glasser.ai\"},{\"@type\":\"WebSite\",\"@id\":\"https://glasser.ai/docs#website\",\"name\":\"Glasser\",\"url\":\"https://glasser.ai/docs\",\"publisher\":{\"@id\":\"https://glasser.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://glasser.ai/docs/api-reference/solutions/gtm/web_research#webpage\",\"url\":\"https://glasser.ai/docs/api-reference/solutions/gtm/web_research\",\"name\":\"Web research\",\"description\":\"Search the web, news, places, and other public content, retrieve a page, or get an answer with sources. Choose an action and supply a query or URL as described below.\",\"dateModified\":\"2026-10-28T13:02:24.343Z\",\"isPartOf\":{\"@id\":\"https://glasser.ai/docs#website\"},\"breadcrumb\":{\"@id\":\"https://glasser.ai/docs/api-reference/solutions/gtm/web_research#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://glasser.ai/docs/api-reference/solutions/gtm/web_research#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Solutions\",\"item\":\"https://glasser.ai/docs/api-reference/solutions/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web research\",\"item\":\"https://glasser.ai/docs/api-reference/solutions/gtm/web_research\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://glasser.ai/docs/api-reference/solutions/gtm/web_research#apireference\",\"headline\":\"Web research\",\"name\":\"Web research\",\"description\":\"Search the web, news, places, and other public content, retrieve a page, or get an answer with sources. Choose an action and supply a query or URL as described below.\",\"url\":\"https://glasser.ai/docs/api-reference/solutions/gtm/web_research\",\"mainEntityOfPage\":{\"@id\":\"https://glasser.ai/docs/api-reference/solutions/gtm/web_research#webpage\"},\"dateModified\":\"2026-10-28T13:02:24.343Z\",\"publisher\":{\"@id\":\"https://glasser.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://glasser.ai/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Glasser\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Glasser","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","groups":[{"group":"Get started","pages":[{"title":"API overview","sidebarTitle":"Overview","href":"/api-reference/overview"}]},{"group":"Endpoints","pages":[{"title":"List Providers and Endpoints","api":"GET https://api.glasser.ai/public/catalog","href":"/api-reference/endpoints/list"},{"title":"Search runnable endpoints","deprecated":null,"version":null,"sidebarTitle":"Search","openapi":"/openapi.json post /v1/endpoints/search","href":"/api-reference/endpoints/search"},{"title":"Inspect an Endpoint","deprecated":null,"version":null,"sidebarTitle":"Inspect","openapi":"/openapi.json post /v1/endpoints/inspect","href":"/api-reference/endpoints/inspect"}]},{"group":"Runs","pages":[{"title":"Create a Run","deprecated":null,"version":null,"sidebarTitle":"Create","openapi":"/openapi.json post /v1/runs","href":"/api-reference/runs/create"},{"title":"List Runs","deprecated":null,"version":null,"sidebarTitle":"List","openapi":"/openapi.json get /v1/runs","href":"/api-reference/runs/list"},{"title":"Get a Run","deprecated":null,"version":null,"sidebarTitle":"Get","openapi":"/openapi.json get /v1/runs/{runId}","href":"/api-reference/runs/get"},{"title":"Stop a Run","deprecated":null,"version":null,"sidebarTitle":"Stop","openapi":"/openapi.json post /v1/runs/{runId}/stop","href":"/api-reference/runs/stop"}]},{"group":"Balance","pages":[{"title":"Get balance","deprecated":null,"version":null,"sidebarTitle":"Get","openapi":"/openapi.json get /v1/balance","href":"/api-reference/balance/get"},{"title":"List balance history","deprecated":null,"version":null,"sidebarTitle":"History","openapi":"/openapi.json get /v1/balance/history","href":"/api-reference/balance/history"}]},{"group":"Data Sources","pages":[{"title":"Jev API","sidebarTitle":"Jev","href":"/api-reference/data-sources/jev"}]},{"group":"Solutions","pages":[{"title":"Solutions overview","sidebarTitle":"Overview","description":"Explore GTM's six predefined data capabilities and their supported actions.","href":"/api-reference/solutions/overview"},{"title":"Web research","deprecated":null,"version":null,"sidebarTitle":"Web research","openapi":"/openapi.json post /v1/solutions/gtm/web_research","href":"/api-reference/solutions/gtm/web_research"},{"title":"Read a web research result","description":"Read normalized output, delivery status, and total charges for an existing Web research request. Follow the result_url returned by every web_research action.","deprecated":null,"version":null,"sidebarTitle":"Result","openapi":"/openapi.json get /v1/solutions/gtm/web_research/result","href":"/api-reference/solutions/gtm/web_research/result"},{"title":"Company intelligence","deprecated":null,"version":null,"sidebarTitle":"Company intelligence","openapi":"/openapi.json post /v1/solutions/gtm/company_intelligence","href":"/api-reference/solutions/gtm/company_intelligence"},{"title":"Read a company intelligence result","deprecated":null,"version":null,"sidebarTitle":"Result","openapi":"/openapi.json get /v1/solutions/gtm/company_intelligence/result","href":"/api-reference/solutions/gtm/company_intelligence/result"},{"title":"People search","deprecated":null,"version":null,"sidebarTitle":"People search","openapi":"/openapi.json post /v1/solutions/gtm/people_search","href":"/api-reference/solutions/gtm/people_search"},{"title":"Read a people search result","deprecated":null,"version":null,"sidebarTitle":"Result","openapi":"/openapi.json get /v1/solutions/gtm/people_search/result","href":"/api-reference/solutions/gtm/people_search/result"},{"title":"SEO research","deprecated":null,"version":null,"sidebarTitle":"Seo research","openapi":"/openapi.json post /v1/solutions/gtm/seo_research","href":"/api-reference/solutions/gtm/seo_research"},{"title":"Read an SEO research result","deprecated":null,"version":null,"sidebarTitle":"Result","openapi":"/openapi.json get /v1/solutions/gtm/seo_research/result","href":"/api-reference/solutions/gtm/seo_research/result"},{"title":"Social research","deprecated":null,"version":null,"sidebarTitle":"Social research","openapi":"/openapi.json post /v1/solutions/gtm/social_research","href":"/api-reference/solutions/gtm/social_research"},{"title":"Read a social research result","deprecated":null,"version":null,"sidebarTitle":"Result","openapi":"/openapi.json get /v1/solutions/gtm/social_research/result","href":"/api-reference/solutions/gtm/social_research/result"},{"title":"Market data","deprecated":null,"version":null,"sidebarTitle":"Market data","openapi":"/openapi.json post /v1/solutions/gtm/market_data","href":"/api-reference/solutions/gtm/market_data"},{"title":"Read a market data result","deprecated":null,"version":null,"sidebarTitle":"Result","openapi":"/openapi.json get /v1/solutions/gtm/market_data/result","href":"/api-reference/solutions/gtm/market_data/result"}]}]},{"tab":"CLI Reference","pages":[{"title":"CLI Reference","href":"/cli"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations/overview"}]}]},"basePath":"","title":"Web research - Glasser","buildId":"dpl_6cCEiK8XNNvaLBBkWzcBhdE9QfLC","deploymentId":"dpl_6cCEiK8XNNvaLBBkWzcBhdE9QfLC","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CLz2_Z5D.js","utils-7A5jZhOT.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BVWmkKuv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-4SOfrh0F.js","snippetPresets-CMc8KicP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ba9tX7z3.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Be8krXvv.js","shallow-CBC3K1uB.js","getApiPlaygroundDisplay-4tKcUAYo.js","CodeSnippet-C1Xa06ft.js","CodeSnippets-vqiz27A_.js","Page-DeQN5MDd.js","getPastedJson-NUwRfM32.js","icon-DkIVqWh9.js","MethodPill-qmhT7_wz.js","DuplicateIcon-_gWp1vhn.js","createIcon-NA1p_TVA.js","DynamicMarkdown-Bas9A7wq.js","SectionHeading-a1cS-24U.js","axios-vUo_bRtp.js","Markdown-D3ZTwq_a.js","clsx-BcghKhHb.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-B66mVNPp.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DmooSyTN.js"]}