Todos los scrapers

Aplicaciones

Apple App Store Scraper

apps.apple.com

100% Tasa de éxito
2.1s Respuesta media
Bot detection + rate limiting Protección
1212 llamadas Medido sobre

El Apple App Store se sirve mediante un endpoint de plugin dedicado con tres modos en lugar de la obtención de página genérica. En modo app, dale una app (un id numérico como 310633997, id310633997, una URL de apps.apple.com o un bundle id como com.spotify.client) y devuelve la ficha ya analizada: título y subtítulo, el desarrollador con su id y su sitio web, el precio, la moneda y la marca de gratuita, la valoración en estrellas con su número de valoraciones y el histograma de 1 a 5 estrellas, la clasificación de contenido y por edad, los géneros, la fecha de lanzamiento, la última actualización, la versión actual con sus notas de la versión y el historial de versiones, el tamaño en bytes, la versión mínima de iOS, los idiomas, la descripción, el icono, las capturas y los vídeos de vista previa, las compras dentro de la app con sus precios, las etiquetas de privacidad, la posición de la app en su ranking y las apps que la tienda lista como similares. En modo búsqueda, dale un término como 'vpn' y devuelve hasta 200 apps coincidentes, cada una con id, título, desarrollador, precio, valoración, número de valoraciones, géneros y versión. En modo reseñas devuelve las reseñas de clientes de la app, primero las más recientes o las más útiles, cada una con título, texto, valoración en estrellas, autor, fecha, la versión de la app reseñada y los votos de utilidad. Los precios, las valoraciones y las reseñas son por país de la tienda, que se elige con country, y no hace falta cuenta de desarrollador de Apple ni clave de API.

Qué puedes extraer

  • Id de la app, bundle id, título, subtítulo, URL de la tienda e icono
  • Nombre, id y sitio web del desarrollador
  • Precio, moneda, marca de gratuita y las compras dentro de la app con sus precios
  • Valoración en estrellas, número de valoraciones y el histograma de 1 a 5 estrellas
  • Clasificación de contenido y por edad, géneros, fecha de lanzamiento, última actualización, versión actual, notas de la versión e historial de versiones
  • Tamaño en bytes, versión mínima de iOS, idiomas, descripción, capturas y vídeos de vista previa
  • Etiquetas de privacidad, posición en el ranking y apps similares
  • Modo búsqueda: hasta 200 apps coincidentes con id, título, desarrollador, precio, valoración y versión
  • Modo reseñas: hasta 500 reseñas por país y orden con título, texto, valoración, autor, fecha, versión de la app y votos de utilidad

Endpoints dedicados

/apps/app-store

Detalle de app, búsqueda de apps o reseñas en el App Store

Una app del App Store al completo (mode=app, app_id como id numérico, id310633997, URL de apps.apple.com o bundle id): appId, bundleId, title, subtitle, developer, developerId, developerWebsite, price, currency, free, rating, ratingsCount, histogram, contentRating, ageRating, genres, releaseDate, updated, version, releaseNotes, versionHistory, size, minimumOsVersion, languages, description, icon, screenshots, videos, inAppPurchases, privacy, chartRank y similarApps. O apps coincidentes (mode=search, q; max_results de 1 a 200). O reseñas de clientes (mode=reviews): id, title, text, rating, author, date, version y helpfulVotes, sort mostrecent o mosthelpful, 50 por página y hasta 500 (max_results), con page y nextPage para continuar. country elige la tienda (ISO-2, por defecto us o el país de una URL del App Store), lang el idioma de la ficha, como fr o fr-CA.

Cómo rastrearlo

curl -X POST \
  -H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
  "https://api.scrapeunblocker.com/apps/app-store?mode=app&app_id=310633997&country=us"
import requests

resp = requests.post(
    "https://api.scrapeunblocker.com/apps/app-store",
    headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
    params={"mode": "app", "app_id": "310633997", "country": "us"},
)
print(resp.text)
import { ScrapeUnblockerClient } from 'scrapeunblocker';

