Skip to content

// docs

Amazon: Get product details

Extracts complete product data (PDP) from Amazon Brazil.

amazon.com.br:pdp · 1 credit per request

Standard credit cost. Your account pricing is shown in the sandbox.

Try this operation in the sandbox

When to use this operation

sellerMetrics.feedback contains the feedback count and positive percentage for the last 12 months, for the primary seller only. It reuses the existing request to that seller profile and does not fetch otherSellers profiles. If the period is not published, feedback is null. Counts use value, text and relation: exact, greater_than, at_least, approximate or unknown. An explicit zero stays zero; missing information is null. The response example is illustrative.

HTTP request

cURL
curl -X POST https://api.geckoapi.com.br/v1/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://www.amazon.com.br/Echo-Dot-4%C2%AA-gera%C3%A7%C3%A3o-Cor-Azul/dp/B09B8QFYZ2",
  "target": "amazon.com.br",
  "type": "pdp"
}'

Keep your API key on your server. See the quickstart for authentication and response handling.

MCP request

The hosted MCP tool fixes target and type for this operation. Its remaining arguments use the same input rules as Extract.

POST /v1/mcp · Bearer or X-API-Key authentication

amazon_com_br_pdp · tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "amazon_com_br_pdp",
    "arguments": {
      "url": "https://www.amazon.com.br/Echo-Dot-4%C2%AA-gera%C3%A7%C3%A3o-Cor-Azul/dp/B09B8QFYZ2",
      "executionId": "exec_example_123"
    }
  }
}

Supported inputs

Conditional fields depend on the alternatives and constraints in the rule column. Fields marked unsupported are omitted.

FieldTypeRequirementRuleDefaultExample
url
URL extraction target. For some PLPs it can be omitted when API assembles URL from other fields.
string (URL) Required Required for this operation. - https://www.amazon.com.br/Echo-Dot-4%C2%AA-gera%C3%A7%C3%A3o-Cor-Azul/dp/B09B8QFYZ2
target
Target source for extraction.
enum Required Always mandatory in the payload and must match the operation. - amazon.com.br
type
Extraction type: pdp, idp, plp, ilp, quote, review or places.
enum Required Always mandatory in the payload and must match the operation. - pdp

Request examples

PDP by URL

Basic request for product page Amazon.

PDP by URL
{
  "url": "https://www.amazon.com.br/Echo-Dot-4%C2%AA-gera%C3%A7%C3%A3o-Cor-Azul/dp/B09B8QFYZ2",
  "target": "amazon.com.br",
  "type": "pdp"
}

Response schema

Leaf paths and expected types. Field names and enum values are part of the API contract.

