diff --git a/snippets/whitelabel/ai/json.mdx b/snippets/whitelabel/ai/json.mdx index ea63adf..9090efe 100644 --- a/snippets/whitelabel/ai/json.mdx +++ b/snippets/whitelabel/ai/json.mdx @@ -7,7 +7,16 @@ "completion": "

ChatGPT said: ...", "sources": "
{ return ( This endpoint autoscales; if you receive a 503 response, maintain traffic and - expect errors to resolve within a couple minutes. + expect errors to resolve within a minute. ); }; diff --git a/snippets/whitelabel/search/url.mdx b/snippets/whitelabel/search/url.mdx new file mode 100644 index 0000000..5b23e48 --- /dev/null +++ b/snippets/whitelabel/search/url.mdx @@ -0,0 +1,7 @@ +### Alternative URL + +```shell +curl -H "Authorization: Bearer $MASSIVE_TOKEN" \ +'https://render.joinmassive.com/search'\ +'?url=https%3A%2F%2Fwww.google.com%2Fsearch%3Fq%3Dfoo%2Bbar%2Bbaz%26hl%3Dfr%26gl%3Dfr%26ie%3DUTF-8' +``` diff --git a/web-render/ai.mdx b/web-render/ai.mdx index a4038d6..940d96b 100644 --- a/web-render/ai.mdx +++ b/web-render/ai.mdx @@ -84,19 +84,20 @@ Completions are returned as structured JSON, rendered HTML, or raw (unrendered) If you set the output to JSON, your completion will be parsed into an object with the [geotargeting keys and values above](#service-usage) and following chat keys and values: -| Key | Value | -| :------------------- | :----------------------------------------------------------------------------------------------------------------------- | -| `model` | The AI model that generated the completion | -| `query` | The user prompt that the completion was generated for | -| `html` | The rendered HTML of the entire conversation | -| `prompt` | The rendered HTML of just the prompt portion of the conversation | -| `completion` | The rendered HTML of just the completion portion of the conversation | -| `sources` | The rendered HTML of just the sources portion of the conversation | -| `ads` | The rendered HTML of just the ads portion of the conversation | -| `fanouts` | An array of the fanout queries that the model searched to generate the completion; only some models expose these queries | -| `device` | The emulated device name that the conversation was had on | -| `language` (planned) | The common name or ISO code of the language that the conversation is in | -| `display` (planned) | The common name or ISO code of the display language that conversation interface is in | +| Key | Value | +| :----------------------- | :----------------------------------------------------------------------------------------------------------------------- | +| `model` | The AI model that generated the completion | +| `query` | The user prompt that the completion was generated for | +| `html` | The rendered HTML of the entire conversation | +| `prompt` | The rendered HTML of just the prompt portion of the conversation | +| `completion` | The rendered HTML of just the completion portion of the conversation | +| `sources` | The rendered HTML of just the sources portion, if any, of the conversation | +| `ads` | The rendered HTML of just the ads portion, if any, of the conversation | +| `sse` (ChatGPT only) | The server-sent events JSON that was used to populate the conversation HTML | +| `fanouts` (ChatGPT only) | An array of the fanout queries that the model searched to generate the completion; only some models expose these queries | +| `device` | The emulated device name that the conversation was had on | +| `language` (planned) | The common name or ISO code of the language that the conversation is in | +| `display` (planned) | The common name or ISO code of the display language that conversation interface is in | diff --git a/web-render/openapi.json b/web-render/openapi.json index da2b10c..8d3281a 100644 --- a/web-render/openapi.json +++ b/web-render/openapi.json @@ -80,6 +80,16 @@ "schema": { "type": "string", "example": null }, "in": "query" }, + { + "name": "url", + "description": "The encoded URL of the results page to retrieve; if given, the URL overrides any of the above params.", + "schema": { + "type": "string", + "format": "uri", + "example": "https://www.google.com/search?q=foo+bar+baz&hl=fr&gl=fr&ie=UTF-8" + }, + "in": "query" + }, { "name": "awaiting", "description": "The lazy result features to wait to load; any AI overview, which can take significant time to generate, is awaited for a maximum of **1 minute**; multiple features can be provided by repeating the key; lazy results aren’t awaited by default.", @@ -393,7 +403,7 @@ "description": "The difficulty pool to attempt to access the URL from.", "schema": { "type": "string", - "enum": ["low", "medium", "high (planned)"], + "enum": ["low", "medium", "high"], "default": "low", "example": "low" }, @@ -1196,7 +1206,12 @@ "type": "string", "example": "
Search | 1 | -| AI | 1 | +| AI | 5 | | Browser | 1 | | Reporting | 0 (free) | | Administration | 0 (free) | -A few premium parameters multiply the base cost of calls that use them: +CDP sessions are billed by time, rounded down to the nearest credit: -| Service | Key | Value | Credit multiplier | -| :------ | :----------- | :----------- | :---------------- | -| Browser | `difficulty` | `medium` | 2 | -| Browser | `speed` | `ridiculous` | 1.5 | +| Service | Base credits | +| :-------------------------------------- | :----------- | +| Browser CDP | 10 / minute | + +A few premium parameters multiply the base cost of calls or sessions that use them: + +| Service | Key | Value | Credit multiplier | +| :------------ | :----------- | :----------- | :---------------- | +| Browser (CDP) | `difficulty` | `medium` | 2 | +| Browser (CDP) | `difficulty` | `high` | 5 | +| Browser | `speed` | `ridiculous` | 2 | For example, calling the browser service successfully with both `difficulty=medium` and -`speed=ridiculous` params would cost **3 credits** in total: +`speed=ridiculous` params would cost **4 credits** in total: -1 base credit x 2 x 1.5 = 3 total credits +1 base credit x 2 (difficulty multiplier) x 2 (speed multiplier) = 4 total credits Create or fund an account. diff --git a/web-render/search.mdx b/web-render/search.mdx index f975425..fbf103e 100644 --- a/web-render/search.mdx +++ b/web-render/search.mdx @@ -11,6 +11,7 @@ import { Autoscaling } from '/snippets/whitelabel/autoscaling.mdx'; import Authentication from '/snippets/whitelabel/authentication.mdx'; import Terms from '/snippets/whitelabel/search/terms.mdx'; import Offset from '/snippets/whitelabel/search/offset.mdx'; +import Url from '/snippets/whitelabel/search/url.mdx'; import Awaiting from '/snippets/whitelabel/search/awaiting.mdx'; @@ -49,6 +50,7 @@ The keys and values **{companyName}** supports are as follows: | `uule` | ⬜ | The [proprietary encoded string](https://moz.com/blog/geolocation-the-ultimate-tip-to-emulate-local-search) for emulating the location to search from; if possible, the actual location is searched from not emulated; location emulation is unused by default | | `language` | ⬜ | The commonly spelled name, [two-letter ISO code](https://www.loc.gov/standards/iso639-2/php/code_list.php), or [Google code](https://www.google.com/advanced_search) of the language to search in (these names and codes are case insensitive but required to include form- or URL-encoded spaces and punctuation marks); the language is unset by default | | `display` | ⬜ | The commonly spelled name, [two-letter ISO code](https://www.loc.gov/standards/iso639-2/php/code_list.php), or [Google code](https://www.google.com/advanced_search) of the search interface's display language (these names and codes are case insensitive but required to include form- or URL-encoded spaces and punctuation marks); the display language is unset by default or set to the language if given | +| `url` | ⬜ | The encoded URL of the results page to retrieve; if given, the URL overrides any of the above params | | `awaiting` | ⬜ | The lazy result features to wait to load, an `ai` overview, "People also ask" `answers`, or sponsored `ads`; any AI overview, which can take significant time to generate, is awaited for a maximum of **1 minute**; multiple features can be provided by repeating the key; lazy results aren't awaited by default | | `expiration` | ⬜ | The age in days of when to consider cached results expired, where `0` disables caching; `1` is the default number of days before expiration | @@ -62,4 +64,6 @@ feature infinite scrolling, the HTML of each page will be separated from the nex + +