Tony Wang4 min de lecturaCómo scrapear datos de productos de Amazon en 2026 (API y Python)
Tres formas de scrapear datos y precios de Amazon en 2026: DIY, no-code o API estructurada — qué devuelve cada una y las bases legales.
La forma más rápida de scrapear datos de productos de Amazon en 2026 es llamar a una API estructurada de Amazon que devuelve JSON normalizado — título, ASIN, precio, disponibilidad, rating y número de reseñas — en lugar de operar y cuidar tu propio scraper. Puedes construir un scraper DIY en Python, pero las defensas anti-bot de Amazon, los layouts cambiantes y los CAPTCHAs hacen costoso mantenerlo funcionando. Esta guía cubre los tres enfoques, qué devuelve cada uno, dónde falla cada uno y las bases legales.
| Enfoque | Salida | ¿Aguanta a escala? | Mejor para |
|---|---|---|---|
| DIY en Python | HTML crudo que tú parseas | No — CAPTCHAs, bloqueos, cambios de layout | Aprender, scripts puntuales |
| Herramientas no-code | Exportación CSV/JSON | Limitado | Exportaciones puntuales |
| API estructurada de Amazon | JSON normalizado | Sí — proxies/parsing resueltos | Pipelines en producto, programados |
¿Es legal scrapear datos de productos de Amazon?
Los datos públicos de producto — títulos, precios, ratings y reseñas — suelen tener menor riesgo al recopilarse: en EE. UU., hiQ Labs v. LinkedIn estableció que acceder a datos disponibles públicamente no viola la Computer Fraud and Abuse Act, y hechos como los precios no son objeto de copyright. Dicho esto, las Conditions of Use de Amazon prohíben el acceso automatizado, así que puedes enfrentarte a bloqueos o suspensiones, y los datos personales activan leyes de privacidad. Reglas generales:
- Recopila solo datos públicos de producto; evita datos personales y todo lo que esté detrás de un login.
- Respeta los límites de tasa y no degrades el servicio.
- Revisa los términos de Amazon y tus propios requisitos de cumplimiento.
Esto no es asesoría legal — ante la duda, consulta con un abogado.
Opción 1: DIY en Python (y por qué falla)
Para una sola página podrías usar requests + BeautifulSoup, parsear los campos del producto y exportar a CSV — escalando a un navegador headless cuando el JavaScript o las comprobaciones anti-bot se interponen:
import csv
import requests
from bs4 import BeautifulSoup
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) "
"AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0 Safari/537.36",
"Accept-Language": "en-US,en;q=0.9",
}
resp = requests.get("https://www.amazon.com/dp/B0DGJ736JM", headers=headers, timeout=30)
soup = BeautifulSoup(resp.text, "html.parser")
title = soup.select_one("#productTitle")
price = soup.select_one(".a-price .a-offscreen")
rating = soup.select_one("#acrPopover .a-icon-alt")
row = {
"asin": "B0DGJ736JM",
"title": title.get_text(strip=True) if title else None,
"price": price.get_text(strip=True) if price else None,
"rating": rating.get_text(strip=True) if rating else None,
}
with open("amazon.csv", "w", newline="") as f:
writer = csv.DictWriter(f, fieldnames=row.keys())
writer.writeheader()
writer.writerow(row)
# ...on a good day. On a bad day: a CAPTCHA, a 503, or a redirect to a bot check.
Funciona bien como demo y luego falla a escala:
- Anti-bot — los CAPTCHAs y los bloqueos de IP te empujan hacia la rotación de proxies y el fingerprinting.
- Cambios de layout — Amazon modifica el DOM y tus selectores se rompen sin avisar.
- Proliferación de ASIN y variaciones — el precio y la disponibilidad varían según la variante, el vendedor y la región.
- Escala — una recopilación fiable exige pools de proxies, reintentos y monitorización que tienes que operar tú.
La mayor parte del coste no es el primer scrape — es mantenerlo con vida.
Opción 2: herramientas no-code
Los extractores visuales y las extensiones de navegador se encargan de la página por ti y exportan CSV o JSON. Están bien para exportaciones puntuales, pero son menos prácticas cuando necesitas datos de Amazon dentro de un producto o pipeline, de forma programada y con campos predecibles.
Opción 3: una API estructurada de Amazon
Para flujos de trabajo repetibles e integrados en producto, una API de scraping de Amazon te da endpoints documentados que devuelven JSON normalizado — sin navegador, sin selectores, sin pool de proxies que operar. Obtén un producto por ASIN:
curl https://api.crawlora.net/api/v1/amazon/product/B0DGJ736JM \
-H "x-api-key: $CRAWLORA_API_KEY"
La misma llamada en Python:
import requests
resp = requests.get(
"https://api.crawlora.net/api/v1/amazon/product/B0DGJ736JM",
headers={"x-api-key": "YOUR_API_KEY"},
)
data = resp.json()["data"]
print(data["title"], data["price"], data["rating"])
La respuesta es JSON normalizado que puedes almacenar directamente (los campos mostrados son ilustrativos — revisa los docs para el esquema actual):
{
"code": 200,
"msg": "OK",
"data": {
"asin": "B0DGJ736JM",
"title": "Example product",
"price": 189,
"currency": "USD",
"availability": "In Stock",
"rating": 4.4,
"review_count": 1055
}
}
¿Necesitas recopilar un conjunto de resultados completo? Usa el endpoint de búsqueda:
curl "https://api.crawlora.net/api/v1/amazon/search?query=wireless+earbuds&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"
Qué puedes recopilar
Cuando el listado público los expone, los campos se agrupan en unas pocas categorías:
- Identidad del producto — título, ASIN, marca o vendedor, imágenes y la URL del producto.
- Precio — precio actual, moneda, precio tachado/de lista y disponibilidad.
- Prueba social — rating promedio, número de reseñas y muestras de reseñas; para minería completa de reseñas, pagina las reseñas del producto.
- Metadatos del listado — posición en el resultado de búsqueda e insignias (Prime, Best Seller, Amazon's Choice), además del ASIN o el contexto de la consulta que solicitaste.
Vuelve a ejecutarlo de forma programada y guarda una fila por ASIN y ejecución para construir un histórico de precio y rating.
Limitaciones y desafíos comunes
Incluso con una buena API, ten presentes algunas realidades propias de Amazon:
- Resultados personalizados. Amazon adapta los resultados a la ubicación y el historial, así que dos solicitudes pueden diferir; los parámetros de locale reducen esto pero no lo eliminan.
- Límites de paginación. La búsqueda está limitada a unas 20 páginas por consulta — divide por categoría o filtros para ir más profundo.
- Volatilidad de precios. Los precios cambian con frecuencia, así que para un seguimiento preciso necesitas volver a scrapear de forma programada, no una sola vez.
- Anti-bot para DIY. El scraping directo se enfrenta a CAPTCHAs, análisis de comportamiento y comprobaciones de cookies/fingerprint; una API estructurada absorbe el enrutamiento de proxies, el renderizado y los reintentos detrás del endpoint.
- Marketplace y moneda. El endpoint usa por defecto
amazon.com(USD); confirma la cobertura antes de depender de otros marketplaces regionales.
Dónde se usa esto
Los datos estructurados de Amazon impulsan algunos flujos de trabajo habituales:
- Monitorización de precios y MAP — sigue precios y disponibilidad y marca violaciones de MAP. Consulta el caso de uso de monitorización de precios y MAP.
- Monitorización de productos — vigila listados, ratings y cambios de Buy Box con monitorización de productos de Amazon.
- Inteligencia de e-commerce — compara catálogos y surtido entre marketplaces con inteligencia de productos de e-commerce.
Fuentes
Empieza a recopilar
Pruébalo primero, gratis: pasa cualquier URL pública por el Free Web Scraper, o comprueba si un sitio bloquea bots con el Anti-Bot Checker — sin registro.
Prueba el endpoint de producto en el Playground, revisa el esquema de respuesta en los docs de la API y consulta los costes en créditos en la página de precios. ¿Vas a aplicar el mismo playbook en otro marketplace? Mira cómo scrapear eBay y cómo scrapear tiendas Shopify. Para el panorama más amplio, consulta las mejores APIs de scraping de Amazon, cómo elegir una API de web scraping, alternativas a ScraperAPI y si el web scraping es legal.
Preguntas frecuentes
¿Puedo scrapear Amazon sin que me bloqueen?
Con una API estructurada, el enrutamiento de proxies y la ejecución del navegador se resuelven detrás del endpoint, así que no gestionas los bloqueos tú mismo. Un scraper DIY se enfrenta a CAPTCHAs, análisis de comportamiento y comprobaciones de cookies/fingerprint, por lo que necesita proxies y un ritmo cuidadoso.
¿Qué datos puedo obtener de Amazon?
Campos públicos del listado: título, ASIN, precio, moneda, disponibilidad, rating, número de reseñas, marca o vendedor, imágenes y posición en el resultado de búsqueda, cuando estén disponibles.
¿Puedo scrapear reseñas de Amazon?
Sí, siempre que sean públicas. Las respuestas de producto incluyen el rating promedio, el número de reseñas y muestras de reseñas; para el texto completo de las reseñas y el análisis de sentimiento, pagina las reseñas del producto. Trata los nombres y textos de los reseñadores como datos potencialmente personales y recopila solo lo que necesites.
¿Puedo scrapear precios de Amazon y seguir sus cambios?
Sí. Obtén precio, moneda y disponibilidad, guarda una fila por ASIN y ejecución, y luego compara cada ejecución con la anterior para detectar movimientos de precio, cambios de stock e infracciones de MAP. Los precios cambian con frecuencia, así que vuelve a scrapear de forma programada.
¿Puedo scrapear Amazon desde otros países o marketplaces?
Amazon ofrece resultados y monedas distintos según el marketplace y la región. El endpoint usa por defecto amazon.com (USD); confirma la cobertura antes de depender de otros marketplaces regionales, y cuenta con que persista algo de personalización.
¿Esto es la SP-API o la PA-API oficial de Amazon?
No. Esto extrae datos públicos de productos de Amazon y es independiente de la Selling Partner API oficial de Amazon (vendedores) y de la Product Advertising API (afiliados), ambas limitadas a tu propia cuenta.
¿Con qué frecuencia puedo actualizar los datos?
Con la frecuencia que permitan tu plan y las pautas de uso responsable; la mayoría de los equipos usa snapshots programados en lugar de polling continuo.