responseSchema
{
  "requestId": "string (uuid)",
  "executionId": "string (uuid)",
  "notFound": "boolean (optional; true when the upstream entity was not found and data is null)",
  "data.isInternational": "boolean",
  "data.variants[].asin": "string",
  "data.variants[].url": "string",
  "data.shippingFee.shippingFee": "string",
  "data.shippingFee.zipCode": "string",
  "data.taxFreePrice": "number",
  "data.cashPrice": "number",
  "data.canonicalUrl": "string",
  "data.price": "number",
  "data.additionalProperties[].name": "string",
  "data.additionalProperties[].value": "string",
  "data.regularPrice": "number",
  "data.sellerName": "string",
  "data.deliveredBy": "string | null",
  "data.itemCondition": "string",
  "data.images[].url": "string",
  "data.brand.name": "string",
  "data.aggregateRating.ratingValue": "number",
  "data.aggregateRating.bestRating": "number",
  "data.aggregateRating.reviewCount": "number",
  "data.currency": "string",
  "data.currencyRaw": "string",
  "data.breadcrumbs[].name": "string",
  "data.breadcrumbs[].url": "string",
  "data.description": "string",
  "data.mainImage.url": "string",
  "data.sku": "string",
  "data.availability": "string",
  "data.name": "string",
  "data.url": "string",
  "data.otherSellers[].sellerName": "string",
  "data.otherSellers[].price": "number",
  "data.otherSellers[].sellerUrl": "string",
  "data.otherSellers[].sellerId": "string",
  "data.sellerId": "string",
  "data.sellerUrl": "string",
  "data.coupon": "string",
  "data.couponCode": "string",
  "data.couponDescription": "string",
  "data.installmentPrice": "string",
  "data.installmentCount": "number",
  "data.mpn": "string",
  "data.size": "string",
  "data.color": "string",
  "data.style": "string",
  "data.sellerSocialReason": "string",
  "data.sellerCnpj": "string",
  "data.sellerAddress": "string",
  "data.sellerCity": "string",
  "data.sellerState": "string",
  "data.sellerCountry": "string",
  "data.sellerMetrics": "object",
  "data.sellerMetrics.sellerId": "string | null",
  "data.sellerMetrics.collectedAt": "string (ISO 8601 UTC)",
  "data.sellerMetrics.followers": "{ value: number | null, text: string, relation: \"exact\" | \"greater_than\" | \"at_least\" | \"approximate\" | \"unknown\" } | null",
  "data.sellerMetrics.products": "{ value: number | null, text: string, relation: \"exact\" | \"greater_than\" | \"at_least\" | \"approximate\" | \"unknown\" } | null",
  "data.sellerMetrics.sales": "{ value: number | null, text: string, relation: \"exact\" | \"greater_than\" | \"at_least\" | \"approximate\" | \"unknown\" } | null",
  "data.sellerMetrics.salesPeriod": "string | null",
  "data.sellerMetrics.rating": "{ value: number, bestRating: number | null } | null",
  "data.sellerMetrics.memberSince": "{ year: number, text: string, precision: \"year\" } | null",
  "data.sellerMetrics.feedback": "{ count: number | null, positivePercentage: number | null, periodMonths: number, text: string } | null",
  "data.sellerMetrics.sources": "Array<{ url: string, status: \"success\" | \"unavailable\" | \"error\", errorCode: string | null }>",
  "data.sellerMetrics.feedback.count": "number | null",
  "data.sellerMetrics.feedback.positivePercentage": "number | null",
  "data.sellerMetrics.feedback.periodMonths": "number",
  "data.sellerMetrics.feedback.text": "string",
  "data.sellerMetrics.sources[].url": "string",
  "data.sellerMetrics.sources[].status": "\"success\" | \"unavailable\" | \"error\"",
  "data.sellerMetrics.sources[].errorCode": "string | null",
  "data.badges": "string[]"
}

Example response

Illustrative response. Product names, reviews and other source content retain their original language. Missing and null values do not imply zero stock, free shipping or zero reviews.

