> For the complete documentation index, see [llms.txt](https://developers.oxylabs.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.oxylabs.io/products/pt-br/web-scraper-api/alvos/e-commerce/amazon/precos.md).

# Preços

Acesse dados de preços de produtos da Amazon com o Web Scraper API. Recupere listas de preços, descontos e ofertas usando exemplos e parâmetros prontos.

O `amazon_pricing` source recupera a listagem de ofertas de um produto (todas as ofertas dos vendedores para um ASIN). Com `"parse": true` a resposta é um JSON estruturado (os campos são descritos na [dicionário de dados](#output-data-dictionary) abaixo); sem ele, `conteúdo` contém o fragmento HTML da listagem de ofertas.

## Exemplos de requisição

Nos exemplos de código abaixo, fazemos uma solicitação para recuperar a página de listagem de ofertas do produto para o ASIN B087TXHLVQ em `amazon.nl` marketplace.

{% tabs %}
{% tab title="cURL" %}

```shell
curl 'https://realtime.oxylabs.io/v1/queries' \\
--user 'USERNAME:PASSWORD' \\
-H 'Content-Type: application/json' \\
-d '{
        "source": "amazon_pricing",
        "domain": "nl",
        "query": "B087TXHLVQ",
        "parse": true
    }'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
from pprint import pprint

# Structure payload.
payload = {
    'source': 'amazon_pricing',
    'domain': 'nl',
    'query': 'B087TXHLVQ',
    'parse': True
}

# Get response.
response = requests.request(
    'POST',
    'https://realtime.oxylabs.io/v1/queries',
    auth=('USERNAME', 'PASSWORD'),
    json=payload
)

# Instead of response with job status and results url, this will return the
# JSON response with the result.
pprint(response.json())
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const https = require("https");

const username = "USERNAME";
const password = "PASSWORD";
const body = {
    source: "amazon_pricing",
    domain: "nl",
    query: "B087TXHLVQ",
    parse: true
};

const options = {
    hostname: "realtime.oxylabs.io",
    path: "/v1/queries",
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        Authorization:
            "Basic " + Buffer.from(`${username}:${password}`).toString("base64"),
    },
};

const request = https.request(options, (response) => {
    let data = "";

    response.on("data", (chunk) => {
        data += chunk;
    });

    response.on("end", () => {
        const responseData = JSON.parse(data);
        console.log(JSON.stringify(responseData, null, 2));
    });
});

request.on("error", (error) => {
    console.error("Error:", error);
});

request.write(JSON.stringify(body));
request.end();
```

{% endtab %}

{% tab title="HTTP" %}

```http
# The whole string you submit has to be URL-encoded.

https://realtime.oxylabs.io/v1/queries?source=amazon_pricing&domain=nl&query=B087TXHLVQ&parse=true&access_token=12345abcde
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$params = array(
    'source' => 'amazon_pricing',
    'domain' => 'nl',
    'query' => 'B087TXHLVQ',
    'parse' => true
);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://realtime.oxylabs.io/v1/queries");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, "USERNAME" . ":" . "PASSWORD");

$headers = array();
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
echo $result;

if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
```

{% endtab %}

{% tab title="Golang" %}

```go
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    const Username = "USERNAME"
    const Password = "PASSWORD"

    payload := map[string]interface{}{
        "source": "amazon_pricing",
        "domain": "nl",
        "query": "B087TXHLVQ",
        "parse": true,
    }

    jsonValue, _ := json.Marshal(payload)

    client := &http.Client{}
    request, _ := http.NewRequest("POST",
        "https://realtime.oxylabs.io/v1/queries",
        bytes.NewBuffer(jsonValue),
    )

    request.SetBasicAuth(Username, Password)
    response, _ := client.Do(request)

    responseText, _ := ioutil.ReadAll(response.Body)
    fmt.Println(string(responseText))
}

```

{% endtab %}

{% tab title="C#" %}

```csharp
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Json;
using System.Threading.Tasks;

namespace OxyApi
{
    class Program
    {
        static async Task Main()
        {
            const string Username = "USERNAME";
            const string Password = "PASSWORD";

            var parameters = new {
                source = "amazon_pricing",
                domain = "nl",
                query = "B087TXHLVQ",
                parse = true
            };

            var client = new HttpClient();

            Uri baseUri = new Uri("https://realtime.oxylabs.io");
            client.BaseAddress = baseUri;

            var requestMessage = new HttpRequestMessage(HttpMethod.Post, "/v1/queries");
            requestMessage.Content = JsonContent.Create(parameters);

            var authenticationString = $"{Username}:{Password}";
            var base64EncodedAuthenticationString = Convert.ToBase64String(System.Text.ASCIIEncoding.UTF8.GetBytes(authenticationString));
            requestMessage.Headers.Add("Authorization", "Basic " + base64EncodedAuthenticationString);

            var response = await client.SendAsync(requestMessage);
            var contents = await response.Content.ReadAsStringAsync();

            Console.WriteLine(contents);
        }
    }
}
```

{% endtab %}

{% tab title="Java" %}

```java
package org.example;

import okhttp3.*;
import org.json.JSONObject;
import java.util.concurrent.TimeUnit;

public class Main implements Runnable {
    private static final String AUTHORIZATION_HEADER = "Authorization";
    public static final String USERNAME = "USERNAME";
    public static final String PASSWORD = "PASSWORD";

    public void run() {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("source", "amazon_pricing");
        jsonObject.put("domain", "nl");
        jsonObject.put("query", "B087TXHLVQ");
        jsonObject.put("parse", true);

        Authenticator authenticator = (route, response) -> {
            String credential = Credentials.basic(USERNAME, PASSWORD);
            return response
                    .request()
                    .newBuilder()
                    .header(AUTHORIZATION_HEADER, credential)
                    .build();
        };

        var client = new OkHttpClient.Builder()
                .authenticator(authenticator)
                .readTimeout(180, TimeUnit.SECONDS)
                .build();

        var mediaType = MediaType.parse("application/json; charset=utf-8");
        var body = RequestBody.create(jsonObject.toString(), mediaType);
        var request = new Request.Builder()
                .url("https://realtime.oxylabs.io/v1/queries")
                .post(body)
                .build();

        try (var response = client.newCall(request).execute()) {
            if (response.body() != null) {
                try (var responseBody = response.body()) {
                    System.out.println(responseBody.string());
                }
            }
        } catch (Exception exception) {
            System.out.println("Error: " + exception.getMessage());
        }

        System.exit(0);
    }

    public static void main(String[] args) {
        new Thread(new Main()).start();
    }
}
```

{% endtab %}

{% tab title="JSON" %}

```json
{
    "source": "amazon_pricing",
    "domain": "nl",
    "query": "B087TXHLVQ",
    "parse": true
}
```

{% endtab %}
{% endtabs %}

## Valores dos parâmetros da requisição

{% hint style="info" %}
Além dos parâmetros listados abaixo, você pode incluir parâmetros adicionais como `user_agent_type`, `geo_location`, `render`, e muito mais para personalizar sua requisição de scraping. Leia mais [aqui](/products/pt-br/web-scraper-api/features.md).
{% endhint %}

<table><thead><tr><th width="230">Parâmetro</th><th>Descrição</th><th width="130">Valor padrão</th></tr></thead><tbody><tr><td><mark style="background-color:green;"><strong><code>valores de origem</code></strong></mark></td><td>Define o scraper.</td><td><code>amazon_pricing</code></td></tr><tr><td><mark style="background-color:green;"><strong><code>query</code></strong></mark></td><td>Código ASIN de 10 caracteres.</td><td>-</td></tr><tr><td><code>start_page</code></td><td>Número da página inicial.</td><td>1</td></tr><tr><td><code>pages</code></td><td>Número de páginas a recuperar.</td><td>1</td></tr><tr><td><code>geo_location</code>, <code>domain</code>, <code>locale</code>, <code>context:currency</code></td><td>Para parâmetros de localização, consulte Localização e Filtragem.</td><td>-</td></tr></tbody></table>

&#x20;   \- parâmetro obrigatório

## Exemplo de resposta

Uma listagem de ofertas analisada para o ASIN `B087TXHLVQ` em amazon.nl (listas reduzidas a um item, valores longos truncados).

<details>

<summary><code>amazon_pricing</code> exemplo de resposta</summary>

```json
{
    "results": [
        {
            "content": {
                "asin": "B087TXHLVQ",
                "asin_in_url": "B087TXHLVQ",
                "page": 1,
                "parse_status_code": 12000,
                "pricing": [
                    {
                        "condition": "Nieuw",
                        "currency": "EUR",
                        "delivery": "Verzonden vanuit Amazon.nl",
                        "delivery_options": [
                            {
                                "date": {
                                    "by": "vrijdag, 25 september"
                                },
                                "type": "GRATIS bezorging"
                            },
                            ...
                        ],
                        "max_quantity": 20,
                        "offer_listing_id": "QJEWCmLlHrc8vewZ%2ByKWM0bCGk3Ln2UncErnPwg%2BrHSbF8zEcoFaDTr7ZzJG7L98dR...",
                        "price": 33.99,
                        "price_shipping": 0,
                        "rating_count": 29,
                        "seller": "HOOBRO NL",
                        "seller_id": "A10KKLR252QEUP",
                        "seller_link": "/gp/aag/main?ie=UTF8&seller=A10KKLR252QEUP&isAmazonFulfilled=1&asin=B0...",
                        "seller_rating": 5
                    }
                ],
                "review_count": 3559,
                "title": "HOOBRO Bijzettafel, opvouwbaar, bankuiteinde, tafelbladen, set van 2, ...",
                "url": "https://www.amazon.nl/gp/product/ajax/aodAjaxMain/ref=dp_aod_unknown_m..."
            },
            "created_at": "2026-09-23 08:03:57",
            "updated_at": "2026-09-23 08:03:58",
            "page": 1,
            "url": "https://www.amazon.nl/gp/product/ajax/aodAjaxMain/ref=dp_aod_unknown_mbc?asin=B087TXHLVQ&pageno=1&language=nl_NL",
            "job_id": "7508435981595350017",
            "status_code": 200,
            "parser_type": ""
        }
    ],
    "job": {...}
}
```

</details>

## Localização e filtragem <a href="#localization-and-filtering" id="localization-and-filtering"></a>

{% hint style="warning" %}
**IMPORTANTE:** Na maioria dos tipos de página, a Amazon adapta os resultados retornados com base no local de entrega dos clientes. Portanto, recomendamos usar o `geo_location` parâmetro para definir seu local de entrega preferido. Você pode ler mais sobre o uso de `geo_location` com Amazon [**aqui**](/products/pt-br/web-scraper-api/features/localization/e-commerce-localization.md).
{% endhint %}

<table><thead><tr><th width="180">Parâmetro</th><th>Descrição</th><th width="150">Valor padrão</th></tr></thead><tbody><tr><td><code>geo_location</code></td><td>O <em>Entregar para</em> location: um CEP ou código postal do país do marketplace (por exemplo, <code>10001</code> em <code>com</code>) ou um código de país ISO de duas letras (por exemplo, <code>DE</code>). Nomes de país ou cidade não são aceitos.</td><td>-</td></tr><tr><td><code>domain</code></td><td>Marketplace da Amazon para raspar, por exemplo, <code>com</code>, <code>co.uk</code>, <code>de</code>. Lista completa em <a href="/products/pt-br/web-scraper-api/features/localization/domain-locale.md">Domínio e localidade</a>.</td><td><code>com</code></td></tr><tr><td><code>locale</code></td><td>Idioma da interface da página (<code>Accept-Language</code> valor). Os valores dependem do marketplace; um valor não compatível retorna <code>400</code> com a lista aceita. Lista completa em <a href="/products/pt-br/web-scraper-api/features/localization/domain-locale.md">Domínio e localidade</a>.</td><td>padrão do marketplace</td></tr><tr><td><code>context:currency</code></td><td>Moeda em que os preços são exibidos. Os valores disponíveis dependem do marketplace e alguns marketplaces (incluindo <code>com</code>) exibem apenas a moeda padrão. Valores disponíveis e padrão <a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2FNNybEQaVnTrc9ymR1NGE%2Fcurrency_new.json?alt=media&#x26;token=a77440f9-50a5-4e07-9">aqui</a>.</td><td>padrão do marketplace</td></tr></tbody></table>

```json
{
    "source": "amazon_pricing",
    "domain": "de",
    "query": "B08Y72CH1F",
    "geo_location": "10115",
    "parse": true
}
```

## Dicionário de dados de saída

#### Exemplo de HTML

<figure><img src="https://1795063165-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBQ7Zf9paoN3FTeGcyfY1%2Fuploads%2Fgit-blob-747a792334164f4c28cad93528e56efbe7b430ed%2Famazon_pricing.png?alt=media" alt=""><figcaption></figcaption></figure>

O `amazon_pricing` fornece uma representação estruturada das informações de precificação para um produto específico disponível na Amazon. A tabela abaixo apresenta uma lista detalhada de cada campo que analisamos, junto com sua descrição e tipo de dado. A tabela também inclui alguns metadados.

#### Estrutura JSON

<table><thead><tr><th width="221">Chave</th><th width="328">Descrição</th><th>Tipo</th></tr></thead><tbody><tr><td><code>url</code></td><td>A URL da página do produto na Amazon.</td><td>cadeia de caracteres</td></tr><tr><td><code>asin</code></td><td>Número de Identificação Padrão da Amazon.</td><td>cadeia de caracteres</td></tr><tr><td><code>page</code></td><td>O número da página atual.</td><td>inteiro</td></tr><tr><td><code>title</code></td><td>O título do produto.</td><td>cadeia de caracteres</td></tr><tr><td><code>pricing</code></td><td>Uma lista de detalhes de precificação.</td><td>vetor</td></tr><tr><td><code>asin_in_url</code></td><td>Número Padrão de Identificação da Amazon obtido da URL.</td><td>cadeia de caracteres</td></tr><tr><td><code>review_count</code></td><td>O número total de avaliações.</td><td>inteiro</td></tr><tr><td><code>parse_status_code</code></td><td>O código de status do trabalho de análise. Você pode ver os códigos de status do parser descritos <a href="/products/pt-br/web-scraper-api/response-codes.md"><strong>aqui</strong></a>.</td><td>inteiro</td></tr><tr><td><code>created_at</code></td><td>O timestamp em que o trabalho de scraping foi criado.</td><td>carimbo de data/hora</td></tr><tr><td><code>update_at</code></td><td>O timestamp em que o trabalho de scraping foi concluído.</td><td>carimbo de data/hora</td></tr><tr><td><code>job_id</code></td><td>O ID do trabalho associado ao trabalho de scraping.</td><td>cadeia de caracteres</td></tr><tr><td><code>status_code</code></td><td>O código de status do trabalho de scraping. Você pode ver os códigos de status do scraper descritos <a href="/products/pt-br/web-scraper-api/response-codes.md"><strong>aqui</strong></a>.</td><td>inteiro</td></tr><tr><td><code>parser_type</code></td><td>O tipo de parser usado para processar os dados.</td><td>cadeia de caracteres</td></tr></tbody></table>

{% hint style="info" %}
Nas seções a seguir, os trechos de código JSON analisados são encurtados quando mais de um item para o tipo de resultado está disponível.
{% endhint %}

### Pricing

`pricing` inclui detalhes como o preço, o vendedor, a moeda, as opções de entrega, a condição do produto, o ID do vendedor e links para a página do vendedor. Além disso, o número de avaliações recebidas pelo vendedor pode ser fornecido para mais contexto.

<figure><img src="https://lh7-us.googleusercontent.com/Llj-o9YYWOEDj_93awsp5EBVn5U2Sbc69qLEQApZ1pX8uhjwTHVEovOaiP9Lc2N2kT3x98SIfba1L0i1RoR5m9QKEdZ_Go8UQzxiT8drYS1St4HYIltrSRNAcXo2jOdZXJRhiqFjwnSp7coFtrq3X60" alt=""><figcaption></figcaption></figure>

```json
...
"pricing": [
    {
        "price": 24,
        "seller": "Amazon.com",
        "currency": "USD",
        "delivery": "Ships from Amazon.com",
        "condition": "New",
        "seller_id": "A2NDNAPHQ3UDKH",
        "seller_link": "/gp/aag/main?ie=UTF8&seller=A2NDNAPHQ3UDKH&isAmazonFulfilled=0&asin=B07H9DVLBB&ref_=olp_merch_name_0",
        "rating_count": 41715,
        "price_shipping": 0,
        "delivery_options": []
    },
...
```

<table><thead><tr><th width="222.36328125">Chave (pricing)</th><th width="438.0234375">Descrição</th><th width="94.02734375">Tipo</th></tr></thead><tbody><tr><td><code>price</code></td><td>O preço do produto.</td><td>decimal</td></tr><tr><td><code>seller</code></td><td>O vendedor do produto.</td><td>cadeia de caracteres</td></tr><tr><td><code>moeda</code></td><td>A moeda na qual o preço é denominado.</td><td>cadeia de caracteres</td></tr><tr><td><code>delivery</code></td><td>O local de envio do produto.</td><td>cadeia de caracteres</td></tr><tr><td><code>condição</code></td><td>A condição do produto.</td><td>cadeia de caracteres</td></tr><tr><td><code>seller_id</code></td><td>A identificação do vendedor da Amazon.</td><td>cadeia de caracteres</td></tr><tr><td><code>seller_link</code></td><td>A URL da página do vendedor na Amazon.</td><td>cadeia de caracteres</td></tr><tr><td><code>rating_count</code></td><td>O número total de avaliações enviadas para o produto na Amazon.</td><td>inteiro</td></tr><tr><td><code>price_shipping</code></td><td>O preço do frete.</td><td>decimal</td></tr><tr><td><code>delivery_options</code></td><td>Identifica as opções de entrega disponíveis.</td><td>vetor</td></tr><tr><td><code>delivery_options</code> : <code>tipo</code></td><td>A opção de entrega, por exemplo, frete grátis.</td><td>cadeia de caracteres</td></tr><tr><td><code>delivery_options</code> : <code>data</code> : <code>by</code></td><td>A data de entrega prometida para esta opção.</td><td>cadeia de caracteres</td></tr><tr><td><code>max_quantity</code></td><td>A quantidade máxima que pode ser pedida desta oferta.</td><td>inteiro</td></tr><tr><td><code>offer_listing_id</code></td><td>O identificador da Amazon da listagem da oferta.</td><td>cadeia de caracteres</td></tr><tr><td><code>seller_rating</code></td><td>A avaliação do vendedor mostrada com a oferta.</td><td>inteiro</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developers.oxylabs.io/products/pt-br/web-scraper-api/alvos/e-commerce/amazon/precos.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
