search action type is for discovery-first work: turn queries and ranking into candidate URLs or documents before you lock onto specific pages. It pairs with scrape or crawl when the hard part is “what should we read?” rather than only “extract these known URLs.”
Examples use
TITAN_API_URL (Task Service origin, no /api/v1 suffix) and TITAN_TOKEN. Tab titles match other integration pages. Rust: ureq + serde_json. You need tasks:write (and related scopes for run and read paths).When to use search
- You have questions or keywords, not a fixed PDP list.
- You want fresh candidates from the open web on each run.
- You will downstream either crawl for more coverage or scrape into a stable schema.
Inputs and wiring
- With
input_source: static_urls, seeds usually live in the task’surlslist (validated per action rules). - In multi-step plans, a later
scrapestep often setsinput_source: previous_stepso discovered URLs flow into extraction.
Single-action example (POST /api/v1/tasks)
The exact limits and payload keys depend on your template and script contract—treat the JSON below as structural, not a guarantee of field names.
- cURL
- Go
- TypeScript
- Python
- Rust
Multi-step example (search → scrape)
Create a task whoseexecution_plan has two steps: search with static_urls, then scrape with previous_step and an output_schema carried on the scrape step (self-contained plan). Sketch:
action_type or output_schema when the body is an execution_plan-only create; the plan must include everything each step needs.
Submit the multi-step task (same body via API)
- cURL
- Go
- TypeScript
- Python
- Rust
search-scrape-plan.json, or build the same object in memory in your language.
Run and inspect
Run task
- cURL
- Go
- TypeScript
- Python
- Rust
Get task
- cURL
- Go
- TypeScript
- Python
- Rust
- cURL
- Go
- TypeScript
- Python
- Rust
steps array with a real plan when you call this for real.