text: true at the top level on /search | Nest it: "contents": {"text": true} |
highlights: {...} at the top level on /search | Nest it: "contents": {"highlights": {...}} |
summary: true at the top level on /search | Nest it: "contents": {"summary": true} |
contents: { text: ... } on /contents | On /contents, text, highlights, and summary are top-level fields |
tokensNum on /search or /contents | tokensNum belongs to /context, not search or contents |
includeUrls / excludeUrls | Use includeDomains / excludeDomains |
useAutoprompt in new requests | Remove it; it is deprecated |
numSentences for highlights | Use maxCharacters or highlights: true |
highlightsPerUrl for highlights | Remove it; it is deprecated |
Using livecrawl | Use maxAgeHours instead |
Stacking text, highlights, and summary on every search | Pick one. summary adds a per-result LLM call; combining text and highlights doubles billing for two views of the same page |
category: "github", "documentation", "qa", "pdf" | Stick to the documented category set. |
stream: true on /contents | /contents does not support streaming |
camelCase top-level kwargs in core Python SDK methods (numResults=, outputSchema=) | Use num_results=, output_schema=; camelCase kwargs raise TypeError |
Nested dict keys like maxCharacters in Python | Both casings are accepted, but use max_characters for consistency with the SDK style |
searchParams on monitors | Use search |
schedule: "1h" on monitors | Use trigger: { "type": "interval", "period": "1h" } |