Skip to main content
Nimble Extract Templates turn popular websites into clean, structured data. Pick a template, pass a few parameters, and get production-ready JSON at scale — no CSS selectors, no scraping expertise, no maintenance headaches. A growing library of templates covers popular sites like Amazon, Google, and Walmart with zero configuration. Nimble maintains each template 24/7, auto-healing when target sites change.

Browse the Gallery

Explore pre-built templates for popular sites — no coding required

Install Plugin

Use Nimble directly in Claude Code or Cursor

Quick Start

Example Request

Example Response

How it works

1

Select a template and provide inputs

Choose a template by name (e.g., amazon_pdp, google_search) and pass the required parameters like product ID, search query, or URL
2

Nimble handles everything

The template fetches the page, handles anti-bot protection, and extracts data using battle-tested selectors maintained by Nimble
3

Receive structured data

Get clean, normalized JSON with consistent field names - ready to use in your application immediately

Every template. One API.

Every template works through the same simple API. Pick a site, pass its parameters, and get production-ready structured data.

Pre-Built Templates

A growing library of templates for popular websites — maintained by Nimble 24/7, auto-healing when sites change. Browse the Gallery.

Nimble Plugin

Use templates directly from your IDE with the Nimble plugin in Claude Code or Cursor.

Parameters

Supported input parameters:
template
string
required
The name of the template to use. Each template is designed for a specific platform or data type.Popular templates:
  • amazon_pdp - Amazon product pages
  • amazon_serp - Amazon search results
  • google_search - Google search results
  • google_maps_search - Google Maps locations
  • walmart_pdp - Walmart products
  • chatgpt - ChatGPT prompt results
  • perplexity - Perplexity prompt results
Browse all templates →
params
object
required
Template-specific parameters that tell the template what data to fetch. Each template has different requirements.Common param types:
  • Product IDs (ASINs, SKUs)
  • Search queries
  • URLs or usernames
  • Page numbers for pagination
Shared params (available to all templates):In addition to template-specific fields, params also accepts the following Extract API parameters:
  • country - Country used to access the target URL. Use ISO Alpha-2 codes.
  • locale - Language preference for the results. Use the LCID standard.
  • tag - User-defined tag for request identification.
  • parse - Whether to enable or disable parsing. Enabled by default.
Example:
localization
boolean
default:"false"
Enable location-based pricing and availability. Required when passing zip_code or store_id in params.Only available for templates that support localization (check template details).Example:
formats
array
default:"[]"
Output formats to include in the response alongside data.parsing. By default, only structured parsed data is returned.Available formats:
  • html - Raw HTML source of the extracted page
  • markdown - Clean markdown version of the page
  • headers - HTTP response headers as a key-value object under data.headers
  • links - All URLs found on the page as an array under data.links
Example:
Breaking change: data.html is no longer returned by default. To receive HTML in the response, pass "html" in the formats array.
Each template has unique parameter requirements. Check the Gallery for exact parameters for each template.

Usage

E-commerce product extraction

Extract product data from Amazon, Walmart, and other retailers:

Search results extraction

Get search results from Google, Amazon, and other platforms:

Google Maps extraction

Find businesses and locations:

LLM platform extraction

Get responses from AI platforms like ChatGPT and Perplexity:

Extraction with Localization

Use the localization parameter to get location-specific pricing and availability. Pass a zip_code or store_id in params to target a specific locale.

Pagination

Some templates support pagination — check the template’s input properties for a field with is_pagination_param: true, or feature_flags.is_pagination_supported: true on the template metadata. Pagination is client-driven: call the template once per page by incrementing the pagination field (commonly page) in params. Nimble does not return a “last page” signal — you decide when to stop.
Some sites return placeholder or “fake” content for page numbers that do not exist instead of an empty response. Always validate results (e.g., check for expected fields, compare against the previous page) before saving or acting on them.

Example: Paginate Amazon search results

The amazon_serp template accepts a page parameter. Call the template once per page, incrementing page each run. The example below fetches 10 pages of results for the keyword iphone 17.
Remember to validate results page-by-page — some sites return placeholder content for pages beyond the real total instead of an empty response.
For bulk paginated extraction, use Batch with one input per page to run requests in parallel.

Async & Batch

Run template extractions in the background or submit multiple template requests at once. Both modes return immediately with a task or batch ID — no waiting while Nimble processes the work.
Use async or batch when you need to:
  • Run templates without blocking your application
  • Process multiple template requests in parallel
  • Deliver results to cloud storage (S3 / GCS) automatically
  • Receive webhook notifications when tasks complete
  • Integrate templates into scheduled or queued workflows

How it works

1

Submit a request

Send a POST request to the async or batch endpoint. The API returns immediately with a task_id (async) or batch_id (batch) — no waiting for the template to finish.
2

