Apiguru Amazon Data

Live Amazon product, review, search, deal, offer/stock and seller data across 20 marketplaces.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
86%
이름 품질
85%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~8,723토큰 (도구 정의)
~6.2 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 6.81%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "amazon-data": {
      "command": "uvx",
      "args": [
        "apiguru-mcp"
      ]
    }
  }
}

실행 가능한 패키지

pypiapiguru-mcp1.1.39stdio
npmapiguru-mcp1.1.39stdio

원격 엔드포인트

https://mcp.apiguru.app/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (12)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢product_details(asin, geo, compact, fields)

Fetches the complete product record for one ASIN on one marketplace: title, price, star rating, rating count, images, description, feature bullets, variations and category. Price: $0.003 per call. 404 means the ASIN is absent from that marketplace and IS billed. 503 means our fetch failed and is NOT billed - retry. Bullet points and specs are what Amazon shows for the listing; on multi-variant listings they can describe the product family rather than the exact variant. A null field means Amazon did not show it.

입력 스키마

{
  "type": "object",
  "properties": {
    "asin": {
      "description": "Single Amazon ASIN, 10 uppercase alphanumeric characters. Exactly one - comma-separated lists are rejected; use product_details_batch for many.",
      "pattern": "^[A-Z0-9]{10}$",
      "title": "Asin",
      "type": "string"
    },
    "geo": {
      "default": "US",
      "description": "Marketplace country code.",
      "enum": [
        "US",
        "CA",
        "DE",
        "MX",
        "UK",
        "FR",
        "IT",
        "ES",
        "AU",
        "BR",
        "IN",
        "JP",
        "NL",
        "AE",
        "PL",
        "SA",
        "SG",
        "SE",
        "TR",
        "BE"
      ],
      "title": "Geo",
      "type": "string"
    },
    "compact": {
      "default": true,
      "description": "Return the compact record (about 4 KB: identity, price, rating, availability, bullets, category, offer, buy box). false returns the full record (about 75 KB, includes from_manufacturer, tech_specs, product_information, product_reviews).",
      "title": "Compact",
      "type": "boolean"
    },
    "fields": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Comma-separated top-level fields to return instead of the compact set, e.g. \"tech_specs,product_information\". Any response lists what it left out under _omitted_fields.",
      "title": "Fields"
    }
  },
  "required": [
    "asin"
  ],
  "title": "product_detailsArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "success": {
      "default": null,
      "title": "Success"
    },
    "data": {
      "default": null,
      "title": "Data"
    },
    "request_id": {
      "default": null,
      "title": "Request Id"
    }
  },
  "additionalProperties": true,
  "title": "product_details_output"
}
🟢product_reviews(asin, geo, max_reviews)

Returns the review block for one ASIN: overall star rating, total rating count, Amazon's 'customers say' AI summary, and the individual review list. Price: $0.003 per call. Same 404-billed / 503-not-billed semantics as product_details. Takes no filters: it returns the rating, rating count, the 'customers say' summary and the reviews Amazon shows on the product page itself. There is no paging, star filter or sort -- Amazon's review pages require a signed-in customer, and the API does not sign in. For per-star counts read the rating histogram on product_details.

입력 스키마

{
  "type": "object",
  "properties": {
    "asin": {
      "description": "Single Amazon ASIN, 10 uppercase alphanumeric characters.",
      "pattern": "^[A-Z0-9]{10}$",
      "title": "Asin",
      "type": "string"
    },
    "geo": {
      "default": "US",
      "description": "Marketplace country code.",
      "enum": [
        "US",
        "CA",
        "DE",
        "MX",
        "UK",
        "FR",
        "IT",
        "ES",
        "AU",
        "BR",
        "IN",
        "JP",
        "NL",
        "AE",
        "PL",
        "SA",
        "SG",
        "SE",
        "TR",
        "BE"
      ],
      "title": "Geo",
      "type": "string"
    },
    "max_reviews": {
      "default": 10,
      "description": "Cap on individual reviews returned (0 = all). The rating summary and customers_say are always returned; _reviews_total says how many exist.",
      "minimum": 0,
      "title": "Max Reviews",
      "type": "integer"
    }
  },
  "required": [
    "asin"
  ],
  "title": "product_reviewsArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "success": {
      "default": null,
      "title": "Success"
    },
    "data": {
      "default": null,
      "title": "Data"
    },
    "request_id": {
      "default": null,
      "title": "Request Id"
    }
  },
  "additionalProperties": true,
  "title": "product_reviews_output"
}
🟢search(query, page, geo, sort_by, category_id, ...)

