---
title: "Batch Estimate"
method: POST
path: "/v1/batch-estimate"
---

# Batch Estimate

`POST /v1/batch-estimate`

## Request

- Base URL: `https://api.logimu.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.logimu.com/v1/batch-estimate`
- Auth: none declared

Price a batch before it runs. Free, always — an estimate is never billed. Every kind: product (age histogram,
warehouse / live split), search, the keyed kinds and every other endpoint (2026-10-12: rows x the endpoint's largest
answer, with estimated_live_rows for the live kinds and derived_daily_cap for the capped ones).

## Headers

- `x-api-key` string, nullable
- `authorization` string, nullable

## Request body

- BatchEstimateRequest
  - `kind` string: product (default): a list of ASINs served like /v1/product. search: a list of search TERMS served like /v1/serp — always live, Amazon marketplaces only. seller / brand / category / keywords (paid plans): a list of seller ids / brand names / category ids / seed terms served like /v1/seller, /v1/brand, /v1/category and /v1/keywords. Every other endpoint (2026-10-12): shopping (/v1/shopping, terms), warehouse_search (/v1/search, terms), bestsellers (/v1/bestsellers, urls), offers (/v1/offers, asins), deals (/v1/deals, category_ids = deals department ids or all), seller_products / seller_brands / seller_network (seller_ids), brand_sellers / brand_network (brands), keywords_compare (seeds), categories (category_ids = parent ids or root), category_search (terms) and the ranked lists brands_top / brands_movers / sellers_top / sellers_movers / categories_top (no list - pages); the endpoint's query parameters go in `params`.
  - `asins` string[], nullable: Product batches: ASINs (10-char) — or numeric item IDs for country=walmart.
  - `gtins` string[], nullable: Product batches, instead of asins (2026-10-12): barcodes (UPC / EAN / GTIN / ISBN-13; 8, 12, 13 or 14 digits). Each resolves like /v1/product?gtin= - our observed listings, a book's ISBN-10, the same product on another Amazon marketplace, and in mode auto / live one Amazon search per barcode we cannot place; every row says how (gtin_resolution). Unresolvable barcodes are never billed.
  - `source` string, nullable: Product batches (2026-10-14): tracked = run over every ASIN this key is tracking on the batch's marketplace (POST /v1/track, GET /v1/product?track=true) instead of an asins list - typically with include ["history_only"], the 0.05-credit daily series pull. Amazon only.
  - `terms` string[], nullable: Search batches: the search terms (one live Amazon SERP fetch per term per page). shopping / warehouse_search: the queries (one /v1/shopping or /v1/search call each). category_search: category names.
  - `seller_ids` string[], nullable: seller / seller_products / seller_brands / seller_network batches: Amazon seller ids (A + 8-24 letters/digits).
  - `brands` string[], nullable: brand / brand_sellers / brand_network batches: brand names as Amazon prints them (case-insensitive).
  - `category_ids` union[], nullable: category batches: the warehouse's category ids (list them with /v1/categories or /v1/categories/search). categories batches: parent ids, or root for the top level. deals batches: deals department ids (categories[] of a /v1/deals answer), or all for the whole deals page.
    - union
      - string
      - integer
  - `seeds` string[], nullable: keywords / keywords_compare batches: seed terms or prefixes (3-120 characters) served like /v1/keywords or /v1/keywords/compare.
  - `pages` integer, nullable: Search batches: pages fetched per term (1-3, default 1), billed per page ACTUALLY fetched. Ranked-list batches (brands_top, brands_movers, sellers_top, sellers_movers, categories_top): how many pages of 25 rows to take (1-40, default 1) - one result row per page.
  - `urls` string[], nullable: Best Sellers batches: Amazon Best Sellers URLs (a category or a marketplace root), one per line, all on the batch's marketplace.
  - `params` object, nullable: Endpoint batches: the query parameters of the endpoint the batch runs, fixed for every row (e.g. shopping {"limit": 50, "detail": true}, bestsellers {"pages": 1}, brands_top {"sort": "revenue"}). Validated like the endpoint's own parameters; unknown names are a 422.
  - `country` string: us, uk, de, ca, au, fr, it, es, jp, mx, br, walmart
  - `mode` string, nullable: Product and seller batches (default auto); seller_products batches: cache (default) or live. Every other kind is served the way its endpoint serves it - sending a mode there is a 422.
  - `max_age_days` integer
  - `include` string[], nullable: Optional extras: ["history"] (seller / brand / category batches) attaches the endpoint's history block at +0.5 per row when it comes back; ["reviews"] (product batches) adds the featured-review set to each JSONL row (free); ["used"] (product batches) adds the used / refurbished / open-box / collectible offers to current_sellers and, with offer_history, the per-condition series (free, 2026-09-28); ["offer_history"] / ["bsr_history"] (product batches, Amazon only) attach the history blocks to each JSONL row, included in the row price (no extra credits); ["history_only"] (product batches, Amazon only) returns ONLY the stored series per row (bsr_history + offer_history + buybox_price_history) at 0.05 credit, any age, stored data only - the batch runs as cache; ["blocks"] (search batches) adds ad_blocks/video_blocks/brand_stores (free).
  - `history_sellers` integer: With include offer_history: sellers carrying a point series per row (default 10, max 50).
  - `history_points` integer: With include offer_history: points per series (most recent observed days; default 500, max 20,000). Wider series are included too - no extra credits.

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/logimu/apis/logimu-api.md) · [All operations](https://skmtc.dev/logimu/apis/logimu-api/llms.txt) · [OpenAPI document](https://skmtc.dev/logimu/apis/logimu-api/revisions/3d3f90ad2335?raw)