Nimble processes in the background

The template runs asynchronously. For batch, each input becomes an independent task processed in parallel.
3

Receive results your way

Choose how results are delivered:
  • Polling — check task status and fetch results on demand
  • Webhook — get notified automatically when a task completes
  • Cloud storage — results saved directly to your S3 or GCS bucket
For setup instructions and code examples, see the Callbacks & Delivery guide.

Async

Submit a single template request and receive a task_id immediately. Retrieve results via polling, webhook, or cloud storage.

Parameters

Accepts all Template parameters, plus async-specific delivery options:
  • template (required) — The template to run
  • params (required) — Template-specific input parameters
  • localization — Enable location-based data
  • formats — Output formats: html, markdown, headers
Async-specific parameters:
storage_type
string
Storage provider for results. When specified, results are saved to your cloud storage instead of Nimble’s servers.Options: s3 (Amazon S3), gs (Google Cloud Storage)
storage_url
string
Bucket path where results will be saved. Results are stored as {task_id}.json at the specified location.Format: s3://your-bucket/path/prefix/
storage_compress
boolean
default:"false"
Compress results with GZIP before saving. When true, results are saved as {task_id}.json.gz.
storage_object_name
string
Custom filename for the stored object instead of the default task ID.Example: "my-custom-name" saves as my-custom-name.json
callback_url
string
Webhook URL to receive a POST request when the task completes. Nimble sends task metadata (without result data) to this URL when the template finishes.Example: https://your-api.com/webhook/complete
The endpoint returns immediately with a task ID:

Status & Results

When polling, the typical flow is:
  1. Poll GET /v2/tasks/{task_id} until state: "success"
  2. Call GET /v2/tasks/{task_id}/results to retrieve the extracted data
Task states:

Batch

Submit up to 1,000 template requests in a single request. Each input runs as an independent async task. Use shared_inputs to set the template and common settings — individual items in inputs can override params per item.

Parameters

inputs
array
required
Array of per-item inputs. Supports up to 1,000 items per batch. template is not set here — it must be in shared_inputs and applies to all items.Each item supports:
  • params — Template-specific inputs for this item (e.g. asin, keyword). Merged with shared_inputs.params — keys in inputs[i].params take priority on conflicts.
  • localization — Override the shared localization setting for this item
  • formats — Override the shared formats setting for this item
shared_inputs
object
required
Shared configuration applied to all items in the batch. Each batch runs a single template — template is required here and cannot be set per item.
  • template (required) — The template to run for all items
  • params — Default template params and delivery options, merged with each item’s params. Per-item values win on conflicts.
  • localization — Default localization setting for all items (overridable per item)
  • formats — Default output formats for all items (overridable per item)
Delivery options (set inside params):
  • storage_types3 or gs
  • storage_url — bucket path for results
  • storage_compress — GZIP compress results
  • callback_url — webhook on completion

Examples

Run the same template for multiple search terms with S3 delivery:
Extract product details for many ASINs at once:
The endpoint returns immediately with a batch_id and the initial task list:

Status & Results

When polling, the typical flow is:
  1. Poll /v2/batches/{batch_id}/progress until completed: true
  2. Fetch /v2/batches/{batch_id} to get all task IDs and states
  3. For each success task, call GET /v2/tasks/{task_id}/results
Batch states:
1

Poll for batch completion

Call /v2/batches/{batch_id}/progress repeatedly until completed: true. This is a lightweight endpoint — use it for polling.
2

Fetch the full batch details

Once completed: true, fetch the batch details to get all task IDs, states, and download URLs.
3

Retrieve results per task

Iterate over the task list and call GET /v2/tasks/{task_id}/results for each success task.

Browse pre-built templates maintained by Nimble for popular platforms:

Explore Full Gallery

Browse all templates with interactive documentation and live testing

E-commerce

Search Engines

LLM Platforms

Social Media

Response Fields

Use cases

Price Monitoring

Track prices across Amazon, Walmart, and other retailers with consistent data formats

Product Research

Gather comprehensive product data from major e-commerce platforms

Search Tracking

Monitor Google, Bing, and marketplace search results for SEO and visibility

Competitive Intelligence

Extract competitor data from popular sites using pre-built templates

Templates vs other tools

Templates cover popular sites with zero configuration. For any other site, use Extract with your own parsing — or install the Nimble plugin and let your AI coding assistant build the request.

Next steps

Browse the Gallery

Explore pre-built templates for popular sites

Install Plugin

Use Nimble in Claude Code or Cursor — your AI assistant builds requests for you

Extract

Full control with CSS selectors and parsing schemas

Callbacks & Delivery

Deliver async and batch results to your storage or webhook