Search Amazon products by keyword. Filters: page, sort_by, category_id (browse node), min_price / max_price (decimals), product_condition (NEW / USED / RENEWED), brand, seller_id, today_deals and deal_type (coupons, all_discounts, buy_more_save_more). Every answer carries filters_applied, filters_ignored (with the reason) and available_filters for that marketplace. Price: $0.003 per call. Blank values and the literal string 'null' are treated as unset. Invalid page, sort_by, price, product_condition or deal_type is a free 400 naming the parameter and the allowed values. Condition and deal refinements use per-marketplace node ids captured from Amazon's own search pages; a marketplace that lacks one gets the unfiltered feed plus an entry under filters_ignored, never a silent empty page. `product_num_ratings` and `offers_count` are integers; `product_star_rating`, `product_price` and `product_original_price` are decimal strings; a null field means Amazon did not show it. `is_prime` is true when the result carries a Prime badge or its delivery line offers Prime delivery. `metadata.total_pages` says how far `page` can go. A full page is up to 48 results and about 54 KB; the tool returns the first 10 as light rows by default and the answer carries `_truncated`, `_omitted_fields`, `_projection` and `_notes`. filters_applied echoes the effective sort_by (RELEVANCE when none was sent). A BEST_SELLERS ordering is Amazon's query-scoped popularity, not a category rank: a row's `badges` / `is_best_seller` are what the result card showed for this query, and an ASIN that is #1 in its subcategory can carry no badge here while product_details reports best_seller=true with the rank. For a rank claim, use product_details or best_sellers. An empty `products` list is served as success only when Amazon itself reports 0 results (metadata.total is 0 and `hint` says so). A bot wall, a page we could not parse or anything that is not a results payload is an unbilled, retryable 503 with code upstream_unavailable and a `reason` (wall, parse_fault, unusable); up to three sessions are tried before that answer.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Search keywords. Required and must be non-empty.",
      "minLength": 1,
      "title": "Query",
      "type": "string"
    },
    "page": {
      "default": 1,
      "description": "Result page, 1-based. metadata.total_pages says how far it goes.",
      "minimum": 1,
      "title": "Page",
      "type": "integer"
    },
    "geo": {
      "default": "US",
      "description": "Marketplace country code.",
      "enum": [
        "US",
        "CA",
        "DE",
        "MX",
        "UK",
        "FR",
        "IT",
        "ES",
        "AU",
        "BR",
        "IN",
        "JP",
        "NL",
        "AE",
        "PL",
        "SA",
        "SG",
        "SE",
        "TR",
        "BE"
      ],
      "title": "Geo",
      "type": "string"
    },
    "sort_by": {
      "default": "RELEVANCE",
      "description": "Result ordering.",
      "enum": [
        "RELEVANCE",
        "BEST_SELLERS",
        "LOW_HIGH_PRICE",
        "HIGH_LOW_PRICE",
        "REVIEWS",
        "NEWEST"
      ],
      "title": "Sort By",
      "type": "string"
    },
    "category_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Amazon browse node id to restrict to, e.g. 172282 (Electronics on US). Take one from a best_sellers answer's available_subcategories, a product's category_path, or node= in an Amazon URL. Ids differ per marketplace.",
      "title": "Category Id"
    },
    "min_price": {
      "anyOf": [
        {
          "minimum": 0,
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Lowest price, in the marketplace currency; decimals such as 19.99 are fine.",
      "title": "Min Price"
    },
    "max_price": {
      "anyOf": [
        {
          "minimum": 0,
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Highest price, in the marketplace currency.",
      "title": "Max Price"
    },
    "product_condition": {
      "anyOf": [
        {
          "enum": [
            "NEW",
            "USED",
            "RENEWED"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "NEW, USED or RENEWED (case-insensitive). Applied with the marketplace's own condition node; where a marketplace does not offer one, the answer's filters_ignored says so and available_filters lists what it does offer.",
      "title": "Product Condition"
    },
    "brand": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Brand name as Amazon spells it (case-insensitive), e.g. Samsung.",
      "title": "Brand"
    },
    "seller_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Restrict results to one seller's offers (Amazon seller id).",
      "title": "Seller Id"
    },
    "today_deals": {
      "default": false,
      "description": "Only items in Today's Deals, using that marketplace's own refinement. Where a marketplace has none (amazon.fr on 2026-09-08) it is reported under filters_ignored.",
      "title": "Today Deals",
      "type": "boolean"
    },
    "deal_type": {
      "anyOf": [
        {
          "enum": [
            "today_deals",
            "all_discounts",
            "coupons",
            "buy_more_save_more"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A specific promotion refinement: today_deals, all_discounts, coupons or buy_more_save_more. available_filters.deal_type lists the ones this marketplace has.",
      "title": "Deal Type"
    },
    "limit": {
      "default": 10,
      "description": "How many search results to return from this page (0 = all of them). A full page is up to 48 rows and about 54 KB, which most clients spill to a file instead of showing inline. The answer carries _truncated with the true count when it trims.",
      "minimum": 0,
      "title": "Limit",
      "type": "integer"
    },
    "compact": {
      "default": true,
      "description": "Return light rows: identity, price, rating, badges and one delivery_date, dropping the long delivery prose that repeats itself across three fields. false returns every field the REST API sends (roughly 3x the size).",
      "title": "Compact",
      "type": "boolean"
    },
    "fields": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Comma-separated row fields to return instead of the light set, e.g. \"asin,product_title,product_price\". Rows list what they left out under _omitted_fields.",
      "title": "Fields"
    }
  },
  "required": [
    "query"
  ],
  "title": "searchArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "success": {
      "default": null,
      "title": "Success"
    },
    "metadata": {
      "default": null,
      "title": "Metadata"
    },
    "filters_applied": {
      "default": null,
      "title": "Filters Applied"
    },
    "filters_ignored": {
      "default": null,
      "title": "Filters Ignored"
    },
    "available_filters": {
      "default": null,
      "title": "Available Filters"
    },
    "products": {
      "default": null,
      "title": "Products"
    },
    "amazon_request_count": {
      "default": null,
      "title": "Amazon Request Count"
    },
    "request_id": {
      "default": null,
      "title": "Request Id"
    }
  },
  "additionalProperties": true,
  "title": "search_output"
}
🟢product_details_batch(asins, geo, compact, fields)

Batch variant of product_details. Accepts a comma-separated ASIN list, deduplicates it, and fetches all of them concurrently. Far cheaper and faster than N single calls. Price: $0.0024 per item (max 20). Billed per ASIN processed, including ones that come back not-found. More than 20 ASINs returns 413. Bullet points and specs are what Amazon shows for the listing; on multi-variant listings they can describe the product family rather than the exact variant. A null field means Amazon did not show it.

입력 스키마

{
  "type": "object",
  "properties": {
    "asins": {
      "description": "Comma-separated ASIN list, maximum 20 after de-duplication. Each must be 10 uppercase alphanumeric characters.",
      "pattern": "^[A-Z0-9]{10}(,[A-Z0-9]{10})*$",
      "title": "Asins",
      "type": "string"
    },
    "geo": {
      "default": "US",
      "description": "Marketplace country code.",
      "enum": [
        "US",
        "CA",
        "DE",
        "MX",
        "UK",
        "FR",
        "IT",
        "ES",
        "AU",
        "BR",
        "IN",
        "JP",
        "NL",
        "AE",
        "PL",
        "SA",
        "SG",
        "SE",
        "TR",
        "BE"
      ],
      "title": "Geo",
      "type": "string"
    },
    "compact": {
      "default": true,
      "description": "Return the compact record (about 4 KB: identity, price, rating, availability, bullets, category, offer, buy box). false returns the full record (about 75 KB, includes from_manufacturer, tech_specs, product_information, product_reviews).",
      "title": "Compact",
      "type": "boolean"
    },
    "fields": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Comma-separated top-level fields to return instead of the compact set, e.g. \"tech_specs,product_information\". Any response lists what it left out under _omitted_fields.",
      "title": "Fields"
    }
  },
  "required": [
    "asins"
  ],
  "title": "product_details_batchArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "results": {
      "default": null,
      "title": "Results"
    },
    "billable_requests_count": {
      "default": null,
      "title": "Billable Requests Count"
    },
    "amazon_request_count": {
      "default": null,
      "title": "Amazon Request Count"
    },
    "response_time": {
      "default": null,
      "title": "Response Time"
    },
    "country_code": {
      "default": null,
      "title": "Country Code"
    },
    "request_id": {
      "default": null,
      "title": "Request Id"
    }
  },
  "additionalProperties": true,
  "title": "product_details_batch_output"
}
🟢offers_stock(asins, geo, check_inventory, offers_count, condition)

