web_batch_search — Orange Slice capability

Outcome-priced capability. One price for the answer, whichever providers it took. Everything we expose, with prices: https://orangeslice.ai/llms.txt

Run up to 250 web searches in one throttled call. Billed one credit per search that returns results, so empty searches are free.

Price

$0.002 per result, up to $0.50 per call

Billed per row returned, within the floor and ceiling above.

The price is a property of the outcome, not of the work behind it. Whichever vendor serves this call, and whatever it costs us, the number above is the number quoted before the run and charged after it.

Call it

CLI

orangeslice search web_batch --input '{"queries":[{"query":"Acme Corp funding"},{"query":"Acme Corp layoffs","tbs":"qdr:m"}]}'

HTTP

curl -X POST 'https://orangeslice.ai/api/v1/run' \ -H 'Authorization: Bearer $ORANGESLICE_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"capability":"web_batch_search","input":{"queries":"<json>"}}'

SDK

await services.web.batchSearch({ queries: "…" });

Inputs

FieldTypeRequiredDescription
queriesjsonYesSearches to run, 1-250. One credit per search that returns results

Inputs may also be piped as NDJSON, one JSON object per line.

Output

{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "searches": { "default": [], "type": "array", "items": { "type": "object", "properties": { "query": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "found": { "type": "boolean" }, "results": { "default": [], "type": "array", "items": { "type": "object", "properties": { "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "link": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "snippet": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "displayedLink": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "title", "link", "snippet", "displayedLink" ], "additionalProperties": false } }, "totalResults": { "anyOf": [ { "type": "number" }, { "type": "null" } ] } }, "required": [ "query", "found", "results", "totalResults" ], "additionalProperties": false } } }, "required": [ "searches" ], "additionalProperties": false }

The field that carries the answer is searches. It is null — or empty — when nothing was found, which is how a miss is told from a hit without knowing anything else about this entry.

Before you run

  • Price it first. orangeslice search web_batch --dry-run returns the exact dollar cost and spends nothing.
  • Large runs need approval. Above the spend-gate threshold a run exits 7 until it carries a plan token, and only a dry run mints one.
  • Scopes: enrich
  • Permitted uses: research, outreach, export

Exit codes

0 ok · 2 bad input · 3 auth · 4 not found · 5 provider · 6 rate limited · 7 spend gate, nothing billed · 8 timeout · 9 a third-party account needs connecting