const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });

const app = await su.appStoreApp('310633997');
const results = await su.appStoreSearch('vpn', { maxResults: 30 });
const reviews = await su.appStoreReviews('310633997', { maxResults: 100 });
console.log(app);
console.log(results);
console.log(reviews);

Las peticiones son POST y sus parámetros van en la query string. El renderizado en navegador siempre ocurre: no hay ningún flag que activar.

Ejemplo de respuesta

{
  "mode": "app",
  "country": "us",
  "app": {
    "appId": "310633997",
    "bundleId": "net.whatsapp.WhatsApp",
    "title": "WhatsApp Messenger",
    "subtitle": "Simple. Reliable. Private.",
    "url": "https://apps.apple.com/us/app/whatsapp-messenger/id310633997",
    "developer": "WhatsApp Inc.",
    "developerId": "310634000",
    "developerWebsite": "http://www.whatsapp.com/",
    "price": 0.0,
    "currency": "USD",
    "free": true,
    "rating": 4.6837,
    "ratingsCount": 18694198,
    "histogram": { "1": 641999, "2": 253658, "3": 566089, "4": 1452364, "5": 15781684 },
    "contentRating": "12+",
    "ageRating": "13+",
    "genres": ["Social Networking", "Utilities"],
    "releaseDate": "2009-05-04T02:43:49Z",
    "updated": "2026-09-28T15:54:35Z",
    "version": "26.38.74",
    "releaseNotes": "We update the app regularly to fix bugs, optimize performance and improve the experience. Thanks for using WhatsApp!",
    "versionHistory": [
      {
        "version": "26.38.74",
        "date": "2026-09-28T15:54:35Z",
        "releaseNotes": "We update the app regularly to fix bugs, optimize performance and improve the experience. Thanks for using WhatsApp!"
      },
      {
        "version": "26.37.76",
        "date": "2026-09-23T13:45:17Z",
        "releaseNotes": "We update the app regularly to fix bugs, optimize performance and improve the experience. Thanks for using WhatsApp!"
      }
    ],
    "size": 385214464,
    "minimumOsVersion": "15.1",
    "languages": ["AR", "BN", "CA", "HR", "CS", "DA"],
    "description": "WhatsApp from Meta is a free messaging and calling app used by over 2 billion people across 180+ countries. It's super simple, reliable and private,...",
    "icon": "https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/54/08/2d/54082dca-2973-b8b7-5481-a6299244b8c6/AppIcon-0-0-1x_U007epad-0-0-0-1-0-0-sRGB-0-85-220.png/512x512bb.jpg",
    "screenshots": [
      "https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/d8/95/88/d89588dd-ce20-0f5b-95bc-f99814bf9a6c/6.9__Display_1-en_US.png/320x480bb.jpg"
    ],
    "inAppPurchases": [
      { "name": "No ads (1 account)", "price": "$4.00" },
      { "name": "No ads (4 accounts)", "price": "$21.99" },
      { "name": "No ads (5 accounts)", "price": "$26.99" }
    ],
    "privacy": [
      {
        "type": "DATA_LINKED_TO_YOU",
        "title": "Data Linked to You",
        "categories": ["PURCHASES", "FINANCIAL_INFO", "LOCATION", "CONTACT_INFO", "CONTACTS", "USER_CONTENT", "IDENTIFIERS", "USAGE_DATA", "DIAGNOSTICS"]
      },
      {
        "type": "DATA_NOT_LINKED_TO_YOU",
        "title": "Data Not Linked to You",
        "categories": ["SEARCH_HISTORY"]
      }
    ],
    "chartRank": { "position": 2, "chart": "Social Networking", "url": "https://apps.apple.com/us/iphone/charts/6005?chart=top-free" },
    "similarApps": [
      { "appId": "454638411", "bundleId": "com.facebook.Messenger", "title": "Messenger", "subtitle": "Text, audio and video calls" },
      { "appId": "686449807", "bundleId": "ph.telegra.Telegraph", "title": "Telegram Messenger", "subtitle": "Fast. Secure. Powerful." }
    ]
  }
}