Returns the current offer list per ASIN (seller, price, condition, buy-box winner) and, optionally, the actual purchasable stock quantity. Price: $0.0045 per item (max 10). Billed per upstream Amazon request, which is more than one per ASIN when check_inventory is true. offers_count=winner returns only the offer flagged is_buybox_winner (offers_total keeps the full count); it used to scope only the inventory check and return every offer. /scrape is a legacy alias for the same handler.

입력 스키마

{
  "type": "object",
  "properties": {
    "asins": {
      "description": "Comma-separated ASIN list, maximum 10. Each must be 10 uppercase alphanumeric characters; malformed entries are rejected with 400.",
      "pattern": "^[A-Z0-9]{10}(,[A-Z0-9]{10})*$",
      "title": "Asins",
      "type": "string"
    },
    "geo": {
      "default": "US",
      "description": "Marketplace country code.",
      "enum": [
        "US",
        "CA",
        "DE",
        "MX",
        "UK",
        "FR",
        "IT",
        "ES",
        "AU",
        "BR",
        "IN",
        "JP",
        "NL",
        "AE",
        "PL",
        "SA",
        "SG",
        "SE",
        "TR",
        "BE"
      ],
      "title": "Geo",
      "type": "string"
    },
    "check_inventory": {
      "default": false,
      "description": "Resolve the true purchasable stock quantity. Slower and bills more upstream requests, so leave off unless you need the number.",
      "title": "Check Inventory",
      "type": "boolean"
    },
    "offers_count": {
      "default": "all",
      "description": "'all' for every offer (default), 'winner' for the buy-box offer only, or a specific alphanumeric Offer ID. Every offer carries is_buybox_winner; with 'winner' the per-ASIN data holds that one offer and offers_total says how many exist. An ASIN with no featured offer answers an empty list with an explanatory error. The response echoes filters_applied.",
      "title": "Offers Count",
      "type": "string"
    },
    "condition": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Comma-separated condition filter: ALL, NEW, USED_LIKE_NEW, USED_VERY_GOOD, USED_GOOD, USED_ACCEPTABLE (case-insensitive). Omit for every offer. An unknown value is a free 400 listing the allowed ones; it used to be silently treated as ALL.",
      "title": "Condition"
    }
  },
  "required": [
    "asins"
  ],
  "title": "offers_stockArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "results": {
      "default": null,
      "title": "Results"
    },
    "filters_applied": {
      "default": null,
      "title": "Filters Applied"
    },
    "amazon_request_count": {
      "default": null,
      "title": "Amazon Request Count"
    },
    "response_time": {
      "default": null,
      "title": "Response Time"
    },
    "country_code": {
      "default": null,
      "title": "Country Code"
    },
    "request_id": {
      "default": null,
      "title": "Request Id"
    }
  },
  "additionalProperties": true,
  "title": "offers_stock_output"
}
🟢best_sellers(category, subcategory_code, page, geo, limit, ...)

