Skip to main content

Overview

The langchain-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):
Do not treat Extract Templates and Agent API V2 as the same product. Legacy nimble_agent_* names are deprecated aliases for Extract Templates only — they are not repointed to Agent API V2 research agents.

Key Features

  • Search depthslite, 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-nimble 4.0.0+ (depends on nimble_python>=1.2.0,<2.0.0)

Quick Start

Installation

Setup

Get your API key from Nimble’s dashboard (free trial available):
You can also pass 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.
Typical agent workflow:
  1. nimble_extract_template_list — discover templates for the account
  2. nimble_extract_template_get — inspect schema / published version
  3. nimble_extract_template_run — run with template + params
See the Extract Templates guide and API reference.

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 on run_start (distinct from use_case): Map response fields carefully for status/result tools:
  • Start response idrun id (task_run_…)
  • Start response web_search_agent_idagent 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 first agent_name create with a new name.
  • input_data is enrichment payload only (never stored on the agent); distinct from output_schema.
Runnable examples in the package repo: examples/agent_api_v2.py and examples/web_search_agent.py (templates + search/extract/map/crawl).

Crawl and Map

Crawl polls internally until the job finishes (or times out). Map discovers URLs via sitemap + link crawling.

Retrievers (RAG)

Deprecated Aliases (4.0.0)

Breaking notes and SDK floor: see the package CHANGELOG 4.0.0.

Attribution

The package sets SDK client_source="langchain-nimble", which sends:
No extra configuration is required.

Additional Resources