Leer la documentación

Preguntas frecuentes

¿Es legal hacer scraping del Apple App Store?

Recopilar datos públicos del App Store como títulos de apps, precios, valoraciones y reseñas es lícito en muchas jurisdicciones, pero las normas dependen de tu país, de los datos que recopiles y de cómo los uses. Los nombres de los autores y el texto de las reseñas pueden ser datos personales, así que cumple las normas de privacidad que se te apliquen. ScrapeUnblocker devuelve los datos públicos de la tienda; qué recopilas y cómo lo usas es responsabilidad tuya.

¿Cómo hago scraping del App Store sin que me bloqueen?

Apple limita cuántas llamadas puede hacer una dirección a su tienda, y su feed de reseñas sirve de vez en cuando una página vacía. El plugin /apps/app-store obtiene cada página de Apple a través de los exits rotativos de ScrapeUnblocker y la vuelve a pedir cuando llega bloqueada o vacía. En el benchmark de ScrapeUnblocker devolvió datos reales en el 100 % de 1.212 llamadas con apps, términos de búsqueda y países de tienda distintos, unos 2,1 s por llamada: detalles de app, 618 llamadas en 42 países de tienda a unos 2,4 s; búsqueda, 300 llamadas a unos 2,2 s; y reseñas, 294 llamadas a unos 1,4 s.

¿Cuántas reseñas del App Store puedo obtener?

Apple sirve como máximo 500 reseñas por app, país de la tienda y orden, 50 por página en 10 páginas. Fija max_results hasta 500 para reunirlas en una llamada, ordénalas con mostrecent o mosthelpful y continúa más tarde con page fijado al nextPage de la respuesta anterior; cuando la última página solo se usó en parte, nextPage vuelve a apuntar a ella, así que omite los ids de reseña que ya tengas. Pedir otro país de la tienda o el otro orden llega a más reseñas. Las respuestas del desarrollador no se incluyen.

¿Necesito una cuenta de desarrollador de Apple o una API del App Store?

No. El plugin devuelve detalles de apps, resultados de búsqueda y reseñas como JSON sin cuenta de desarrollador de Apple, acceso a App Store Connect ni clave de API por tu parte. Identifica la app con su id numérico como 310633997, id310633997, una URL de apps.apple.com o un bundle id como com.spotify.client, y tu clave de ScrapeUnblocker es la única credencial que necesitas.

¿Puedo hacer scraping del App Store para un país o un idioma concretos?

Sí. Fija country con la tienda como código ISO-2 (por defecto us, o el país de la URL del App Store que pases), y los precios, las valoraciones, las posiciones en el ranking y las reseñas se devuelven para esa tienda. Fija lang, como fr o fr-CA, para el idioma de la ficha cuando una tienda ofrece varios. Una app que no se vende en ese país responde 404. También puedes fijar proxy_country para elegir el país del exit, o dejarlo vacío y ScrapeUnblocker elige el exit.

¿Cuánto cuesta hacer scraping del App Store?

En los modos app y búsqueda cada llamada es una petición: una app al completo, o hasta 200 apps coincidentes. En el modo reseñas cada página de 50 reseñas servida es una petición, así que 100 reseñas son 2 peticiones y 500 son 10, y pagesFetched muestra el número exacto. 1 petición = 1 crédito, 1,00 EUR por cada 1.000 en Pay as you go, bajando hasta unos 0,55 EUR por cada 1.000 en el plan Ultimate. No se facturan los bloqueos ni los timeouts, y la prueba gratuita incluye 500 peticiones sin tarjeta.

Scrapers relacionados

Empieza a rastrear este sitio hoy

Plan gratuito incluido. No necesitas tarjeta para probarlo.