Best-seller rankings for a department of one marketplace, 50 per page. Every answer carries the department it resolved to and how (category_resolution: by slug, name or a fragment of a name, with a hint when a fragment such as 'shoes' landed on the whole 'Clothing, Shoes & Jewelry' department), available_categories (that marketplace's departments with slugs) and available_subcategories (the children of the node shown, with the ids subcategory_code takes). On amazon.com subcategory_code also takes any browse node id at any depth, or a name resolved under the department ("women's shoes", "mules & clogs"); category.subcategory_path gives the node's full path and category.heading the page's own title line. Price: $0.003 per call. No required parameters - calling it bare returns US appliances page 1. `category` accepts a slug, a display name, one of the older US department names, or a unique fragment; category_resolution.via says which, and a fragment match adds a hint naming the subcategories that carry the word, with ids. On amazon.com the whole browse tree is known: subcategory_code takes any node id or a name at any depth, subcategory_name and subcategory_path are filled without a fetch, and available_subcategories lists the node's real children (empty on a leaf). Other marketplaces name only what their navigation showed. page is capped at 5 (a 400 beyond, not a 500). `rank` is the position within the requested list on this page. Rows are the same for every marketplace; only the department vocabulary differs, and the answer carries it.

입력 스키마

{
  "type": "object",
  "properties": {
    "category": {
      "default": "appliances",
      "description": "Best-seller department, by slug or by name as Amazon shows it for that marketplace (case-insensitive; a unique fragment works, and the answer's category_resolution says when a fragment was used -- 'shoes' is the whole 'Clothing, Shoes & Jewelry' department, and the hint then lists the Shoes subcategories with their ids). Departments and their slugs differ per marketplace: amazon.com has electronics, amazon.de has ce-de (Electronics & Photo). Every answer lists that marketplace's departments under available_categories; an unknown or ambiguous name is a free 400 listing them.",
      "title": "Category",
      "type": "string"
    },
    "subcategory_code": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Browse node id under `category`: one from available_subcategories of a previous answer, or on amazon.com any node id at any depth (679410011 is Women > Shoes > Mules & Clogs) or a name resolved under the department (\"women's shoes\", \"mens boots\", \"mules & clogs\"). A name that fits two nodes equally (Men > Shoes > Boots and Women > Shoes > Boots) is a free 400 listing both ids with their paths.",
      "title": "Subcategory Code"
    },
    "page": {
      "default": 1,
      "description": "Result page, 1-based, 50 rows each; Amazon's lists stop at page 5.",
      "maximum": 5,
      "minimum": 1,
      "title": "Page",
      "type": "integer"
    },
    "geo": {
      "default": "US",
      "description": "Marketplace country code.",
      "enum": [
        "US",
        "CA",
        "DE",
        "MX",
        "UK",
        "FR",
        "IT",
        "ES",
        "AU",
        "BR",
        "IN",
        "JP",
        "NL",
        "AE",
        "PL",
        "SA",
        "SG",
        "SE",
        "TR",
        "BE"
      ],
      "title": "Geo",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "description": "How many ranked products to return from this page (0 = all of them). A full page is up to 48 rows and about 54 KB, which most clients spill to a file instead of showing inline. The answer carries _truncated with the true count when it trims.",
      "minimum": 0,
      "title": "Limit",
      "type": "integer"
    },
    "compact": {
      "default": true,
      "description": "Return light rows: identity, price, rating, badges and one delivery_date, dropping the long delivery prose that repeats itself across three fields. false returns every field the REST API sends (roughly 3x the size).",
      "title": "Compact",
      "type": "boolean"
    },
    "fields": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Comma-separated row fields to return instead of the light set, e.g. \"asin,product_title,product_price\". Rows list what they left out under _omitted_fields.",
      "title": "Fields"
    }
  },
  "title": "best_sellersArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "success": {
      "default": null,
      "title": "Success"
    },
    "category": {
      "default": null,
      "title": "Category"
    },
    "category_resolution": {
      "default": null,
      "title": "Category Resolution"
    },
    "page": {
      "default": null,
      "title": "Page"
    },
    "page_size": {
      "default": null,
      "title": "Page Size"
    },
    "max_page": {
      "default": null,
      "title": "Max Page"
    },
    "available_categories": {
      "default": null,
      "title": "Available Categories"
    },
    "available_subcategories": {
      "default": null,
      "title": "Available Subcategories"
    },
    "data": {
      "default": null,
      "title": "Data"
    },
    "request_id": {
      "default": null,
      "title": "Request Id"
    }
  },
  "additionalProperties": true,
  "title": "best_sellers_output"
}
🟢deals(geo, offset, categories, brands, min_product_star_rating, ...)

Returns the current Amazon deals feed: ASIN, title, deal price, list price, discount, deal badge, start/end time and product links. Filter by department (categories), brand id (brands), rating cut-off, price bounds, minimum discount and Prime program. Every answer carries available_filters (the category and brand ids this marketplace accepts, with names), filters_applied / filters_ignored (what took effect) and next_offset (the next page, null when the feed ends). Price: $0.003 per call. Filters are by id: categories takes a department id or name, brands takes brand ids only; available_filters in every answer lists both with names, and filters_applied / filters_ignored report what Amazon honoured. A page is 30 rows; page with offset=next_offset (null when exhausted); total_count caps at 500. min_price, max_price, min_discount and max_discount are applied to the rows after the fetch, scanning up to 3 upstream pages per call, so a page can hold fewer than 30 rows and total_count does not reflect them. An empty answer carries a hint saying why. Deal prices expire: check deal_ends_at. The older price_range and discount_range parameters are still accepted, as buckets (1-5 = under 25 / 25-50 / 50-100 / 100-200 / 200 and up; 1-4 = 10 / 25 / 50 / 70 percent off or more) or as bands such as 25-50 and 70+.

입력 스키마

{
  "type": "object",
  "properties": {
    "geo": {
      "default": "US",
      "description": "Marketplace country code.",
      "enum": [
        "US",
        "CA",
        "DE",
        "MX",
        "UK",
        "FR",
        "IT",
        "ES",
        "AU",
        "BR",
        "IN",
        "JP",
        "NL",
        "AE",
        "PL",
        "SA",
        "SG",
        "SE",
        "TR",
        "BE"
      ],
      "title": "Geo",
      "type": "string"
    },
    "offset": {
      "default": 0,
      "description": "Row to start at. A page is 30 rows; pass the previous answer's next_offset for the next page.",
      "minimum": 0,
      "title": "Offset",
      "type": "integer"
    },
    "categories": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Department to restrict to: its id from available_filters.categories, or its name as Amazon shows it for that marketplace (case-insensitive; a unique fragment such as \"electronics\" works). US departments: Amazon Devices & Accessories, Appliances, Arts Crafts & Sewing, Audible Books & Originals, Automotive, Baby Products, Beauty & Personal Care, Books, CDs & Vinyl, Cell Phones & Accessories, Clothing Shoes & Jewelry, Collectibles & Fine Art, Electronics, Everything Else, Grocery & Gourmet Food, Handmade Products, Health & Household, Home & Kitchen, Industrial & Scientific, Kindle Store, Movies & TV, Musical Instruments, Office Products, Patio Lawn & Garden, Pet Supplies, Software, Sports & Outdoors, Tools & Home Improvement, Toys & Games, Video Games. Other marketplaces use their own localised names -- read them from available_filters.categories of any deals answer for that geo. An unknown name is a free 400 listing the valid names.",
      "title": "Categories"
    },
    "brands": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Comma-separated brand ids, e.g. 46655 for Samsung on US. Take them from brand_id on any deals row or from available_filters.brands (the brands present in the current result). Names resolve only when this marketplace has already shown that brand; for a brand by name use /search with brand=<name> and today_deals=true instead.",
      "title": "Brands"
    },
    "min_product_star_rating": {
      "anyOf": [
        {
          "enum": [
            "4",
            "ALL"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Amazon's deals feed offers one rating cut-off: 4 = four stars and up. ALL or omitted = no cut-off. Other values are rejected with a free 400.",
      "title": "Min Product Star Rating"
    },
    "min_price": {
      "anyOf": [
        {
          "minimum": 0,
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Lowest deal price to return, in the marketplace currency. Applied to the fetched rows; see notes.",
      "title": "Min Price"
    },
    "max_price": {
      "anyOf": [
        {
          "minimum": 0,
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Highest deal price to return, in the marketplace currency.",
      "title": "Max Price"
    },
    "min_discount": {
      "anyOf": [
        {
          "maximum": 100,
          "minimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Smallest discount percentage to return, e.g. 50 for half price or better.",
      "title": "Min Discount"
    },
    "max_discount": {
      "anyOf": [
        {
          "maximum": 100,
          "minimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Largest discount percentage to return.",
      "title": "Max Discount"
    },
    "prime_exclusive": {
      "default": false,
      "description": "Only deals in Amazon's Prime Exclusive program.",
      "title": "Prime Exclusive",
      "type": "boolean"
    },
    "prime_early_access": {
      "default": false,
      "description": "Only Prime Early Access deals. A marketplace lists the programs it is running under available_filters.prime_programs; when Early Access is not running the answer is empty with a hint saying so.",
      "title": "Prime Early Access",
      "type": "boolean"
    },
    "limit": {
      "default": 10,
      "description": "How many deals to return from this page (0 = all of them). A full page is 30 rows and roughly 35 KB with every field, which most clients spill to a file instead of showing inline. The answer carries _truncated with the true count when it trims.",
      "minimum": 0,
      "title": "Limit",
      "type": "integer"
    },
    "compact": {
      "default": true,
      "description": "Return light rows: identity, prices, discount, badge, end time, links, brand_id and department_ids, dropping the image arrays. false returns every field the REST API sends.",
      "title": "Compact",
      "type": "boolean"
    },
    "fields": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Comma-separated row fields to return instead of the light set, e.g. \"asin,product_title,product_price\". Rows list what they left out under _omitted_fields.",
      "title": "Fields"
    }
  },
  "title": "dealsArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "success": {
      "default": null,
      "title": "Success"
    },
    "deals": {
      "default": null,
      "title": "Deals"
    },
    "amazon_request_count": {
      "default": null,
      "title": "Amazon Request Count"
    },
    "request_id": {
      "default": null,
      "title": "Request Id"
    }
  },
  "additionalProperties": true,
  "title": "deals_output"
}
🟢seller_profile_batch(seller_ids, geo)

Returns the storefront profile for each seller id: business name, rating, feedback counts, address and marketplace presence. Price: $0.0036 per item (max 10). Seller ID validation is all-or-nothing: one malformed id rejects the entire request with 400. Every row in results is an object with `status`: `ok` (the profile), `not_found` (Amazon has no page for that id on this marketplace; billed, like a 404) or `unavailable` (Amazon served nothing usable on any route; NOT billed on the keyed path, `retryable: true`). A row is never null. billable_requests_count counts ok + not_found rows; on the pay-per-call rail the per-item quote is settled up front, so retry `unavailable` ids in a separate call rather than expecting a partial refund.

입력 스키마

{
  "type": "object",
  "properties": {
    "seller_ids": {
      "description": "Comma-separated seller IDs, maximum 10. Each must be 13-15 alphanumeric characters or the whole call 400s.",
      "pattern": "^[A-Za-z0-9]{13,15}(,[A-Za-z0-9]{13,15})*$",
      "title": "Seller Ids",
      "type": "string"
    },
    "geo": {
      "default": "US",
      "description": "Marketplace country code.",
      "enum": [
        "US",
        "CA",
        "DE",
        "MX",
        "UK",
        "FR",
        "IT",
        "ES",
        "AU",
        "BR",
        "IN",
        "JP",
        "NL",
        "AE",
        "PL",
        "SA",
        "SG",
        "SE",
        "TR",
        "BE"
      ],
      "title": "Geo",
      "type": "string"
    }
  },
  "required": [
    "seller_ids"
  ],
  "title": "seller_profile_batchArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "results": {
      "default": null,
      "title": "Results"
    },
    "billable_requests_count": {
      "default": null,
      "title": "Billable Requests Count"
    },
    "unavailable": {
      "default": null,
      "title": "Unavailable"
    },
    "note": {
      "default": null,
      "title": "Note"
    },
    "amazon_request_count": {
      "default": null,
      "title": "Amazon Request Count"
    },
    "response_time": {
      "default": null,
      "title": "Response Time"
    },
    "country_code": {
      "default": null,
      "title": "Country Code"
    },
    "request_id": {
      "default": null,
      "title": "Request Id"
    }
  },
  "additionalProperties": true,
  "title": "seller_profile_batch_output"
}
🟢seller_products(seller_id, query, page, geo, sort_by, ...)

Products listed by a seller: a storefront search. Takes the same filters as search -- query, page, sort_by, category_id, min_price / max_price, product_condition, brand, today_deals, deal_type -- and answers with filters_applied, filters_ignored and available_filters like search does. Price: $0.003 per call. Unlike seller_profile_batch, seller_id format is not pattern-validated here. metadata.total_pages says how far page goes (48 rows a page). Invalid sort_by, price, product_condition or deal_type is a free 400 that lists the allowed values.

입력 스키마

{
  "type": "object",
  "properties": {
    "seller_id": {
      "description": "Restrict results to one seller's offers (Amazon seller id).",
      "title": "Seller Id",
      "type": "string"
    },
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional keywords to search within this seller's storefront.",
      "title": "Query"
    },
    "page": {
      "default": 1,
      "description": "Result page, 1-based. metadata.total_pages says how far it goes.",
      "minimum": 1,
      "title": "Page",
      "type": "integer"
    },
    "geo": {
      "default": "US",
      "description": "Marketplace country code.",
      "enum": [
        "US",
        "CA",
        "DE",
        "MX",
        "UK",
        "FR",
        "IT",
        "ES",
        "AU",
        "BR",
        "IN",
        "JP",
        "NL",
        "AE",
        "PL",
        "SA",
        "SG",
        "SE",
        "TR",
        "BE"
      ],
      "title": "Geo",
      "type": "string"
    },
    "sort_by": {
      "default": "RELEVANCE",
      "description": "Result ordering.",
      "enum": [
        "RELEVANCE",
        "BEST_SELLERS",
        "LOW_HIGH_PRICE",
        "HIGH_LOW_PRICE",
        "REVIEWS",
        "NEWEST"
      ],
      "title": "Sort By",
      "type": "string"
    },
    "category_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Amazon browse node id to restrict to, e.g. 172282 (Electronics on US). Take one from a best_sellers answer's available_subcategories, a product's category_path, or node= in an Amazon URL. Ids differ per marketplace.",
      "title": "Category Id"
    },
    "min_price": {
      "anyOf": [
        {
          "minimum": 0,
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Lowest price, in the marketplace currency; decimals such as 19.99 are fine.",
      "title": "Min Price"
    },
    "max_price": {
      "anyOf": [
        {
          "minimum": 0,
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Highest price, in the marketplace currency.",
      "title": "Max Price"
    },
    "product_condition": {
      "anyOf": [
        {
          "enum": [
            "NEW",
            "USED",
            "RENEWED"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "NEW, USED or RENEWED (case-insensitive). Applied with the marketplace's own condition node; where a marketplace does not offer one, the answer's filters_ignored says so and available_filters lists what it does offer.",
      "title": "Product Condition"
    },
    "brand": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Brand name as Amazon spells it (case-insensitive), e.g. Samsung.",
      "title": "Brand"
    },
    "today_deals": {
      "default": false,
      "description": "Only items in Today's Deals, using that marketplace's own refinement. Where a marketplace has none (amazon.fr on 2026-09-08) it is reported under filters_ignored.",
      "title": "Today Deals",
      "type": "boolean"
    },
    "deal_type": {
      "anyOf": [
        {
          "enum": [
            "today_deals",
            "all_discounts",
            "coupons",
            "buy_more_save_more"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A specific promotion refinement: today_deals, all_discounts, coupons or buy_more_save_more. available_filters.deal_type lists the ones this marketplace has.",
      "title": "Deal Type"
    },
    "limit": {
      "default": 10,
      "description": "How many the seller's products to return from this page (0 = all of them). A full page is up to 48 rows and about 54 KB, which most clients spill to a file instead of showing inline. The answer carries _truncated with the true count when it trims.",
      "minimum": 0,
      "title": "Limit",
      "type": "integer"
    },
    "compact": {
      "default": true,
      "description": "Return light rows: identity, price, rating, badges and one delivery_date, dropping the long delivery prose that repeats itself across three fields. false returns every field the REST API sends (roughly 3x the size).",
      "title": "Compact",
      "type": "boolean"
    },
    "fields": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Comma-separated row fields to return instead of the light set, e.g. \"asin,product_title,product_price\". Rows list what they left out under _omitted_fields.",
      "title": "Fields"
    }
  },
  "required": [
    "seller_id"
  ],
  "title": "seller_productsArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "success": {
      "default": null,
      "title": "Success"
    },
    "data": {
      "default": null,
      "title": "Data"
    },
    "request_id": {
      "default": null,
      "title": "Request Id"
    }
  },
  "additionalProperties": true,
  "title": "seller_products_output"
}
🟢seller_reviews(seller_id, page, from_rating, to_rating, geo, ...)

Returns paginated seller feedback, optionally filtered to a star-rating window. Price: $0.003 per call. from_rating and to_rating are optional; omit both for unfiltered feedback. A page holds 5 reviews and the answer carries current_page and has_next_page; Amazon exposes no total, so page until has_next_page is false (up to page 100).

입력 스키마

{
  "type": "object",
  "properties": {
    "seller_id": {
      "description": "Amazon seller ID. Required.",
      "title": "Seller Id",
      "type": "string"
    },
    "page": {
      "default": 1,
      "description": "Result page, 1-based, 5 reviews a page; has_next_page in the answer says whether another exists.",
      "minimum": 1,
      "title": "Page",
      "type": "integer"
    },
    "from_rating": {
      "anyOf": [
        {
          "maximum": 5,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Lowest star rating to include, 1-5.",
      "title": "From Rating"
    },
    "to_rating": {
      "anyOf": [
        {
          "maximum": 5,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Highest star rating to include, 1-5.",
      "title": "To Rating"
    },
    "geo": {
      "default": "US",
      "description": "Marketplace country code.",
      "enum": [
        "US",
        "CA",
        "DE",
        "MX",
        "UK",
        "FR",
        "IT",
        "ES",
        "AU",
        "BR",
        "IN",
        "JP",
        "NL",
        "AE",
        "PL",
        "SA",
        "SG",
        "SE",
        "TR",
        "BE"
      ],
      "title": "Geo",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "description": "How many seller reviews to return from this page (0 = all of them). A full page is up to 48 rows and about 54 KB, which most clients spill to a file instead of showing inline. The answer carries _truncated with the true count when it trims.",
      "minimum": 0,
      "title": "Limit",
      "type": "integer"
    },
    "compact": {
      "default": true,
      "description": "Return light rows: identity, price, rating, badges and one delivery_date, dropping the long delivery prose that repeats itself across three fields. false returns every field the REST API sends (roughly 3x the size).",
      "title": "Compact",
      "type": "boolean"
    },
    "fields": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Comma-separated row fields to return instead of the light set, e.g. \"asin,product_title,product_price\". Rows list what they left out under _omitted_fields.",
      "title": "Fields"
    }
  },
  "required": [
    "seller_id"
  ],
  "title": "seller_reviewsArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "success": {
      "default": null,
      "title": "Success"
    },
    "data": {
      "default": null,
      "title": "Data"
    },
    "request_id": {
      "default": null,
      "title": "Request Id"
    }
  },
  "additionalProperties": true,
  "title": "seller_reviews_output"
}
🟢list_capabilities

List every Apiguru endpoint with its price, required parameters and supported marketplaces, plus your current access mode, cache and session budget. Free: answers locally with no network request and no charge. Call this before paid tools if you need to plan.

입력 스키마

{
  "type": "object",
  "properties": {},
  "title": "list_capabilitiesArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_capabilitiesOutput"
}
🟡send_feedback(message, category, endpoint, agent, contact)

Report a bug, ask for a field, or say what would make this API more useful. Free: never billed, no API key needed. Prefer GitHub if you have an account -- an issue at https://github.com/apiguru-app/agent-kit/issues gets a reply on the thread, this wall does not. Use this tool when you have no GitHub account or nothing to attach one to. message: what happened or what you want. Be specific: the tool, the parameters, the field, what you expected, what you got, and the request_id from the answer. One issue per entry -- a five-point list cannot be closed point by point. category: bug | wish | praise | question | other endpoint: which tool or path it is about, e.g. "search". agent: what you are, e.g. "acme-pricing-bot/2.1". Optional. contact: a GitHub handle or email if you want a reply. Shown publicly on the wall. Optional.

입력 스키마

{
  "type": "object",
  "properties": {
    "message": {
      "title": "Message",
      "type": "string"
    },
    "category": {
      "default": "other",
      "title": "Category",
      "type": "string"
    },
    "endpoint": {
      "default": "",
      "title": "Endpoint",
      "type": "string"
    },
    "agent": {
      "default": "",
      "title": "Agent",
      "type": "string"
    },
    "contact": {
      "default": "",
      "title": "Contact",
      "type": "string"
    }
  },
  "required": [
    "message"
  ],
  "title": "send_feedbackArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "send_feedbackOutput"
}

권장 프롬프트

search_research
Search for information about [topic] using Apiguru Amazon Data
예상 도구: search
find_specific
Find [specific item] using Apiguru Amazon Data
예상 도구: search
list_items
List all [items] available in Apiguru Amazon Data
예상 도구: list_capabilities
browse_collection
Show me the [collection] from Apiguru Amazon Data
예상 도구: list_capabilities

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 12개
검증됨버전이 기록되지 않음도구 12개