> 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/api-targets/pt-br/e-commerce/amazon/url.md).

# URL

Faça scraping de páginas da Amazon por URL com o Web Scraper API. Exemplos de solicitação, saída parseada, renderização JS, geolocalização e opções de user agent documentados.

O `amazon` source foi projetado para recuperar o conteúdo de várias URLs da Amazon. Isso significa que, em vez de enviar vários parâmetros, você pode nos fornecer uma URL direta para a página da Amazon desejada. Não removemos nenhum parâmetro nem alteramos suas URLs de nenhuma outra forma.

## Exemplos de requisição

Nos exemplos de código abaixo, fazemos uma solicitação para recuperar a página de produto da Amazon para o ASIN `B08Y6Z944Q`.

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

```shell
curl 'https://realtime.oxylabs.io/v1/queries' \\
--user 'USERNAME:PASSWORD' \\
-H 'Content-Type: application/json' \\
-d '{
        "source": "amazon", 
        "url": "https://www.amazon.co.uk/dp/B08Y6Z944Q/",
        "parse": true
    }'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
from pprint import pprint


# Structure payload.
payload = {
    'source': 'amazon',
    'url': 'https://www.amazon.co.uk/dp/B08Y6Z944Q/',
    'parse': True
}

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

# Em vez de uma resposta com o status do job e a URL dos resultados, isto retornará a
# Resposta JSON com resultados.
pprint(response.json())
```

{% endtab %}

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

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

