# Amazon

Con Web Scraper API, puedes rastrear y analizar varios tipos de **Amazon** páginas; a continuación hay una visión general de todos los scrapers compatibles y sus respectivos `source` source.

| Fuente               | Descripción                                                                                                                                                                                      | Parser dedicado                                                                                                                                                                                                       |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `amazon_product`     | [**Página de producto**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/targets/amazon/product) de un ASIN de tu elección.                                | Sí.                                                                                                                                                                                                                   |
| `amazon_search`      | [**Resultados de búsqueda**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/targets/amazon/search) para un término de búsqueda de tu elección.            | Sí.                                                                                                                                                                                                                   |
| `amazon_pricing`     | [**Lista de ofertas**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/targets/amazon/pricing) disponibles para un ASIN de tu elección.                    | Sí.                                                                                                                                                                                                                   |
| `amazon_sellers`     | [**Información del vendedor**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/targets/amazon/sellers) de un vendedor de tu elección.                      | Sí.                                                                                                                                                                                                                   |
| `amazon_bestsellers` | Lista de [**artículos más vendidos**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/targets/amazon/best-sellers) en un nodo de taxonomía de tu elección. | Sí                                                                                                                                                                                                                    |
| `amazon`             | Enviar cualquier [**URL de Amazon**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/targets/amazon/url) de Mercado Libre                                  | Limitado a URLs de tipos específicos [**Tipos de página de Amazon**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/features/result-processing-and-storage/dedicated-parsers). |

## que quieras.

