Overview
Thelangchain-nimble package provides production-grade LangChain integrations for the Nimble web data platform. Built on the official nimble_python SDK, it enables RAG applications and AI agents that can search, extract, scrape with templates, crawl, map, and run resumable Web Search Agent research.
NimbleToolkit is the single entry point. Enable the tool families you need with include flags.
Choose the right capability (these are not interchangeable):
Key Features
- Search depths —
lite,fast,deep, plus focus modes and domain/date filters - Extract Templates — list → get → run structured site scrapers
- Agent API V2 — separate start / status / result tools (resumable; typically 3–15 minutes)
- Unified toolkit — one API key; opt into templates, agents, crawl, and map
- Full async — sync and async via
nimble_python - Attribution — every request sends
X-Client-Source: langchain-nimble
Requirements
- Python 3.10+
langchain-nimble4.0.0+ (depends onnimble_python>=1.2.0,<2.0.0)
Quick Start
Installation
Setup
Get your API key from Nimble’s dashboard (free trial available):api_key= into tools, retrievers, or NimbleToolkit.
Build an AI Agent with the Toolkit
Toolkit Flags
You can enable
include_agent and include_web_search_agents together; both families are returned (aliases + V2).
Extract Templates
For structured scraping of known page types (product pages, listings, and similar), use Extract Templates — not Agent API V2.nimble_extract_template_list— discover templates for the accountnimble_extract_template_get— inspect schema / published versionnimble_extract_template_run— run withtemplate+params
Agent API V2 (Web Search Agents)
Deep research / enrichment / dataset building via Agent API V2. Tools are resumable:run_start returns immediately with identifiers; poll run_status, then fetch run_result. Do not expect a multi-minute research job to finish inside one tool call.
Agent use_case (research, enrichment, or dataset_building) is set when the agent is created and locked afterward — that is separate from how you bootstrap a run below.
Bootstrap Options
How you identify the agent onrun_start (distinct from use_case):
Map response fields carefully for status/result tools:
- Start response
id→ run id (task_run_…) - Start response
web_search_agent_id→ agent id (wsa_…)
Effort, Use Cases, and Overrides
- Effort:
low|medium|high|x-high|max. Plan for 3–15 minutes on real research (not a few seconds). use_case:research(text),enrichment(JSON +input_data),dataset_building(JSON). Locked after agent create — a different value on reuse returns 422.- Run-level overrides (
skill,sources,output_schema) do not mutate the stored agent, except the firstagent_namecreate with a new name. input_datais enrichment payload only (never stored on the agent); distinct fromoutput_schema.
examples/agent_api_v2.py and examples/web_search_agent.py (templates + search/extract/map/crawl).
Crawl and Map
Retrievers (RAG)
Deprecated Aliases (4.0.0)
Breaking notes and SDK floor: see the package CHANGELOG 4.0.0.
Attribution
The package sets SDKclient_source="langchain-nimble", which sends: