Real-time Amazon product, seller, and search data for AI agents across 21 marketplaces.
com.easyparser/easyparser MCP Server
The com.easyparser/easyparser MCP server provides real-time, structured Amazon product, seller, and search data for AI agents. It operates across 21 marketplaces via the Model Context Protocol, exposing information such as product details and seller offers, plus search results and sales history.
🛠️ Key Features
Real-time Amazon product data
Seller offers data
Amazon search results
12-month sales history
Best Sellers Rank
Package dimensions
21 marketplaces supported
Tooling available: 16 tools
🚀 Use Cases
Retrieve up-to-date product details from Amazon
Collect seller offers for specific products
Query and use Amazon search results in workflows
Analyze product performance using 12-month sales history and BSR
Use package dimensions for logistics or data normalization
⚡ Developer Benefits
Structured outputs suitable for AI agents
Cross-marketplace coverage (21 marketplaces)
Access through MCP for consistent tool integration
⚠️ Limitations
Scope is limited to Amazon data across the listed 21 marketplaces
Captured live from the server via tools/list.
get_product_detail
Fetch complete, structured information about a single Amazon product: title, brand, images, feature bullets, description, Buy Box price and availability, Prime eligibility, rating and review count, Best Sellers Rank, category path, variants, specifications, and top reviews. This is the primary tool for product analysis, listing enrichment, and price monitoring.
Use this tool when you need a full product profile. If you only need competing seller prices, use get_product_offers instead (cheaper context). If you only need the sales rank, use get_bestseller_rank. If you only need shipping dimensions or the FBA fee category, use get_package_dimensions.
Provide EITHER the identifier field OR url — never both. Costs 1 credit; set a_plus_content to true only when the user explicitly asks about enhanced brand content, as it costs 1 extra credit.
Parameters7
asin
string
optional
Amazon Standard Identification Number — a 10-character alphanumeric product identifier (e.g. B0CJB6V2L5). Found in the product URL after /dp/ or /gp/product/.
url
string
optional
Full Amazon product URL (e.g. https://www.amazon.com/dp/B0CJB6V2L5). Use this when the user pastes a link instead of an ASIN.
domain
string
optional
Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces.
language
string
optional
Language code for the Amazon page, in locale format (e.g. en_US, de_DE, tr_TR). Affects the language of titles, descriptions and reviews in the response.
currency
string
optional
ISO currency code for price display (e.g. usd, eur, try). Prices are converted by Amazon's own display logic.
a_plus_content
boolean
optional
Set true to include the 'From the manufacturer' A+ enhanced brand content. Costs 1 additional credit. Default false.
seller_id
string
optional
Fetch the product as offered by a specific seller (their Seller ID). Only use when the user asks about a specific merchant's offer.
Raw schema
{
"type": "object",
"properties": {
"asin": {
"type": "string",
"pattern": "^[A-Z0-9]{10}$",
"description": "Amazon Standard Identification Number — a 10-character alphanumeric product identifier (e.g. B0CJB6V2L5). Found in the product URL after /dp/ or /gp/product/."
},
"url": {
"type": "string",
"format": "uri",
"description": "Full Amazon product URL (e.g. https://www.amazon.com/dp/B0CJB6V2L5). Use this when the user pastes a link instead of an ASIN."
},
"domain": {
"type": "string",
"enum": [
".com",
".co.uk",
".de",
".fr",
".it",
".es",
".ca",
".com.mx",
".com.br",
".co.jp",
".in",
".com.au",
".ae",
".sa",
".nl",
".pl",
".se",
".be",
".com.tr",
".sg",
".ie"
],
"default": ".com",
"description": "Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces."
},
"language": {
"type": "string",
"description": "Language code for the Amazon page, in locale format (e.g. en_US, de_DE, tr_TR). Affects the language of titles, descriptions and reviews in the response."
},
"currency": {
"type": "string",
"description": "ISO currency code for price display (e.g. usd, eur, try). Prices are converted by Amazon's own display logic."
},
"a_plus_content": {
"type": "boolean",
"default": false,
"description": "Set true to include the 'From the manufacturer' A+ enhanced brand content. Costs 1 additional credit. Default false."
},
"seller_id": {
"type": "string",
"description": "Fetch the product as offered by a specific seller (their Seller ID). Only use when the user asks about a specific merchant's offer."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
get_product_offers
Fetch the list of seller offers for an Amazon product: every merchant selling the item with their price, shipping cost, condition (new/used), fulfillment type (FBA/FBM), and seller rating. Also returns the Buy Box winner. This is the tool for competitive price analysis, reseller monitoring, and availability tracking.
Use this tool when the question is about WHO sells the product and at WHAT price. If you need the product's own details (title, images, rating), use get_product_detail instead.
Each requested page costs 1 credit. Start with a single page (default) and only increase max_page if the user needs the full offer list. Use the condition and shipping filters to narrow results instead of paginating — it is cheaper.
Parameters7
asin
string
required
Amazon Standard Identification Number — a 10-character alphanumeric product identifier (e.g. B0CJB6V2L5). Found in the product URL after /dp/ or /gp/product/.
domain
string
optional
Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces.
prime
boolean
optional
If true, return only Prime-eligible offers.
free_shipping
boolean
optional
If true, return only offers with free shipping.
condition
string
optional
Filter offers by item condition. Omit to include all conditions.
min_page
integer
optional
Starting page number. Default 1.
max_page
integer
optional
Ending page number. Each page costs 1 credit; max 5 pages per request. Default 1.
Raw schema
{
"type": "object",
"properties": {
"asin": {
"type": "string",
"pattern": "^[A-Z0-9]{10}$",
"description": "Amazon Standard Identification Number — a 10-character alphanumeric product identifier (e.g. B0CJB6V2L5). Found in the product URL after /dp/ or /gp/product/."
},
"domain": {
"type": "string",
"enum": [
".com",
".co.uk",
".de",
".fr",
".it",
".es",
".ca",
".com.mx",
".com.br",
".co.jp",
".in",
".com.au",
".ae",
".sa",
".nl",
".pl",
".se",
".be",
".com.tr",
".sg",
".ie"
],
"default": ".com",
"description": "Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces."
},
"prime": {
"type": "boolean",
"description": "If true, return only Prime-eligible offers."
},
"free_shipping": {
"type": "boolean",
"description": "If true, return only offers with free shipping."
},
"condition": {
"type": "string",
"enum": [
"new",
"used_like_new",
"used_very_good",
"used_good",
"used_acceptable"
],
"description": "Filter offers by item condition. Omit to include all conditions."
},
"min_page": {
"type": "integer",
"minimum": 1,
"default": 1,
"description": "Starting page number. Default 1."
},
"max_page": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 1,
"description": "Ending page number. Each page costs 1 credit; max 5 pages per request. Default 1."
}
},
"required": [
"asin"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
search_products
Search Amazon by keyword or a full search/category URL and get structured product listings: ASIN, title, price, rating, review count, Prime status, and badges (Best Seller, Amazon's Choice) for each result. Also returns the available refinement filters (category, brand, price range) with their IDs.
Use this tool for market research, keyword analysis, and product discovery. If the user already has an ASIN or product URL, do NOT search — use get_product_detail directly.
Each page costs 1 credit. One page typically returns 20-40 products, which is enough for most questions. Use sort_by and exclude_sponsored to improve result quality instead of fetching more pages. To filter by category or brand, first run one search and read the refinements field in the response to discover valid filter IDs, then pass them in refinements.
Parameters10
keyword
string
optional
Search query as a user would type it into Amazon (e.g. 'stainless steel water bottle 40oz'). Mutually exclusive with url.
url
string
optional
Full Amazon search or category URL. Use when the user pastes an Amazon link containing filters. Mutually exclusive with keyword.
domain
string
optional
Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces.
sort_by
string
optional
Result ordering. 'featured' is Amazon's default; 'price-asc-rank' cheapest first; 'price-desc-rank' most expensive; 'review-rank' most reviewed; 'date-desc-rank' newest listings; 'exact-aware-popularity-rank' by popularity.
exclude_sponsored
boolean
optional
If true, removes sponsored (paid ad) products from results. Recommended true for organic market analysis.
refinements
string
optional
Category/attribute filters in Amazon's format: 'n:<category_id>,p_<filter_group>:<filter_id>'. Discover valid IDs from the refinements field of a previous search response. Example: 'n:7141123011,p_123:502215'.
language
string
optional
Language code for the Amazon page, in locale format (e.g. en_US, de_DE, tr_TR). Affects the language of titles, descriptions and reviews in the response.
currency
string
optional
ISO currency code for price display (e.g. usd, eur, try). Prices are converted by Amazon's own display logic.
min_page
integer
optional
Starting page number. Default 1.
max_page
integer
optional
Ending page number. Each page costs 1 credit; max 5 pages per request. Default 1.
Raw schema
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "Search query as a user would type it into Amazon (e.g. 'stainless steel water bottle 40oz'). Mutually exclusive with url."
},
"url": {
"type": "string",
"format": "uri",
"description": "Full Amazon search or category URL. Use when the user pastes an Amazon link containing filters. Mutually exclusive with keyword."
},
"domain": {
"type": "string",
"enum": [
".com",
".co.uk",
".de",
".fr",
".it",
".es",
".ca",
".com.mx",
".com.br",
".co.jp",
".in",
".com.au",
".ae",
".sa",
".nl",
".pl",
".se",
".be",
".com.tr",
".sg",
".ie"
],
"default": ".com",
"description": "Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces."
},
"sort_by": {
"type": "string",
"enum": [
"featured",
"price-asc-rank",
"price-desc-rank",
"review-rank",
"date-desc-rank",
"exact-aware-popularity-rank"
],
"default": "featured",
"description": "Result ordering. 'featured' is Amazon's default; 'price-asc-rank' cheapest first; 'price-desc-rank' most expensive; 'review-rank' most reviewed; 'date-desc-rank' newest listings; 'exact-aware-popularity-rank' by popularity."
},
"exclude_sponsored": {
"type": "boolean",
"default": false,
"description": "If true, removes sponsored (paid ad) products from results. Recommended true for organic market analysis."
},
"refinements": {
"type": "string",
"description": "Category/attribute filters in Amazon's format: 'n:<category_id>,p_<filter_group>:<filter_id>'. Discover valid IDs from the refinements field of a previous search response. Example: 'n:7141123011,p_123:502215'."
},
"language": {
"type": "string",
"description": "Language code for the Amazon page, in locale format (e.g. en_US, de_DE, tr_TR). Affects the language of titles, descriptions and reviews in the response."
},
"currency": {
"type": "string",
"description": "ISO currency code for price display (e.g. usd, eur, try). Prices are converted by Amazon's own display logic."
},
"min_page": {
"type": "integer",
"minimum": 1,
"default": 1,
"description": "Starting page number. Default 1."
},
"max_page": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 1,
"description": "Ending page number. Each page costs 1 credit; max 5 pages per request. Default 1."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
lookup_product
Convert an external product identifier (UPC, EAN, GTIN, ISBN, JAN, MINSAN) into the corresponding Amazon ASIN, with an essential product snapshot. This is the bridge between manufacturer/retail barcodes and the Amazon ecosystem.
Use this tool when the user has a barcode or standard product code and wants to find the matching Amazon listing. Typical workflows: catalog matching, inventory synchronization, converting supplier data into Amazon ASINs. Also accepts ASIN as input type if you need to validate one.
You MUST set identifier_type to match the code you have — guessing the wrong type returns no results. UPC is 12 digits, EAN/GTIN is 13, ISBN is 10 or 13 (books). If the user gives a keyword instead of a code, use search_products instead. Costs 1 credit.
Parameters3
identifier
string
required
The product code value (e.g. '724382975021' for a UPC). Digits only for barcode types.
identifier_type
string
required
The type of code provided. UPC: 12-digit US barcode. EAN/GTIN: 13-digit international barcode. ISBN: book identifier. JAN: Japanese barcode. MINSAN: Italian pharma code. ASIN: Amazon's own identifier.
domain
string
optional
Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces.
Raw schema
{
"type": "object",
"properties": {
"identifier": {
"type": "string",
"description": "The product code value (e.g. '724382975021' for a UPC). Digits only for barcode types."
},
"identifier_type": {
"type": "string",
"enum": [
"ASIN",
"EAN",
"GTIN",
"ISBN",
"JAN",
"MINSAN",
"UPC"
],
"description": "The type of code provided. UPC: 12-digit US barcode. EAN/GTIN: 13-digit international barcode. ISBN: book identifier. JAN: Japanese barcode. MINSAN: Italian pharma code. ASIN: Amazon's own identifier."
},
"domain": {
"type": "string",
"enum": [
".com",
".co.uk",
".de",
".fr",
".it",
".es",
".ca",
".com.mx",
".com.br",
".co.jp",
".in",
".com.au",
".ae",
".sa",
".nl",
".pl",
".se",
".be",
".com.tr",
".sg",
".ie"
],
"default": ".com",
"description": "Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces."
}
},
"required": [
"identifier",
"identifier_type"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
get_sales_history
Retrieve a product's historical performance over up to 12 months: weekly aggregated trends for estimated views/traffic, sales, price, and Best Sellers Rank. This is Easyparser's 'time machine' — the deepest competitive-intelligence tool in this server.
Use this tool for trend forecasting, seasonality analysis, conversion-rate estimation, and investment/sourcing due diligence. Do NOT use it for a simple current price check — get_product_detail is 5x cheaper for that.
IMPORTANT cost rule: the base cost is 5 credits, and each month of history adds 1 credit (3 months = 8 credits, 12 months = 17 credits). Always ask the user how far back they need, or default to 3 months for a quick trend read. The history array in the response is aggregated by WEEK, not by day.
Parameters3
asin
string
required
Amazon Standard Identification Number — a 10-character alphanumeric product identifier (e.g. B0CJB6V2L5). Found in the product URL after /dp/ or /gp/product/.
domain
string
optional
Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces.
history_range
string
optional
Depth of historical data in months. '0' returns only the current snapshot (5 credits). '3', '6', '9', '12' add weekly history at +1 credit per month. Default '0'.
Raw schema
{
"type": "object",
"properties": {
"asin": {
"type": "string",
"pattern": "^[A-Z0-9]{10}$",
"description": "Amazon Standard Identification Number — a 10-character alphanumeric product identifier (e.g. B0CJB6V2L5). Found in the product URL after /dp/ or /gp/product/."
},
"domain": {
"type": "string",
"enum": [
".com",
".co.uk",
".de",
".fr",
".it",
".es",
".ca",
".com.mx",
".com.br",
".co.jp",
".in",
".com.au",
".ae",
".sa",
".nl",
".pl",
".se",
".be",
".com.tr",
".sg",
".ie"
],
"default": ".com",
"description": "Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces."
},
"history_range": {
"type": "string",
"enum": [
"0",
"3",
"6",
"9",
"12"
],
"default": "0",
"description": "Depth of historical data in months. '0' returns only the current snapshot (5 credits). '3', '6', '9', '12' add weekly history at +1 credit per month. Default '0'."
}
},
"required": [
"asin"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
get_bestseller_rank
Get a product's current Best Sellers Rank (BSR): its numerical rank in main categories and sub-category node identifiers. A lightweight, single-purpose tool for popularity and demand tracking.
Use this tool when you only need the rank — e.g. 'Is this product selling well?' or daily rank monitoring. Lower rank number means higher sales velocity. If you also need price, rating or content, use get_product_detail instead (it includes BSR along with everything else). For historical rank trends, use get_sales_history. Costs 1 credit.
Parameters2
asin
string
required
Amazon Standard Identification Number — a 10-character alphanumeric product identifier (e.g. B0CJB6V2L5). Found in the product URL after /dp/ or /gp/product/.
domain
string
optional
Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces.
Raw schema
{
"type": "object",
"properties": {
"asin": {
"type": "string",
"pattern": "^[A-Z0-9]{10}$",
"description": "Amazon Standard Identification Number — a 10-character alphanumeric product identifier (e.g. B0CJB6V2L5). Found in the product URL after /dp/ or /gp/product/."
},
"domain": {
"type": "string",
"enum": [
".com",
".co.uk",
".de",
".fr",
".it",
".es",
".ca",
".com.mx",
".com.br",
".co.jp",
".in",
".com.au",
".ae",
".sa",
".nl",
".pl",
".se",
".be",
".com.tr",
".sg",
".ie"
],
"default": ".com",
"description": "Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces."
}
},
"required": [
"asin"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
get_package_dimensions
Get a product's precise physical and logistical attributes: package height, width, length, weight, and its Amazon fee category (e.g. Computers, Apparel). This is the FBA fee-estimation and shipping-cost tool.
Use this tool when the question is about shipping, storage, FBA fees, or warehouse planning. Do NOT use it for general product info — get_product_detail includes a human-readable dimensions string, but only THIS tool returns the structured fee category and exact measurements needed for fee calculation. Costs 1 credit.
Parameters2
asin
string
required
Amazon Standard Identification Number — a 10-character alphanumeric product identifier (e.g. B0CJB6V2L5). Found in the product URL after /dp/ or /gp/product/.
domain
string
optional
Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces.
Raw schema
{
"type": "object",
"properties": {
"asin": {
"type": "string",
"pattern": "^[A-Z0-9]{10}$",
"description": "Amazon Standard Identification Number — a 10-character alphanumeric product identifier (e.g. B0CJB6V2L5). Found in the product URL after /dp/ or /gp/product/."
},
"domain": {
"type": "string",
"enum": [
".com",
".co.uk",
".de",
".fr",
".it",
".es",
".ca",
".com.mx",
".com.br",
".co.jp",
".in",
".com.au",
".ae",
".sa",
".nl",
".pl",
".se",
".be",
".com.tr",
".sg",
".ie"
],
"default": ".com",
"description": "Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces."
}
},
"required": [
"asin"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
get_seller_profile
Unmask the legal identity and reputation of any Amazon merchant: legal business name, registered business address, and granular feedback trends over 30/90/365 days and lifetime. This is the supplier-verification and brand-protection tool.
Use this tool when the user asks 'who is this seller?', 'is this merchant legitimate?', or needs a supplier's legal entity for compliance or invoicing. To see WHAT the seller sells, use get_seller_products. To read individual buyer reviews about the seller, use get_seller_feedback.
Provide EITHER seller_id OR url — never both. You can discover a product's seller by calling get_product_offers first. Costs 1 credit.
Parameters4
seller_id
string
optional
Amazon's unique seller identifier (e.g. A1MCYUGJD2ILFU). Found in seller profile URLs as the 'seller=' or 'me=' parameter.
url
string
optional
Full Amazon seller profile or storefront URL (e.g. https://www.amazon.com/sp?seller=A1MCYUGJD2ILFU).
domain
string
optional
Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces.
language
string
optional
Language code for the Amazon page, in locale format (e.g. en_US, de_DE, tr_TR). Affects the language of titles, descriptions and reviews in the response.
Raw schema
{
"type": "object",
"properties": {
"seller_id": {
"type": "string",
"minLength": 5,
"description": "Amazon's unique seller identifier (e.g. A1MCYUGJD2ILFU). Found in seller profile URLs as the 'seller=' or 'me=' parameter."
},
"url": {
"type": "string",
"format": "uri",
"description": "Full Amazon seller profile or storefront URL (e.g. https://www.amazon.com/sp?seller=A1MCYUGJD2ILFU)."
},
"domain": {
"type": "string",
"enum": [
".com",
".co.uk",
".de",
".fr",
".it",
".es",
".ca",
".com.mx",
".com.br",
".co.jp",
".in",
".com.au",
".ae",
".sa",
".nl",
".pl",
".se",
".be",
".com.tr",
".sg",
".ie"
],
"default": ".com",
"description": "Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces."
},
"language": {
"type": "string",
"description": "Language code for the Amazon page, in locale format (e.g. en_US, de_DE, tr_TR). Affects the language of titles, descriptions and reviews in the response."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
get_seller_products
Extract a seller's full product catalog: every ASIN they sell with brand, category, price, Prime status, variant counts, and rating data. Also returns dynamic refinement filters (department, shipping, sustainability) for drilling into the catalog.
Use this tool for competitor inventory analysis, stock monitoring, and pricing-strategy research. If you need the seller's legal identity or reputation instead of their products, use get_seller_profile.
Each page costs 1 credit. Start with one page and use sort_by (e.g. 'exact-aware-popularity-rank' for best sellers first) to surface the most relevant products early. Provide EITHER seller_id OR url — never both.
Parameters8
seller_id
string
optional
Amazon's unique seller identifier (e.g. A1MCYUGJD2ILFU). Found in seller profile URLs as the 'seller=' or 'me=' parameter.
url
string
optional
Full Amazon seller profile or storefront URL (e.g. https://www.amazon.com/sp?seller=A1MCYUGJD2ILFU).
domain
string
optional
Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces.
sort_by
string
optional
Catalog ordering. 'featured-rank' is default; 'exact-aware-popularity-rank' sorts by popularity (best sellers first); 'price-asc-rank'/'price-desc-rank' by price; 'date-desc-rank' by newest.
exclude_refinements
boolean
optional
If true, omits the refinement filter list from the response, reducing payload size. Default false.
language
string
optional
Language code for the Amazon page, in locale format (e.g. en_US, de_DE, tr_TR). Affects the language of titles, descriptions and reviews in the response.
min_page
integer
optional
Starting page number. Default 1.
max_page
integer
optional
Ending page number. Each page costs 1 credit; max 5 pages per request. Default 1.
Raw schema
{
"type": "object",
"properties": {
"seller_id": {
"type": "string",
"minLength": 5,
"description": "Amazon's unique seller identifier (e.g. A1MCYUGJD2ILFU). Found in seller profile URLs as the 'seller=' or 'me=' parameter."
},
"url": {
"type": "string",
"format": "uri",
"description": "Full Amazon seller profile or storefront URL (e.g. https://www.amazon.com/sp?seller=A1MCYUGJD2ILFU)."
},
"domain": {
"type": "string",
"enum": [
".com",
".co.uk",
".de",
".fr",
".it",
".es",
".ca",
".com.mx",
".com.br",
".co.jp",
".in",
".com.au",
".ae",
".sa",
".nl",
".pl",
".se",
".be",
".com.tr",
".sg",
".ie"
],
"default": ".com",
"description": "Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces."
},
"sort_by": {
"type": "string",
"description": "Catalog ordering. 'featured-rank' is default; 'exact-aware-popularity-rank' sorts by popularity (best sellers first); 'price-asc-rank'/'price-desc-rank' by price; 'date-desc-rank' by newest."
},
"exclude_refinements": {
"type": "boolean",
"default": false,
"description": "If true, omits the refinement filter list from the response, reducing payload size. Default false."
},
"language": {
"type": "string",
"description": "Language code for the Amazon page, in locale format (e.g. en_US, de_DE, tr_TR). Affects the language of titles, descriptions and reviews in the response."
},
"min_page": {
"type": "integer",
"minimum": 1,
"default": 1,
"description": "Starting page number. Default 1."
},
"max_page": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 1,
"description": "Ending page number. Each page costs 1 credit; max 5 pages per request. Default 1."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
get_seller_feedback
Read individual buyer feedback entries for an Amazon seller: star ratings, comment text, and dates — filterable by rating range and time period. This is the reputation deep-dive tool.
Use this tool when the user wants to read actual buyer comments about a seller, analyze complaint patterns, or audit service quality. For aggregate reputation scores (30/90/365-day percentages) without individual comments, get_seller_profile is sufficient and cheaper in context.
Each page costs 1 credit. To find dissatisfied customers, set max_rating to 3 instead of paging through everything.
Parameters7
seller_id
string
required
Amazon's unique seller identifier (e.g. A1MCYUGJD2ILFU). Found in seller profile URLs as the 'seller=' or 'me=' parameter.
domain
string
optional
Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces.
history_range
string
optional
Time period filter: '1' or '3' or '12' for months, 'all' for everything. Default 'all'.
min_rating
integer
optional
Minimum star rating to include (1-5). Default 1.
max_rating
integer
optional
Maximum star rating to include (1-5). Set to 3 to focus on negative feedback. Default 5.
min_page
integer
optional
Starting page number. Default 1.
max_page
integer
optional
Ending page number. Each page costs 1 credit; max 5 pages per request. Default 1.
Raw schema
{
"type": "object",
"properties": {
"seller_id": {
"type": "string",
"minLength": 5,
"description": "Amazon's unique seller identifier (e.g. A1MCYUGJD2ILFU). Found in seller profile URLs as the 'seller=' or 'me=' parameter."
},
"domain": {
"type": "string",
"enum": [
".com",
".co.uk",
".de",
".fr",
".it",
".es",
".ca",
".com.mx",
".com.br",
".co.jp",
".in",
".com.au",
".ae",
".sa",
".nl",
".pl",
".se",
".be",
".com.tr",
".sg",
".ie"
],
"default": ".com",
"description": "Amazon marketplace domain extension. Determines the regional Amazon site the data is fetched from. Use the domain that matches the user's market — prices, availability and rankings differ across marketplaces."
},
"history_range": {
"type": "string",
"enum": [
"1",
"3",
"12",
"all"
],
"default": "all",
"description": "Time period filter: '1' or '3' or '12' for months, 'all' for everything. Default 'all'."
},
"min_rating": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 1,
"description": "Minimum star rating to include (1-5). Default 1."
},
"max_rating": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 5,
"description": "Maximum star rating to include (1-5). Set to 3 to focus on negative feedback. Default 5."
},
"min_page": {
"type": "integer",
"minimum": 1,
"default": 1,
"description": "Starting page number. Default 1."
},
"max_page": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 1,
"description": "Ending page number. Each page costs 1 credit; max 5 pages per request. Default 1."
}
},
"required": [
"seller_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
list_operations
List all Easyparser operations available in this server, with their parameters, credit costs, and example use cases. Works WITHOUT an API key — call this first to understand what the server can do, or when you are unsure which tool fits the user's question. Also returns the list of supported Amazon marketplace domains.
Parameters1
operation
string
optional
Optional. Get the usage guide for one operation instead of the whole catalog.
Raw schema
{
"type": "object",
"properties": {
"operation": {
"type": "string",
"enum": [
"DETAIL",
"OFFER",
"SEARCH",
"PRODUCT_LOOKUP",
"SALES_ANALYSIS_HISTORY",
"BEST_SELLERS_RANK",
"PACKAGE_DIMENSION",
"SELLER_PROFILE",
"SELLER_PRODUCTS",
"SELLER_FEEDBACK"
],
"description": "Optional. Get the usage guide for one operation instead of the whole catalog."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
list_bulk_jobs
List the user's bulk extraction jobs with their progress: operation, domain, status, total/completed/failed/invalid item counts, and timestamps. This reads the SAME data as the Bulk Requests page in the Easyparser web app — so it can see and track jobs the user started from the app UI, not just jobs submitted through this MCP server.
Use this tool when the user asks about their bulk jobs: "is my job done?", "what bulk jobs are running?", "did the DETAIL batch finish?". Each row includes a group_id — pass it to get_bulk_job_items to drill into individual items, or to get_bulk_webhook_logs to check webhook deliveries.
Statuses: pending (queued), processing (running), completed (all items succeeded), partial_success (some items failed or were dropped — check failed_items/invalid_items counts), failed. This tool is free of per-call credits (monitoring endpoints do not consume credits).
Look up a specific job by its bulk_request_id (returned when the job was submitted).
page
integer
optional
Page number. Default 1.
limit
integer
optional
Items per page (max 50). Default 25 — keep it small to save context.
sort_direction
string
optional
Sort by creation time. 'desc' (newest first) is default.
Raw schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"pending",
"processing",
"completed",
"partial_success",
"failed"
],
"description": "Filter by job status: pending, processing, completed, partial_success (some items failed), failed."
},
"operation": {
"type": "string",
"enum": [
"DETAIL",
"OFFER",
"SEARCH",
"PRODUCT_LOOKUP",
"SALES_ANALYSIS_HISTORY",
"BEST_SELLERS_RANK",
"PACKAGE_DIMENSION",
"SELLER_PROFILE",
"SELLER_PRODUCTS",
"SELLER_FEEDBACK"
],
"description": "Filter by operation type, e.g. DETAIL or SEARCH."
},
"domain": {
"type": "string",
"enum": [
".com",
".co.uk",
".de",
".fr",
".it",
".es",
".ca",
".com.mx",
".com.br",
".co.jp",
".in",
".com.au",
".ae",
".sa",
".nl",
".pl",
".se",
".be",
".com.tr",
".sg",
".ie"
],
"description": "Filter by marketplace domain."
},
"bulk_request_id": {
"type": "string",
"description": "Look up a specific job by its bulk_request_id (returned when the job was submitted)."
},
"page": {
"type": "integer",
"minimum": 1,
"default": 1,
"description": "Page number. Default 1."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 25,
"description": "Items per page (max 50). Default 25 — keep it small to save context."
},
"sort_direction": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc",
"description": "Sort by creation time. 'desc' (newest first) is default."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
get_bulk_job_items
Inspect the individual items inside a bulk job: each item's input value (ASIN, keyword, seller ID...), its status (success/failed/invalid/pending/processing), error message if it failed, credit cost, and completion time.
Use this tool to debug a job after list_bulk_jobs shows failed_items or invalid_items > 0 — filter with status='failed' or status='invalid' to see exactly which inputs failed and why. Use search_key to locate one specific ASIN inside a large job. The item's item_id can be used with the Data Service (GET /v1/queries/{id}) to fetch its parsed result.
This tool is free of per-call credits (monitoring endpoints do not consume credits).
Parameters8
group_id
string
required
The job's group_id — get it from list_bulk_jobs (each job row has one). Identifies which job's items to inspect.
status
string
optional
Filter items by outcome. Use 'failed' or 'invalid' to debug a partial_success job; omit to see everything.
search_key
string
optional
Search within item values (e.g. a specific ASIN) to find one item in a large job.
date_from
string
optional
ISO date lower bound, e.g. 2026-08-01.
date_to
string
optional
ISO date upper bound.
page
integer
optional
Page number. Default 1.
limit
integer
optional
Items per page (max 50). Default 25 — keep it small to save context.
sort_direction
string
optional
Sort by creation time. 'desc' (newest first) is default.
Raw schema
{
"type": "object",
"properties": {
"group_id": {
"type": "string",
"description": "The job's group_id — get it from list_bulk_jobs (each job row has one). Identifies which job's items to inspect."
},
"status": {
"type": "string",
"enum": [
"success",
"invalid",
"failed",
"accepted",
"pending",
"processing"
],
"description": "Filter items by outcome. Use 'failed' or 'invalid' to debug a partial_success job; omit to see everything."
},
"search_key": {
"type": "string",
"description": "Search within item values (e.g. a specific ASIN) to find one item in a large job."
},
"date_from": {
"type": "string",
"description": "ISO date lower bound, e.g. 2026-08-01."
},
"date_to": {
"type": "string",
"description": "ISO date upper bound."
},
"page": {
"type": "integer",
"minimum": 1,
"default": 1,
"description": "Page number. Default 1."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 25,
"description": "Items per page (max 50). Default 25 — keep it small to save context."
},
"sort_direction": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc",
"description": "Sort by creation time. 'desc' (newest first) is default."
}
},
"required": [
"group_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
get_bulk_item_result
Fetch the parsed result data of a single bulk job item — the actual Amazon data that item produced (product detail, search results, seller profile, etc., depending on the job's operation). This is the same data shown in the item result modal on the Bulk Requests page of the web app.
Use this tool after get_bulk_job_items, when the user wants to see the DATA behind a specific item, not just its status. Typical flow: list_bulk_jobs → get_bulk_job_items → get_bulk_item_result.
IMPORTANT: bulk results are retained for 24 HOURS after the job completes, then they expire. If the item's data has expired, the tool returns a clear message — suggest re-running that item through the matching real-time tool (e.g. get_product_detail for a DETAIL item) to regenerate the data. This tool is free of per-call credits.
Parameters1
item_id
string
required
The item_id of a bulk job item — get it from get_bulk_job_items (each item row has one). This is the same ID the Data Service calls a query ID.
Raw schema
{
"type": "object",
"properties": {
"item_id": {
"type": "string",
"description": "The item_id of a bulk job item — get it from get_bulk_job_items (each item row has one). This is the same ID the Data Service calls a query ID."
}
},
"required": [
"item_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
get_bulk_webhook_logs
Check webhook delivery logs for bulk jobs: whether the completion notification was delivered to the user's callback_url, delivery status, and timestamps. Use this when a job shows as completed but the user's system never received the webhook — the classic "job finished but my integration didn't fire" debugging case.
Scope to one job with group_id (from list_bulk_jobs), or omit it to scan recent deliveries across all jobs. This tool is free of per-call credits.
Parameters9
group_id
string
optional
Scope logs to one job's group_id. Omit to see recent webhook deliveries across all jobs.
status
string
optional
Filter by delivery status (e.g. 'success', 'failed').
bulk_request_id
string
optional
Filter by the job's bulk_request_id.
request_id
string
optional
Filter by an individual request ID.
date_from
string
optional
ISO date lower bound.
date_to
string
optional
ISO date upper bound.
page
integer
optional
Page number. Default 1.
limit
integer
optional
Items per page (max 50). Default 25 — keep it small to save context.
sort_direction
string
optional
Sort by creation time. 'desc' (newest first) is default.
Raw schema
{
"type": "object",
"properties": {
"group_id": {
"type": "string",
"description": "Scope logs to one job's group_id. Omit to see recent webhook deliveries across all jobs."
},
"status": {
"type": "string",
"description": "Filter by delivery status (e.g. 'success', 'failed')."
},
"bulk_request_id": {
"type": "string",
"description": "Filter by the job's bulk_request_id."
},
"request_id": {
"type": "string",
"description": "Filter by an individual request ID."
},
"date_from": {
"type": "string",
"description": "ISO date lower bound."
},
"date_to": {
"type": "string",
"description": "ISO date upper bound."
},
"page": {
"type": "integer",
"minimum": 1,
"default": 1,
"description": "Page number. Default 1."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 25,
"description": "Items per page (max 50). Default 25 — keep it small to save context."
},
"sort_direction": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc",
"description": "Sort by creation time. 'desc' (newest first) is default."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
check_credits
Check the Easyparser account: current plan, credit balance (used/remaining/limit), credit reset date, per-minute rate limits, and this month's daily usage breakdown by operation. FREE — this calls the Account API and consumes no credits.
Use this before running expensive multi-page or 12-month-history jobs, when the user asks about their quota or plan, or to analyze usage patterns (e.g. 'which operation consumed the most credits this month?'). Requires an API key.
Individual buyer feedback, filterable by rating/period
1 credit per page (max 5)
Bulk job monitoring: tracks jobs started from the web app or the Bulk API
Tool
What it returns
Cost
list_bulk_jobs
Your bulk jobs with progress: status, completed/failed/invalid counts
Free
get_bulk_job_items
Per-item outcomes inside a job (debug failed/invalid items)
Free
get_bulk_item_result
The parsed data an item produced (retained 24 hours)
Free
get_bulk_webhook_logs
Webhook delivery logs for job completions
Free
Error logs: the same data as the Errors page in the web app
Tool
What it returns
Cost
get_error_logs
API request errors (real-time and bulk): error code, channel, operation, the failing request params, timestamp
Free
Account & discovery
Tool
What it returns
Cost
list_operations
Operations catalog with parameters, costs, and supported domains. Works without a key
Free
check_credits
Plan, credit balance, rate limits, and this month's daily usage by operation
Free
Get your API key
Sign up at app.easyparser.com/signup: free tier included, no credit card required. Copy your API key from Account → Plan. Wherever a setup step below asks for YOUR_API_KEY, paste this key.
Setup
Two ways to connect: the hosted remote server (no install, always up to date) or local via npx (runs on your machine).
Cursor Cursor
One-click install (opens Cursor with the configuration pre-filled; replace YOUR_API_KEY when prompted):
claude mcp add --scope user --transport http easyparser https://mcp.easyparser.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
Claude Claude Desktop & claude.ai
Add a custom connector:
Open Settings → Connectors → Add → Add custom connector.
Name:Easyparser
Remote MCP server URL:https://mcp.easyparser.com/mcp and click Continue.
Under Authentication, select None (Easyparser uses an API key, not OAuth).
Under Request headers, add a header: name authorization, value Bearer YOUR_API_KEY, marked Required.
Click Add.
Manus Manus
Go to Settings → Integrations → Custom MCP Servers → Add Server and fill in the form:
Field
Value
Server name
Easyparser
Transport type
HTTP
Server URL
https://mcp.easyparser.com/mcp
Custom headers
Header name: Authorization, value: Bearer YOUR_API_KEY (paste your Easyparser API key after "Bearer ")
Click Test to verify the connection, then Save. The value is always your Easyparser API key; no separate token is needed.
Any MCP client
The hosted endpoint speaks Streamable HTTP at https://mcp.easyparser.com/mcp. Authenticate with Authorization: Bearer YOUR_API_KEY; the x-api-key and api-key headers work too. The list_operations discovery tool works without a key, so agents can explore before signing up.
For local stdio clients, run npx -y easyparser-mcp with EASYPARSER_API_KEY set in the environment.
Example prompts
code
What is the current price and rating of ASIN B0F25371FH?
code
Find the ASIN for UPC 041604458187, then show me its 6-month sales trend.
code
Who is the seller behind this product, what is their legal business name,
and what do their negative reviews say?
code
Compare the top 10 organic results for "stainless steel water bottle" on
amazon.de: prices, ratings, and which ones are Prime.
code
Is the bulk job I started this morning finished? If any items failed,
tell me which ASINs and why.
Self-hosting the HTTP server
bash
npm install -g easyparser-mcp
PORT=3000 easyparser-mcp-http # or: node dist/http.js from a clone
Or with Docker:
bash
docker build -t easyparser-mcp .
docker run -p 3000:3000 easyparser-mcp
Endpoints: POST /mcp (MCP), GET /health (health check).
How it works
This server is a thin, read-only adapter over the Easyparser Real-Time API. Tool descriptions are written for AI agents: each one states what it returns, when to use it, when a cheaper tool is better, and its credit cost. Every response includes credits_remaining so agents can make budget-aware decisions. Rate-limit and auth errors return actionable guidance (including the signup link) instead of raw HTTP codes.