**Primeros pasos**Crea tus credenciales de usuario API [**: Regístrate para una prueba gratuita o compra el producto en el**](https://dashboard.oxylabs.io/en/registration) panel de Oxylabs`para crear tus credenciales de usuario API (` y `y`).

{% hint style="warning" %}
PASSWORD [**Si necesitas más de un usuario API para tu cuenta, por favor contacta con nuestro**](mailto:support@oxylabs.io) soporte al cliente
{% endhint %}

### o escribe a nuestro soporte en chat en vivo 24/7.

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

```bash
curl 'https://realtime.oxylabs.io/v1/queries' \
--user "USERNAME:PASSWORD" \
-H "Content-Type: application/json" \
-d '{
        "source": "amazon_product",
        "query": "B07FZ8S74R",
        "geo_location": "90210",
        "parse": true
    }'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
from pprint import pprint

# Estructurar payload.
payload = {
    'source': 'amazon_product',
    'query': 'B07FZ8S74R',
    'geo_location': '90210',
    'parse': True
}

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

# Imprimir la respuesta formateada en stdout.
pprint(response.json())
```

{% endtab %}

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

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

const username = "USERNAME";
const password = "PASSWORD";
const body = {
    source: "amazon_product",
    query: "B07FZ8S74R",
    geo_location: "90210",
    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="PHP" %}

```php
<?php

$params = array(
    'source' => 'amazon_product',
    'query' => 'B07FZ8S74R',
    'geo_location' => '90210',
    '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="C#" %}

```csharp
using System;
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_product",
                query = "B07FZ8S74R",
                geo_location = "90210",
                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.Encoding.ASCII.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="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_product",
		"query":        "B07FZ8S74R",
		"geo_location": "90210",
		"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)
	request.Header.Set("Content-Type", "application/json")
	response, _ := client.Do(request)

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

{% endtab %}

{% tab title="HTTP" %}

```http
https://realtime.oxylabs.io/v1/queries?source=amazon_product&query=B07FZ8S74R&geo_location=90210&parse=true&access_token=12345abcde
```

{% 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_product");
        jsonObject.put("query", "B07FZ8S74R");
        jsonObject.put("geo_location", "90210");
        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_product",
    "query": "B07FZ8S74R",
    "geo_location": "90210",
    "parse": true
}
```

{% endtab %}
{% endtabs %}

<details>

<summary>Ejemplo de salida</summary>

```json
{
    "results": [
        {
            "content": {
                "ads": [
                    {
                        "pos": 1,
                        "asin": "B07KRY43KN",
                        "type": "organic_also_viewed",
                        "price": 29.99,
                        "title": "Echo Glow - Multicolor smart lamp, Works with Alexa",
                        "images": [
                            "https://images-na.ssl-images-amazon.com/images/I/61kaGoho9HL._AC_UL160_SR160,160_.jpg"
                        ],
                        "rating": 4.5,
                        "location": "carousel",
                        "price_upper": 29.99,
                        "reviews_count": 48742,
                        "is_prime_eligible": false
                    },
                    {...}
                ],
                "url": "https://www.amazon.com/dp/B07FZ8S74R",
                "asin": "B07FZ8S74R",
                "page": 1,
                "brand": "Amazon",
                "price": 0,
                "stock": "Actualmente no disponible. No sabemos cuándo o si este artículo volverá a estar en stock.",
                "title": "Echo Dot (3rd Gen, 2018 release) - Smart speaker with Alexa - Charcoal",
                "coupon": "",
                "images": [
                    "https://m.media-amazon.com/images/I/61MZfowYoaL._AC_SL1000_.jpg",
                    "..."
                ],
                "rating": 4.7,
                "category": [],
                "currency": "USD",
                "delivery": [],
                "page_type": "Product",
                "price_sns": 0,
                "variation": [],
                "has_videos": false,
                "sales_rank": [],
                "top_review": "Recientemente añadí el Echo Dot (3.ª generación, lanzamiento 2018) a la configuración de mi hogar inteligente y estoy completamente impresionado con su rendimiento y capacidades. Este compacto altavoz inteligente ofrece mucha funcionalidad y comodidad. La configuración fue muy sencilla \u2013 en minutos tenía a Alexa funcionando y lista para ayudar. El reconocimiento de voz es notablemente preciso, y las respuestas de Alexa son rápidas y útiles. Ya sea para consultar el tiempo, configurar temporizadores o reproducir mi música favorita, el Echo Dot se integra sin esfuerzo en mi rutina diaria. La calidad de sonido es sorprendentemente potente para un dispositivo tan compacto. La claridad y la profundidad del audio son impresionantes, lo que lo hace perfecto para transmitir música o incluso como altavoz secundario en un sistema de sonido mayor. Aprecio el diseño elegante y discreto del Echo Dot, que se integra perfectamente en la decoración de cualquier habitación. El color Charcoal añade un toque de elegancia, siendo una incorporación visualmente agradable a mi espacio. Una de las características destacadas es el control del hogar inteligente. El Echo Dot se conecta sin esfuerzo con varios dispositivos inteligentes, permitiéndome controlar luces, termostatos y más con simples comandos de voz. Realmente mejora la comodidad general de mi configuración de hogar inteligente. En conclusión, el Echo Dot (3.ª generación, lanzamiento 2018) ha demostrado ser una adición invaluable a mi hogar. Su combinación de precisión en el reconocimiento de voz, calidad de sonido impresionante e integración fluida con el hogar inteligente lo convierten en un producto destacado en el mercado de altavoces inteligentes. Si buscas un altavoz inteligente fiable y con muchas funciones, el Echo Dot es una excelente opción \u2013 ¡muy recomendable!\n  \nLeer más",
                "asin_in_url": "B07FZ8S74R",
                "description": "",
                "parent_asin": "B07H65KP63",
                "price_upper": 0,
                "pricing_str": "",
                "pricing_url": "https://www.amazon.com/gp/offer-listing/B07FZ8S74R?startIndex=0",
                "manufacturer": "Amazon",
                "price_buybox": -1,
                "product_name": "Echo Dot (3rd Gen, 2018 release) - Smart speaker with Alexa - Charcoal",
                "bullet_points": "CONOCE EL ECHO DOT - Nuestro altavoz inteligente más compacto que encaja perfectamente en espacios pequeños.\nSONIDO RICO Y POTENTE - Mejor calidad de altavoz que el Echo Dot Gen 2 para un sonido más rico y potente. Empareja con un segundo Echo Dot para sonido estéreo.\nALEXA TE AYUDA MÁS CON PRIME - Escucha millones de canciones con Amazon Music, usa tu voz para envíos en 2 días, escucha audiolibros en Audible y mucho más.\nFACILITA TU VIDA - Alexa puede establecer temporizadores, consultar el tiempo, leer las noticias, ajustar termostatos, responder preguntas y más para ayudar con las tareas diarias.\nDISEÑADO PARA PROTEGER TU PRIVACIDAD \u2013 Construido con múltiples capas de controles de privacidad, incluida la capacidad de eliminar tus grabaciones, silenciar tu micrófono y más controles de privacidad en la app.\nCONTROLA LA MÚSICA CON UNA FRASE SIMPLE - Echo Dot te permite reproducir canciones desde Amazon Music, Apple Music, Spotify, SiriusXM y otros, así como vía Bluetooth. El control por voz con Alexa facilita pasar a la siguiente canción, ajustar el volumen y pausar sin levantarte.\nCONECTA CON OTROS MANOS LIBRES - Llama a amigos y familiares que tengan la app Alexa o un dispositivo Echo. Ingresa instantáneamente a otras habitaciones o anuncia en toda la casa que la cena está lista.\nALEXA TIENE SKILLS - Con decenas de miles de skills y en aumento, Alexa siempre se vuelve más inteligente y añade nuevas habilidades como seguimiento de fitness, juegos y más.",
                "price_initial": 0,
                "pricing_count": 1,
                "reviews_count": 985157,
                "sns_discounts": [],
                "developer_info": [],
                "price_shipping": 0,
                "featured_merchant": [],
                "is_prime_eligible": false,
                "parse_status_code": 12005,
                "answered_questions_count": 0,
                "rating_stars_distribution": [
                    {
                        "rating": 5,
                        "percentage": 82
                    },
                    {...}
                ]
            },
            "created_at": "2024-07-01 09:05:45",
            "updated_at": "2024-07-01 09:05:55",
            "page": 1,
            "url": "https://www.amazon.com/dp/B07FZ8S74R",
            "job_id": "7213467808577910785",
            "status_code": 200,
            "parser_type": ""
        }
    ]
}
```

</details>

Usamos el método de integración síncrono [**Realtime**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/integration-methods/realtime) en nuestros ejemplos. Si desea usar [**Proxy Endpoint**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/integration-methods/proxy-endpoint) o asíncrono [**Push-Pull**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/integration-methods/push-pull) para la integración, consulte los [**métodos de integración**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/integration-methods) sección.

de la sección. `geo_location`, `user_agent_type`, `parse`, `user_agent_type` y más para personalizar tu solicitud de scraping. Leer más:

{% content-ref url="../features" %}
[features](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/features)
{% endcontent-ref %}
