Build with Nimble
Web Search Agents that turn any website into structured knowledge for AI
See Nimble in Action
Create a Web Search Agent for any website. Get structured, real-time data at scale.
Scalable data collection with stealth unblocking —> Get clean, real-time HTML and structured data from any URL
from nimble_python import Nimble
nimble = Nimble(api_key="YOUR-API-KEY")
result = nimble.extract(
url= "https://www.nimbleway.com",
formats= ["html", "markdown"]
)
import Nimble from "@nimble-way/nimble-js";
const nimble = new Nimble({ apiKey: "YOUR-API-KEY" });
const result = await nimble.extract({
url: "https://www.nimbleway.com",
formats: ["html", "markdown"],
});
curl -X POST 'https://sdk.nimbleway.com/v1/extract' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
"url": "https://www.nimbleway.com",
"formats": ["html", "markdown"]
}'
{
"url": "https://www.nimbleway.com",
"status": "success",
"data": {
"html": "<!doctype html><html>...",
"markdown": "# Nimble SDK\n...",
"parsing": {...},
"screenshot": [...],
"network_capture": [...],
... and more
},
"metadata": {
"driver": "vx8",
... and more
}
}
Accurate, real-time web search with —> AI Agents search the live web to retrieve precise information
from nimble_python import Nimble
nimble = Nimble(api_key="YOUR-API-KEY")
result = nimble.search(
query= "latest AI developments",
focus= "general",
max_results= 5,
include_answer= True,
search_depth= "lite"
)
import Nimble from "@nimble-way/nimble-js";
const nimble = new Nimble({ apiKey: "YOUR-API-KEY" });
const result = await nimble.search({
query: "latest AI developments",
focus: "general",
max_results: 5,
include_answer: true,
search_depth: "lite",
});
curl -X POST 'https://sdk.nimbleway.com/v1/search' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
"query": "latest AI developments",
"focus": "general",
"max_results": 5,
"include_answer": true,
"search_depth": "lite"
}'
{
"status": "success",
"query": "latest AI developments",
"results": [
{
"title": "Latest AI Developments",
"url": "https://example.com/ai",
"snippet": "Recent breakthroughs..."
},
... and more
],
"answer": "The latest AI developments..."
}
Fast URL discovery and site structure mapping —> Easily plan extraction workflows
from nimble_python import Nimble
nimble = Nimble(api_key="YOUR-API-KEY")
result = nimble.map(
url= "https://www.nimbleway.com",
sitemap: "include"
)
import Nimble from "@nimble-way/nimble-js";
const nimble = new Nimble({ apiKey: "YOUR-API-KEY" });
const result = await nimble.map({
url: "https://www.nimbleway.com",
sitemap: "include",
});
curl -X POST 'https://sdk.nimbleway.com/v1/map' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
"url": "https://www.nimbleway.com",
"sitemap": "include"
}'
{
"success": true,
"links": [
{
"url": "https://www.nimbleway.com",
"title": "Nimble - Web Data Platform",
"description": "AI-powered web data collection and extraction platform"
},
{
"url": "https://www.nimbleway.com/pricing",
"title": "Pricing",
"description": "Nimble pricing plans and features"
}
... and more
]
}
Extract contents from entire websites in a single request —> Collect large volumes of web data automatically
from nimble_python import Nimble
nimble = Nimble(api_key="YOUR-API-KEY")
result = nimble.crawl.run(
url="https://docs.nimbleway.com/nimble-sdk",
limit=4
)
import Nimble from "@nimble-way/nimble-js";
const nimble = new Nimble({ apiKey: "YOUR-API-KEY" });
const result = await nimble.crawl.run({
url: "https://docs.nimbleway.com/nimble-sdk",
limit: 4,
});
curl -X POST 'https://sdk.nimbleway.com/v1/crawl' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
"url": "https://docs.nimbleway.com/nimble-sdk",
"limit": 4
}'
{
"crawl_id": "85b21e98-69c5-4aa5-9d25-261a55bbf0db",
"url": "https://docs.nimbleway.com/nimble-sdk",
"status": "succeeded",
"tasks": [
{
"task_id": "8d2bb2fc-e469-4549-b5d8-0d307352aeb5",
"status": "completed",
"created_at": "2026-02-11T13:55:45.846Z",
"updated_at": "2026-02-11T13:55:52.138Z"
},
... and more
]
}
Web Search Agents extract structured knowledge from any website —> Pre-built agents for popular sites, or create your own in seconds
from nimble_python import Nimble
nimble = Nimble(api_key="YOUR-API-KEY")
result = nimble.agent.run(
agent="amazon_pdp",
params={
"asin": "B0DKB1GWML"
}
)
import Nimble from "@nimble-way/nimble-js";
const nimble = new Nimble({ apiKey: "YOUR-API-KEY" });
const result = await nimble.agent.run({
agent: "amazon_pdp",
params: {
asin: "B0DKB1GWML",
},
});
curl -X POST 'https://sdk.nimbleway.com/v1/agents/run' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
"agent": "amazon_pdp",
"params": {
"asin": "B0DKB1GWML"
}
}'
{
"url": "https://www.amazon.com/dp/B0DKB1GWML",
"data": {
"html": "<!doctype html><html>...",
"parsing": {
"product_title": "Apple iPhone 16 Pro Max...",
"product_description": ".....",
"brand": "Apple",
"web_price": 819.97,
"availability": true,
... and more
}
},
"metadata":{
"agent": "amazon_pdp",
"driver": "wsa-6m",
... and more
}
}
Route requests through premium residential IPs —> Scale fast with without getting blocked
# Proxy connection string
PROXY=http://account-ACCOUNT-pipeline-PIPELINE-country-US:[email protected]:7000
# Request through US residential IP
curl -x $PROXY https://ipinfo.io/json
{
"ip": "123.0.0.123",
"city": "Los Angeles",
"region": "California",
"country": "US",
"loc": "34.0522,-118.2437",
"org": "AS12345 Example ISP",
"timezone": "America/Los_Angeles"
}