responseExample
{
  "requestId": "44444444-1111-4111-8111-444444444444",
  "executionId": "44444444-2222-4222-8222-444444444444",
  "data": {
    "isInternational": false,
    "variants": [
      {
        "asin": "B09B8QFYZ2",
        "url": "https://www.amazon.com.br/dp/B09B8QFYZ2"
      }
    ],
    "shippingFee": {
      "shippingFee": "R$ 12,90",
      "zipCode": "80000-000"
    },
    "taxFreePrice": 359,
    "cashPrice": 359,
    "canonicalUrl": "https://www.amazon.com.br/dp/B09B8QFYZ2",
    "price": 379,
    "additionalProperties": [
      {
        "name": "Marca",
        "value": "Amazon"
      }
    ],
    "regularPrice": 429,
    "sellerName": "Amazon.com.br",
    "deliveredBy": "Amazon.com.br",
    "itemCondition": "new",
    "images": [
      {
        "url": "https://m.media-amazon.com/images/I/echo-dot-main.jpg"
      }
    ],
    "brand": {
      "name": "Amazon"
    },
    "aggregateRating": {
      "ratingValue": 4.8,
      "bestRating": 5,
      "reviewCount": 10234
    },
    "currency": "BRL",
    "currencyRaw": "R$",
    "breadcrumbs": [
      {
        "name": "Eletronicos",
        "url": "https://www.amazon.com.br/eletronicos"
      }
    ],
    "description": "Smart speaker com Alexa integrada.",
    "mainImage": {
      "url": "https://m.media-amazon.com/images/I/echo-dot-main.jpg"
    },
    "sku": "B09B8QFYZ2",
    "availability": "InStock",
    "name": "Echo Dot 4a geracao",
    "url": "https://www.amazon.com.br/dp/B09B8QFYZ2",
    "otherSellers": [
      {
        "sellerName": "Loja Parceira Prime",
        "price": 389,
        "sellerUrl": "https://www.amazon.com.br/sp?seller=A1SELLER123",
        "sellerId": "A1SELLER123"
      }
    ],
    "sellerId": "A1AMAZONBR",
    "sellerUrl": "https://www.amazon.com.br/sp?seller=A1AMAZONBR",
    "coupon": "R$20 off",
    "couponCode": "COMPRANOAPP",
    "couponDescription": "Insira o codigo COMPRANOAPP na finalizacao da compra. Valido na sua primeira compra na Amazon, pelo App",
    "installmentPrice": "31.58",
    "installmentCount": 12,
    "mpn": "ECHODOT4",
    "size": "Padrao",
    "color": "Azul",
    "style": "Com relogio",
    "sellerSocialReason": "Amazon Servicos de Varejo do Brasil Ltda",
    "sellerCnpj": "15.436.940/0001-03",
    "sellerAddress": "Av. Juscelino Kubitschek, 2041",
    "sellerCity": "Sao Paulo",
    "sellerState": "SP",
    "sellerCountry": "Brasil",
    "sellerMetrics": {
      "sellerId": "A1AMAZONBR",
      "collectedAt": "2026-10-29T22:00:00.000Z",
      "followers": null,
      "products": null,
      "sales": null,
      "salesPeriod": null,
      "rating": null,
      "memberSince": null,
      "feedback": {
        "count": 156,
        "positivePercentage": 85,
        "periodMonths": 12,
        "text": "85% positivo nos últimos 12 meses (156 avaliações)"
      },
      "sources": [
        {
          "url": "https://www.amazon.com.br/sp?ie=UTF8&seller=A1AMAZONBR",
          "status": "success",
          "errorCode": null
        }
      ]
    },
    "badges": [
      "Escolha da Amazon",
      "Oferta"
    ]
  }
}

Complete field reference

