# Ecommerce Listing > Extrae listas de productos de páginas de categoría o búsqueda, con URL, nombre, precio, imagen, rating y reseñas por artículo, con filtros y paginación en Amazon, eBay, Walmart, Shopify y Google Shopping. Fuente: https://skillsagentes.com/skills/browser-act/skills/ecommerce-listing Markdown: https://skillsagentes.com/skills/browser-act/skills/ecommerce-listing.md Repositorio: https://github.com/browser-act/skills Autor: browser-act Licencia: MIT Actualizado: hace 4 meses Coste de contexto: 224 tok instalada, 1.7k tok al activarse, 4.2k tok con todos los archivos del bundle Bundle: 3 archivos, 17 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add browser-act/skills --skill ecommerce-listing --agent claude-code # Cursor npx -y skills add browser-act/skills --skill ecommerce-listing --agent cursor # Codex npx -y skills add browser-act/skills --skill ecommerce-listing --agent codex # Gemini CLI npx -y skills add browser-act/skills --skill ecommerce-listing --agent gemini # Windsurf npx -y skills add browser-act/skills --skill ecommerce-listing --agent windsurf # Cline npx -y skills add browser-act/skills --skill ecommerce-listing --agent cline ``` ## Qué hace - Extrae listas de productos de páginas de categoría, resultados de búsqueda o búsquedas por palabra clave - Devuelve arrays paginados con URL, nombre, precio, moneda, imagen, rating y número de reseñas por producto - Construye URLs de búsqueda con filtros de precio, marca, categoría, rating mínimo, stock y orden para Amazon, eBay, Walmart y Google Shopping - Detecta y navega la siguiente página vía rel=next, controles de paginación o botones 'load more' ## Cuándo usarla - Listado de categoría o resultados de búsqueda de un e-commerce - Búsqueda por palabra clave con filtros de precio, marca o rating - Extracción masiva de URLs o catálogo de productos - Extracción de productos en múltiples páginas ## Qué la activa - "Extrae la lista de productos de esta página de categoría de Amazon" - "Busca 'auriculares' en eBay con precio entre $50 y $200 y sácame los resultados" - "Obtén todos los productos de esta colección de Shopify con paginación" - "Búsqueda de portátiles en Walmart ordenados por precio ascendente" ## Antes de instalar - Requiere que el navegador esté abierto y conectado; no se necesita login para páginas de listado públicas. - Necesita en el PATH: python - makes network requests ## Archivos - SKILL.md — 7 KB - scripts/extract-listing-next-page.py — 2 KB - scripts/extract-listing.py — 7 KB ## SKILL.md Reproducido tal cual desde browser-act/skills bajo MIT. Esta sección es el documento original y está en inglés. # E-commerce — Product Listing > Category/search URL or keyword + filters → paginated product list (URL, name, price, image, rating per item) ## Language All process output to user (progress updates, process notifications) follows the user's language. ## Objective Extract a structured list of products from any e-commerce category, search results, or keyword search page, with support for price/brand/rating filters and multi-page pagination. ## Prerequisites - Target browser is open and connected - No login required for public listing pages ## Pre-execution Checks ### 1. Tool Readiness If browser-act has been confirmed available in the current session → skip this step. Invoke `browser-act` via Skill tool to load usage. If installation or configuration issues arise, follow its guidance to resolve then retry. ## Capability Components > This Skill's operational boundary = what the user can manually do in their browser. It only reads data already displayed to the user on the page. JS code is encapsulated in Python files under the `scripts/` directory, invoked via `eval "$(python scripts/xxx.py {params})"`. Use the bash tool for execution. ### DOM: Extract product list from current page Navigate to the listing/search page first, then extract: ```bash eval "$(python scripts/extract-listing.py --max-results 20)" ``` Parameters: - `--max-results`: max items to return per page, default 20 Output example: ```json { "count": 20, "items": [ { "url": "https://www.amazon.com/dp/B09WNK39JN", "name": "Amazon Echo Pop", "price": 39.99, "currency": "USD", "image": "https://m.media-amazon.com/images/I/...jpg", "rating": 4.7, "review_count": 103789, "asin": "B09WNK39JN" } ] } ``` ### DOM: Get next page URL After extracting a page, get the URL to navigate to for the next page: ```bash eval "$(python scripts/extract-listing-next-page.py)" ``` Output example: ```json {"next_url": "https://www.amazon.com/s?k=headphones&page=2", "has_next": true, "method": "amazon"} ``` When `has_next` is false, pagination is complete. ### Composite: Keyword search with filters → product list **Step 1 — Build search URL with filters:** Construct the URL based on target site and desired filters using the patterns below, then navigate: **Amazon** (`amazon.com`): ``` https://www.amazon.com/s?k={keyword_urlencoded}&s={sort}&rh={filter_params} ``` - Sort (`s`): `price-asc-rank` | `price-desc-rank` | `review-rank` | `date-desc-rank` (omit for relevance) - Price filter: append `p_36:{min_cents}-{max_cents}` to `rh` (dollars × 100, e.g. $50–$200 → `p_36:5000-20000`) - Rating filter: append `avg_customer_review:four-and-above` | `three-and-above` | `two-and-above` to `rh` - In-stock: append `p_n_availability:1248801011` to `rh` - Multiple `rh` values: comma-separate (e.g. `rh=p_36:5000-20000,avg_customer_review:four-and-above`) **eBay** (`ebay.com`): ``` https://www.ebay.com/sch/i.html?_nkw={keyword_urlencoded}&_udlo={min_price}&_udhi={max_price}&_sop={sort_num} ``` - Sort: `12`=BestMatch | `15`=PriceLow | `16`=PriceHigh | `24`=NewlyListed **Walmart** (`walmart.com`): ``` https://www.walmart.com/search?q={keyword_urlencoded}&min_price={min}&max_price={max}&sort={sort} ``` - Sort: `best_match` | `price_low` | `price_high` | `rating_high` **Google Shopping** (cross-site, no `--site`): ``` https://www.google.com/search?tbm=shop&q={keyword_urlencoded}&tbs=p_ord:{sort} ``` - Sort: `rv`=relevance | `pd`=price ascending | `prd`=price descending **Any site with `--site`** (generic): ``` https://{site}/search?q={keyword_urlencoded} ``` **Step 2 — Navigate and extract:** 1. `navigate {constructed_url}` → `wait stable` 2. `eval "$(python scripts/extract-listing.py --max-results {n})"` **Step 3 — Paginate (repeat until done):** 1. `eval "$(python scripts/extract-listing-next-page.py)"` 2. If `has_next` is true: `navigate {next_url}` → `wait stable` → re-run extract-listing.py 3. If `has_next` is false: stop ## Pagination **URL Pagination**: `extract-listing-next-page.py` detects `rel=next` link, platform-specific pagination controls, and URL page parameters. Returns `next_url` for navigation. **DOM Pagination**: For sites with load-more buttons (some Shopify themes): 1. `state` to find "Load more" or "Show more" button 2. `click ` → `wait stable` → re-run `extract-listing.py` 3. Termination: button no longer present, or item count stops increasing ## Success Criteria `result.count >= 1 AND items[0].url != null` ## Known Limitations - Amazon: direct navigation may trigger bot detection on fresh sessions — navigate from `https://www.amazon.com` first - eBay listing pages may require navigating from `https://www.ebay.com` first - Google Shopping results have complex SPA structure and may have reduced accuracy; prefer direct site search when `--site` is specified - Filter URL parameters are site-specific; unsupported filter parameters are silently ignored by some sites - Shopify themes vary widely; if the generic DOM strategies miss items, check if the page has JSON-LD ItemList or Product array in page source ## Execution Efficiency - **Batch orchestration**: Loop through pages serially within a single session; add 1–2 second intervals between page navigations - **Test before batch execution**: Test with 1 page before running multi-page extraction - **Error resumption**: Record page number; on failure, resume from the last successful page ## Experience Notes Path: `{working-directory}/browser-act-skill-forge-memories/ecommerce-scraper-ecommerce-listing.memory.md` **Before execution**: If the file exists, read it first — it records unexpected situations encountered during past executions; adjust strategy order accordingly. **After execution**: If an unexpected situation is encountered (strategy became ineffective, page redesigned, anti-scraping upgraded, better path discovered), append a line: `{YYYY-MM-DD}: {what happened} → {conclusion}` ## Dónde encaja - Categoría: [Datos y analítica](https://skillsagentes.com/categorias/datos-analitica.md) — Consulta, limpia y visualiza datos sin salir del agente. - Creador: [browser-act](https://skillsagentes.com/creators/browser-act.md) — 102 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Browser Act Skill Forge](https://skillsagentes.com/skills/browser-act/skills/browser-act-skill-forge.md): Forja paquetes Skill reutilizables (SKILL.md + scripts) a partir de la exploración de sitios web vía browser-act, evitando volver a explorar más tarde. - [1688 Product Detail](https://skillsagentes.com/skills/browser-act/skills/1688-product-detail.md): Extrae datos completos de producto mayorista de páginas de detalle en 1688.com: título, precios por escalones, variantes SKU, imágenes, vendedor, puntuaciones de tienda, protección al comprador, atributos, cupones y estadísticas de reseñas. - [Browser Act](https://skillsagentes.com/skills/browser-act/skills/browser-act.md): CLI de automatización de navegador para agentes de IA: nunca ejecutes comandos browser-act directamente vía Bash, invoca siempre este skill primero. - [Ebay Sold Listings Search](https://skillsagentes.com/skills/browser-act/skills/ebay-sold-listings-search.md): Scraper de listados vendidos en eBay en 8 marketplaces (.com/.co.uk/.de/.fr/.it/.es/.ca/.com.au) con filtros de keyword, categoría, precio, condición, ubicación y orden, que devuelve ventas reales paginadas. - [Threads Profile Search](https://skillsagentes.com/skills/browser-act/skills/threads-profile-search.md): Descubre cuentas de usuario de Threads por palabra clave, extrayendo datos de perfil como username, nombre visible, verificación, biografía y número de seguidores. ## Skills relacionadas - [Industry Key Contact Radar Api Skill](https://skillsagentes.com/skills/browser-act/skills/industry-key-contact-radar-api-skill.md): Descubre contactos clave por industria, rol y plataforma social usando la API de BrowserAct, obteniendo perfiles, nombres, bios y empresas asociadas. - [Youtube Search Api Skill](https://skillsagentes.com/skills/browser-act/skills/youtube-search-api-skill.md): Extrae automáticamente datos estructurados de resultados de búsqueda de YouTube (videos, shorts, canales, playlists) usando la API de BrowserAct. - [X Tweet By Conversation](https://skillsagentes.com/skills/browser-act/skills/x-tweet-by-conversation.md): Recolecta cada tweet de un hilo de conversación en X dado un conversation id: tweet focal, respuestas, sub-respuestas y cadenas de citas, con datos normalizados y cursor de paginación. - [Trustpilot Reviews](https://skillsagentes.com/skills/browser-act/skills/trustpilot-reviews.md): Extractor de reseñas de clientes de Trustpilot para cualquier empresa listada en trustpilot.com, con filtros por página, estrellas, idioma, verificación, respuesta de empresa, periodo, palabra clave y país del reseñador. - [Web Search Scraper Api Skill](https://skillsagentes.com/skills/browser-act/skills/web-search-scraper-api-skill.md): Extrae contenido markdown completo de cualquier sitio web mediante la API Web Search Scraper de BrowserAct, con extracción estable, sin captchas ni restricciones de IP. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)