const username = "USERNAME";
const password = "PASSWORD";
const body = {
    source: "amazon",
    url: "https://www.amazon.co.uk/dp/B08Y6Z944Q/",
    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
https://realtime.oxylabs.io/v1/queries?source=amazon&url=https%3A%2F%2Fwww.amazon.co.uk%2Fdp%2FB08Y6Z944Q%2F&parse=true&access_token=12345abcde
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$params = array(
    'source' => 'amazon',
    'url' => 'https://www.amazon.co.uk/dp/B08Y6Z944Q/',
    '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",
		"url":    "https://www.amazon.co.uk/dp/B08Y6Z944Q/",
		"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",
                url = "https://www.amazon.co.uk/dp/B08Y6Z944Q/",
                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");
        jsonObject.put("url", "https://www.amazon.co.uk/dp/B08Y6Z944Q/");
        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", 
    "url": "https://www.amazon.co.uk/dp/B08Y6Z944Q/",
    "parse": true
}
```

{% endtab %}
{% endtabs %}

<details>

<summary>Exemplo de saída</summary>

```json
{
    "results": [
        {
            "content": {
                "ads": [
                    {
                        "pos": 1,
                        "asin": "B0CH3JJN66",
                        "type": "organic_also_viewed",
                        "price": 375,
                        "title": "Samsung Smart TV UHD HDR 4K de 55 polegadas AU7020 (2023) - Smart TV Crystal UHD 4K com imagem HDR, Adaptive Sound Lite, PurColour ",
                        "images": [
                            "https://m.media-amazon.com/images/I/71Dxs5msCcL._AC_SS57_.jpg",
                            "https://m.media-amazon.com/images/I/61rH38KyMnL.jpg",
                            "https://m.media-amazon.com/images/I/71xvR9thu1L.jpg"
                        ],
                        "rating": 4.5,
                        "location": "carousel",
                        "price_upper": 375,
                        "reviews_count": 45,
                        "is_prime_eligible": true
                    },
                    {
                        "pos": 2,
                        "asin": "B0BW9RPQPW",
                        "type": "organic_also_viewed",
                        "price": 362,
                        "title": "Samsung Smart TV UHD HDR de 50 polegadas CU7110 (2023) - Processador Crystal 4K, áudio Adaptive Sound, PurColour, hub de jogos integrado na TV, Strea",
                        "images": [
                            "https://m.media-amazon.com/images/I/81eKwOlfhTL._AC_SS57_.jpg",
                            "https://m.media-amazon.com/images/I/619tbh+PSSL.jpg",
                            "https://m.media-amazon.com/images/I/81iuMoHZWhL.jpg"
                        ],
                        "rating": 4.5,
                        "location": "carousel",
                        "price_upper": 362,
                        "reviews_count": 45,
                        "is_prime_eligible": true
                    },
                    {...}
                ],
                "url": "https://www.amazon.co.uk/dp/B08Y6Z944Q/",
                "asin": "B08Y6Z944Q",
                "page": 1,
                "brand": "Samsung",
                "price": 0,
                "stock": "",
                "title": "Samsung AU7100 50 polegadas (2021) – Crystal 4K Smart TV com qualidade de imagem HDR10+, Adaptive Sound, Motion Xcelerator Picture, áudio Samsung Q-Symphony e modo de jogo - UE50AU7100KXXU",
                "coupon": "",
                "images": [
                    "https://m.media-amazon.com/images/I/71Urp17dnYL._AC_SL1500_.jpg",
                    ...
                    "https://m.media-amazon.com/images/I/51yb9wscZTL._AC_SL1500_.jpg"
                ],
                "rating": 4.5,
                "category": [
                    {
                        "ladder": [
                            {
                                "url": "/tv-bluray-dvd-home-cinema/b/ref=dp_bc_aui_C_1?ie=UTF8&node=560858",
                                "name": "Cinema em casa, TV e vídeo"
                            },
                            {
                                "url": "/LED-Smart-4K-TVs/b/ref=dp_bc_aui_C_2?ie=UTF8&node=560864",
                                "name": "TVs"
                            }
                        ]
                    }
                ],
                "currency": "GBP",
                "delivery": [],
                "_warnings": [
                    "Não foi possível analisar a contagem de preços.",
                    "Não foi possível analisar o preço.",
                    "Não foi possível analisar a descrição."
                ],
                "page_type": "Produto",
                "price_sns": 0,
                "variation": [
                    {
                        "asin": "B08Y7182XL",
                        "selected": false,
                        "dimensions": {
                            "Nome do tamanho": "85\""
                        }
                    },
                    {
                        "asin": "B08Y733RV1",
                        "selected": false,
                        "dimensions": {
                            "Nome do tamanho": "43\""
                        }
                    },
                    {...}
                ],
                "has_videos": true,
                "sales_rank": [
                    {
                        "rank": 28405,
                        "ladder": [
                            {
                                "url": "/gp/bestsellers/electronics/ref=pd_zg_ts_electronics",
                                "name": "Eletrônicos e Foto"
                            }
                        ]
                    },
                    {
                        "rank": 479,
                        "ladder": [
                            {
                                "url": "/gp/bestsellers/electronics/560864/ref=pd_zg_hrsr_electronics",
                                "name": "TVs"
                            }
                        ]
                    }
                ],
                "top_review": "Isto é uma TV excelente pelo preço, com uma imagem incrível, especialmente em serviços de streaming, que é o que assistimos na maior parte do tempo. Li primeiro várias análises profissionais online, todas a classificando muito bem, e não fiquei decepcionado. Há bastante configuração a fazer e precisei ajustar algumas definições para obter a melhor imagem. No início, a imagem estava escura demais, especialmente no Amazon Prime. Parece que esse é um problema específico do Prime. Consegui uma imagem muito melhor desativando a \"Otimização de brilho\". Também não gostamos do efeito \"ultra real\" que você obtém com TVs LED 4K. Mudar para o \"Modo cineasta\" resolveu isso. A qualidade do som é boa, mas usamos uma soundbar de qualquer forma. Gosto particularmente dos dois controles remotos que vêm com a TV. Há um controle remoto tradicional com muitos botões: usei-o no início para configurar tudo, inclusive controlar o reprodutor de Blu-ray e a soundbar. Quando tudo estava funcionando, mudei para o controle remoto menor, que tem apenas os botões mais essenciais, mas parece e se sente mais refinado e tem um \"clique\" melhor nos botões do que seu irmão maior. Assistir à TV aberta também é bom, embora não tão bom quanto os serviços de streaming. Não somos jogadores, então não posso comentar sobre a qualidade nesse aspecto. No geral, uma ótima TV e uma pechincha.\n  \nLeia mais",
                "asin_in_url": "B08Y6Z944Q",
                "description": "",
                "parent_asin": "B09DLFS6JN",
                "price_upper": 0,
                "pricing_str": "",
                "pricing_url": "https://www.amazon.co.uk/gp/offer-listing/B08Y6Z944Q?startIndex=0",
                "manufacturer": "Samsung",
                "price_buybox": -1,
                "product_name": "Samsung AU7100 50 polegadas (2021) – Crystal 4K Smart TV com qualidade de imagem HDR10+, Adaptive Sound, Motion Xcelerator Picture, áudio Samsung Q-Symphony e modo de jogo - UE50AU7100KXXU",
                "bullet_points": "Excelência em entretenimento doméstico com a AU7100 – uma Smart TV Ultra HD que entrega tudo, a Smart TV Samsung AU7100 de 50 polegadas combina visuais impressionantes, cores vibrantes, áudio nítido e um design fino marcante para valorizar seu ambiente.\nObtenha uma imagem poderosa com 4K impressionante – sua Smart TV de 50 polegadas inclui Dynamic Crystal Colour e um aprimorador de contraste, para que você possa assistir a todos os seus programas favoritos em detalhes 4K impressionantes, com cores que se destacam e contraste que gera uma imagem mais nítida.\nExperimente a perfeição do áudio com Adaptive Sound na sua TV - sua TV Samsung ajusta o som em cada cena ao que está na tela, para que você se sinta parte da ação. Q-Symphony permite uma experiência de cinema quando você adiciona uma soundbar Samsung.\nAtualize a configuração do seu escritório ou mergulhe nos jogos com sua TV Samsung – o PC na TV permite acessar remotamente o PC do escritório a partir da sua Smart TV, para que você possa fazer tudo, direto da sala de estar. Nossa Smart TV também oferece um modo de jogo imersivo.\nComece a experimentar as TVs Samsung - acreditamos que uma TV é mais do que algo que você assiste. Ela deve inspirar, surpreender, envolver e imergir você. Da qualidade de imagem ao design elegante, nossas TVs ultrapassam os limites do que é possível e do que uma TV pode ser.",
                "price_initial": 0,
                "pricing_count": 1,
                "reviews_count": 2067,
                "sns_discounts": [],
                "developer_info": [],
                "price_shipping": 0,
                "product_details": {
                    "asin": "B08Y6Z944Q",
                    "São necessárias 2 pilhas AAA. (incluídas)",
                    "manufacturer": "Samsung",
                    "item_model_number": "UE50AU7100KXXU",
                    "product_dimensions": "5.99 x 111.68 x 64.42 cm; 11.4 kg",
                    "2 de mar. de 2021"
                },
                "featured_merchant": [],
                "is_prime_eligible": false,
                "parse_status_code": 12005,
                "product_dimensions": "5.99 x 111.68 x 64.42 cm; 11.4 kg",
                "answered_questions_count": 0,
                "rating_stars_distribution": [
                    {
                        "rating": 5,
                        "percentage": 74
                    },
                    {
                        "rating": 4,
                        "percentage": 15
                    },
                    {...}
                ]
            },
            "created_at": "2024-07-01 10:35:28",
            "updated_at": "2024-07-01 10:35:32",
            "page": 1,
            "url": "https://www.amazon.co.uk/dp/B08Y6Z944Q/",
            "job_id": "7213490386797350913",
            "status_code": 200,
            "parser_type": ""
        }
    ]
}
```

</details>

Usamos o método de integração síncrona [**Realtime**](/products/pt-br/web-scraper-api/integration-methods/realtime.md) método de integração em nossos exemplos. Se você quiser usar [**Proxy Endpoint**](/products/pt-br/web-scraper-api/integration-methods/proxy-endpoint.md) ou assíncrono [**Push-Pull**](/products/pt-br/web-scraper-api/integration-methods/push-pull.md) de integração, consulte a [**métodos de integração**](/products/pt-br/web-scraper-api/integration-methods.md) seção.

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

### Genérico

Opções básicas de configuração e personalização para extrair URLs do Google.

<table><thead><tr><th width="222">Parâmetro</th><th width="350.3333333333333">Descrição</th><th>Valor padrão</th></tr></thead><tbody><tr><td><mark style="background-color:green;"><strong>source</strong></mark></td><td>Define o scraper.</td><td><code>amazon</code></td></tr><tr><td><mark style="background-color:green;"><strong>url</strong></mark></td><td>URL direta (link) para a página da Amazon</td><td>-</td></tr><tr><td><code>render</code></td><td>Ativa a renderização de JavaScript quando definido como <code>html</code>. <a href="/products/pt-br/web-scraper-api/features/js-rendering-and-browser-control.md#javascript-rendering"><strong>Mais informações</strong></a><strong>.</strong></td><td>-</td></tr><tr><td><code>parse</code></td><td>Retorna os dados analisados quando definido como <code>verdadeiro</code><strong>.</strong> Limitado a URLs de tipos específicos de <a href="/products/pt-br/web-scraper-api/features/custom-parser.md"><strong>tipos de página da Amazon</strong></a>.</td><td><code>false</code></td></tr><tr><td><code>callback_url</code></td><td>URL para seu endpoint de callback. <a href="/products/pt-br/web-scraper-api/integration-methods/push-pull.md"><strong>Mais informações</strong></a>.</td><td>-</td></tr><tr><td><code>user_agent_type</code></td><td>Tipo de dispositivo e navegador. A lista completa pode ser encontrada <a href="/products/pt-br/web-scraper-api/features/http-context-and-job-management/user-agent-type.md"><strong>aqui</strong></a>.</td><td><code>desktop</code></td></tr></tbody></table>

\- parâmetro obrigatório

### Localização

Adapte os resultados para locais geográficos e idiomas específicos.

| Parâmetro      | Descrição                                                                                                                                                                                                    | Valor padrão |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ |
| `geo_location` | O *Entregar para* localização. Consulte nosso guia sobre como usar este parâmetro [**aqui**](/products/pt-br/web-scraper-api/features/localization/proxy-location.md#list-of-supported-geo_location-values). | -            |
| `locale`       | `Accept-Language` valor do cabeçalho, que define o idioma da interface da página da Amazon. [**Mais informações**](/products/pt-br/web-scraper-api/features/localization/domain-locale.md#amazon).           | -            |

{% hint style="warning" %}
**IMPORTANTE:** Na maioria dos tipos de página, a Amazon adapta os resultados retornados com base na localização de entrega dos clientes. Portanto, recomendamos usar o `geo_location` parâmetro para definir sua localização de entrega preferida. Você pode ler mais sobre o uso de `geo_location` com a Amazon [**aqui**](broken://pages/7265b7a0784442b64e2305499623202dc4504c4d).
{% endhint %}

### Outros

Configurações e controles avançados adicionais para requisitos especializados.

| Parâmetro                                          | Descrição                                                                                                                                                                                                                                                          | Valor padrão                                                                                                                                                                                                                                                          |
| -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><code>context</code>:<br><code>moeda</code></p> | Define a moeda. Verifique os valores disponíveis [**aqui**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2FNNybEQaVnTrc9ymR1NGE%2Fcurrency_new.json?alt=media\&token=a77440f9-50a5-4e07-9993-b2db2144800b). | Depende do marketplace. Verifique os valores padrão [**aqui**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2FNNybEQaVnTrc9ymR1NGE%2Fcurrency_new.json?alt=media\&token=a77440f9-50a5-4e07-9993-b2db2144800b). |


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developers.oxylabs.io/api-targets/pt-br/e-commerce/amazon/url.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