PathTypeDescriptionExample
data.additionalProperties[].name string Field data.additionalProperties[].name returned in the response payload. Marca
data.additionalProperties[].value string data.additionalProperties[].value field returned in the response payload. Amazon
data.aggregateRating.bestRating number data.aggregateRating.bestRating field returned in the response payload. 5
data.aggregateRating.ratingValue number Field data.aggregateRating.ratingValue returned in the response payload. 4.8
data.aggregateRating.reviewCount number data.aggregateRating.reviewCount field returned in the response payload. 10234
data.availability string Field data.availability returned in the response payload. InStock
data.badges string[] Amazon Choice and deal badges displayed for the main product, without duplicates. Preserves the published labels, for example ["Escolha da Amazon", "Oferta"]. Returns [] when neither badge is present; both may coexist. Does not infer badges from discounts or include recommended-product badges, coupons or countdown text. Badges may change over time and with the displayed offer. ["Escolha da Amazon","Oferta"]
data.brand.name string Field data.brand.name returned in the response payload. Amazon
data.breadcrumbs[].name string Field data.breadcrumbs[].name returned in the response payload. Eletronicos
data.breadcrumbs[].url string Field data.breadcrumbs[].url returned in the response payload. https://www.amazon.com.br/eletronicos
data.canonicalUrl string data.canonicalUrl field returned in the response payload. https://www.amazon.com.br/dp/B09B8QFYZ2
data.cashPrice number Field data.cashPrice returned in the response payload. 359
data.color string data.color field returned in the response payload. Azul
data.coupon string Coupon displayed on PDP, as R$20 off, when available. R$20 off
data.couponCode string Coupon code displayed on PDP, when available. COMPRANOAPP
data.couponDescription string Coupon description/instruction displayed on PDP, when available. Insira o codigo COMPRANOAPP na finalizacao da compra. Valido na sua primeira compra na Amazon, pelo App
data.currency string Field data.currency returned in the response payload. BRL
data.currencyRaw string Field data.currencyRaw returned in the response payload. R$
data.deliveredBy string | null Company responsible for sending the main offer, as displayed by Amazon (for example, Amazon, Amazon.com.br, or the name of a partner store). It may be different from sellerName: a store may sell the product and Amazon will ship it. Returns null when the page does not inform the person responsible for sending. It does not identify the carrier of the last stage nor does it apply to otherSellers. Amazon.com.br
data.description string Field data.description returned in the response payload. Smart speaker com Alexa integrada.
data.images[].url string Field data.images[].url returned in the response payload. https://m.media-amazon.com/images/I/echo-dot-main.jpg
data.installmentCount number Number of installments of the first installment option found in PDP. 12
data.installmentPrice string Value of the first installment found in PDP. 31.58
data.isInternational boolean Field data.isInternational returned in the response payload. false
data.itemCondition string data.itemCondition field returned in the response payload. new
data.mainImage.url string Field data.mainImage.url returned in the response payload. https://m.media-amazon.com/images/I/echo-dot-main.jpg
data.mpn string data.mpn field returned in the response payload. ECHODOT4
data.name string Field data.name returned in the response payload. Echo Dot 4a geracao
data.otherSellers[].price number Field data.otherSellers[].price returned in the response payload. 389
data.otherSellers[].sellerId string Field data.otherSellers[].sellerId returned in the response payload. A1SELLER123
data.otherSellers[].sellerName string Field data.otherSellers[].sellerName returned in the response payload. Loja Parceira Prime
data.otherSellers[].sellerUrl string data.otherSellers[].sellerUrl field returned in the response payload. https://www.amazon.com.br/sp?seller=A1SELLER123
data.price number data.price field returned in the response payload. 379
data.regularPrice number data.regularPrice field returned in the response payload. 429
data.sellerAddress string Field data.sellerAddress returned in the response payload. Av. Juscelino Kubitschek, 2041
data.sellerCity string data.sellerCity field returned in the response payload. Sao Paulo
data.sellerCnpj string Field data.sellerCnpj returned in the response payload. 15.436.940/0001-03
data.sellerCountry string Field data.sellerCountry returned in the response payload. Brasil
data.sellerId string Field data.sellerId returned in the response payload. A1AMAZONBR
data.sellerMetrics object Top seller store indicators, separate from product sales and reviews. Fields without information remain null. {"sellerId":"A1AMAZONBR","collectedAt":"2026-10-29T22:00:00.000Z","followers":null,"products":null,"sales":null,"salesPeriod":null,"rating":null,"memberSince":null,"feedback":{"count":156,"positivePercentage":85,"periodMonths":12,"text":"85% positivo nos últimos 12 meses (156 avaliações)"},"sources":[{"url":"https://www.amazon.com.br/sp?ie=UTF8&seller=A1AMAZONBR","status":"success","errorCode":null}]}
data.sellerMetrics.collectedAt string (ISO 8601 UTC) Date/time UTC of observing store metrics. 2026-10-29T22:00:00.000Z
data.sellerMetrics.feedback { count: number | null, positivePercentage: number | null, periodMonths: number, text: string } | null Seller ratings for the last 12 months: count, positivePercentage (0 a 100), periodMonths=12 and text. null if the window is not available. {"count":156,"positivePercentage":85,"periodMonths":12,"text":"85% positivo nos últimos 12 meses (156 avaliações)"}
data.sellerMetrics.feedback.count number | null Number of seller reviews in the period. 156
data.sellerMetrics.feedback.periodMonths number Seller evaluation window in months; currently 12. 12
data.sellerMetrics.feedback.positivePercentage number | null Percentage of positive seller reviews (0 to 100). 85
data.sellerMetrics.feedback.text string Visible text published by the source. 85% positivo nos últimos 12 meses (156 avaliações)
data.sellerMetrics.followers { value: number | null, text: string, relation: "exact" | "greater_than" | "at_least" | "approximate" | "unknown" } | null Store followers: value, visible text and relationship. null when the source does not inform. null
data.sellerMetrics.memberSince { year: number, text: string, precision: "year" } | null Year the store entered the marketplace, with original text and precision=year. It does not provide the day/month or legal data for opening the company. null
data.sellerMetrics.products { value: number | null, text: string, relation: "exact" | "greater_than" | "at_least" | "approximate" | "unknown" } | null Quantity of products in the store: value, visible text and relationship. null when the source does not inform. null
data.sellerMetrics.rating { value: number, bestRating: number | null } | null Store reputation and maximum published scale. It is not the evaluation of the product. null
data.sellerMetrics.sales { value: number | null, text: string, relation: "exact" | "greater_than" | "at_least" | "approximate" | "unknown" } | null Store sales, separate from product soldCount. Preserves tracks: +5mil becomes value=5000, relation=greater_than. Does not imply exact total. null
data.sellerMetrics.salesPeriod string | null Declared period for store sales; null when not informed. Do not assume lifetime sales or sales from the last 12 months. null
data.sellerMetrics.sellerId string | null ID of the primary seller to which these metrics belong. A1AMAZONBR
data.sellerMetrics.sources Array<{ url: string, status: "success" | "unavailable" | "error", errorCode: string | null }> Sources consulted: success indicates metrics section found; unavailable indicates response without compatible section; error indicates failure, detailed by errorCode. Empty list indicates no compatible query. A complementary failure does not prevent the product from being returned. [{"url":"https://www.amazon.com.br/sp?ie=UTF8&seller=A1AMAZONBR","status":"success","errorCode":null}]
data.sellerMetrics.sources[].errorCode string | null Fault code HTTP, timeout or query error; null when there is no error. null
data.sellerMetrics.sources[].status "success" | "unavailable" | "error" Store metrics query result: success, unavailable or error. success
data.sellerMetrics.sources[].url string URL. https://www.amazon.com.br/sp?ie=UTF8&seller=A1AMAZONBR
data.sellerName string Field data.sellerName returned in the response payload. Amazon.com.br
data.sellerSocialReason string Field data.sellerSocialReason returned in the response payload. Amazon Servicos de Varejo do Brasil Ltda
data.sellerState string data.sellerState field returned in the response payload. SP
data.sellerUrl string data.sellerUrl field returned in the response payload. https://www.amazon.com.br/sp?seller=A1AMAZONBR
data.shippingFee.shippingFee string Field data.shippingFee.shippingFee returned in the response payload. R$ 12,90
data.shippingFee.zipCode string Field data.shippingFee.zipCode returned in the response payload. 80000-000
data.size string Field data.size returned in the response payload. Padrao
data.sku string data.sku field returned in the response payload. B09B8QFYZ2
data.style string Field data.style returned in the response payload. Com relogio
data.taxFreePrice number Field data.taxFreePrice returned in the response payload. 359
data.url string Field data.url returned in the response payload. https://www.amazon.com.br/dp/B09B8QFYZ2
data.variants[].asin string Field data.variants[].asin returned in the response payload. B09B8QFYZ2
data.variants[].url string Field data.variants[].url returned in the response payload. https://www.amazon.com.br/dp/B09B8QFYZ2
executionId string (uuid) Field executionId returned in the response payload. 44444444-2222-4222-8222-444444444444
notFound boolean (optional; true when the upstream entity was not found and data is null) Present and true when the upstream entity was not found. In this case data is null and the request still completes successfully. N/A
requestId string (uuid) Field requestId returned in the response payload. 44444444-1111-4111-8111-444444444444

Errors and missing data

When supported by this operation, an entity not found upstream can return HTTP 200 with data: null and notFound: true. Check the documented response fields before interpreting an empty result. Source-specific behavior and exceptions are described above.

HTTP statusError codeMeaning
400INVALID_PAYLOADInvalid JSON or a request that violates the documented validation rules.
401UNAUTHORIZEDMissing authorization or an invalid API key or token.
402INSUFFICIENT_CREDITSThe account has insufficient credits for this operation.
403FORBIDDENThe account does not have access, or the API is temporarily disabled.
409EXECUTION_CONFLICTThe execution identifier conflicts with an incompatible execution state.
429RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTSA rate limit or simultaneous request limit was exceeded.
5xxUPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_FUNCTION_ERRORAn upstream, worker or gateway failure. Failed requests follow the platform refund policy.

Other Amazon operations