Skip to main content
This page compresses the Web Search Agent guides into one reference a coding agent can hold in context. Fetch it as markdown at https://docs.nimbleway.com/nimble-sdk/web-search-agents/for-coding-agents.md, or paste the setup prompt below into your coding agent.

Setup prompt

Endpoints

SDKs: nimble_python (nimble.agents.run, nimble.agents.runs.get, nimble.agents.runs.result), @nimble-way/nimble-js, github.com/Nimbleway/nimble-go, CLI nimble agents run / nimble agents:runs get|result. Method names are camelCase in TypeScript; body fields stay snake_case.

Rules

Route first. Search for one fact. Extract or a template for a known URL. Agent for discovery, multi-source synthesis, or filling columns. Use case is fixed at creation. research, enrichment, dataset_building. A later run with a different value returns 422. dataset_building requires effort high or above. Effort. Research free text: medium. Research with schema, enrichment, dataset building: high. x-high for hard enrichment fields (one row per run) or an exhaustive single-site catalog. Never low for anything needing citations. max is not available. Instructions. skill = objective, approach, steps, absence and disambiguation rules. goals = 3 to 6 checkable requirements. input = this run’s entity and question, short. Name the entity with two keys (name plus domain). State a row cap, a stop rule (“do not stop before N unless the criteria are exhausted”) and an absence rule (“null, never inferred”). Name channels to search. Avoid “all” and “every” on the open web. Schema. Array root for dataset building and for enrichment with a list in input_data (a list of rows requires a table-shaped schema; the API returns 422 otherwise). Object root for research and single-record enrichment. 5 to 8 fields, every one with a description stating format, unit and null rule. ["string","null"] for uncertain fields, required on identity fields only. Enums for classification with a cannot_verify value. Numbers as numbers. A source_url field when downstream needs evidence. No format, pattern, min*, max*, $ref, root anyOf. Depth ≤5, ≤100 properties. No confidence or reasoning fields. Sources. allow groups {title, domains[]} in tiers; block proxies and mirrors; prioritize and avoid as text; say discovery pages are never the citation. Not readable: LinkedIn, Instagram, TikTok, X, Facebook, Reddit profiles and feeds, Glassdoor, Zillow, login-walled marketplaces. Use an Extract Template where one exists. Batching. Enrichment: hard cap ≤20 rows and ≤200 cells (rows × fields) per run; practical batch is about 5 rows for 6 researched fields at high, 10 rows for 2 or 3 fields. Rows beyond the budget come back with only their input values and the run still says completed. Dataset building: scope each run to 50 to 100 rows by region or category. Research: one entity per run. Account defaults: 30 concurrent, 200 runs per day. Completion. completed means finished. Check rows returned vs asked, cell fill, and open a sample of citations. The confidence grade is a sort key derived from fill and citation presence, not a verification. Keep a ledger keyed on your identifier; dedupe after merge; resubmit misses with completed rows as an exclusion list in input_data. Treat a run active for more than 30 minutes as lost and resubmit once.

Minimal working example

Python

Next Steps

MCP Server

Call agents from Claude, Cursor and other MCP clients

Plugin installation

Nimble skills for coding agents

API Reference

Every field and response