Saltar al contenido
Glosario / Desarrollo web
Desarrollo web

Shopify Storefront API

API GraphQL pública de Shopify pensada para construir frontends headless: tu tienda corre en Astro, Next, Vue o cualquier framework mientras Shopify sigue gestionando catálogo, pagos y pedidos.

También conocido como: Storefront APIShopify API headlessShopify Storefront GraphQL

Qué es la Storefront API

La Storefront API es la API pública de Shopify pensada para construir tiendas headless. Está basada en GraphQL y expone los datos que un comprador puede ver: productos, colecciones, variantes, precios, inventario, carrito, checkout, blog, páginas, menú y cliente autenticado.

Funciona con un token público (Storefront Access Token), pensado para que un frontend la consuma directamente desde el navegador o desde un framework server-side, sin necesidad de un backend intermedio.

Diferencia con la Admin API

Shopify ofrece dos APIs principales con propósitos distintos:

AspectoStorefront APIAdmin API
Quién la usaCompradores (frontend)Administradores y apps
ProtocoloGraphQL (REST en partes legacy)GraphQL + REST
TokenStorefront Access Token (público)Admin Access Token (privado)
DatosSolo lo que el cliente puede verTodo: pedidos, clientes, inventario, finanzas
MutacionesCarrito, checkout, login clienteCrear/editar productos, gestionar pedidos
Rate limitsGenerosos, por IP/buyerEstrictos por app

La Storefront API es la elegida para headless commerce porque está pensada para vivir en el frontend, mientras que la Admin API queda para integraciones internas, ERPs y dashboards.

Casos de uso típicos

  • Tienda headless en Astro, Next.js, Nuxt, SvelteKit o Vue: catálogo y carrito gestionados desde Shopify, frontend totalmente custom.
  • PWA o app móvil que reutiliza el backend de la tienda Shopify.
  • Quioscos físicos o terminales con interfaz propia conectados al mismo catálogo.
  • Microsites de campaña que comparten checkout con la tienda principal.
  • Multi-tienda con diseño compartido: varios frontends consumiendo distintos canales de venta de Shopify.

Ejemplo de consulta

Pedir los primeros 5 productos de una colección:

query GetCollectionProducts($handle: String!) {
  collection(handle: $handle) {
    title
    products(first: 5) {
      edges {
        node {
          id
          title
          handle
          priceRange {
            minVariantPrice { amount currencyCode }
          }
          images(first: 1) {
            edges { node { url altText } }
          }
        }
      }
    }
  }
}

Se envía por HTTP POST al endpoint https://tu-tienda.myshopify.com/api/2024-07/graphql.json con el header X-Shopify-Storefront-Access-Token.

Lo que sí expone

  • Catálogo: productos, variantes, opciones, imágenes, vídeos, metafields públicos.
  • Colecciones manuales y automáticas.
  • Inventario disponible por variante (cantidad, disponibilidad).
  • Precios con impuestos según mercado.
  • Blog, páginas estáticas, menú de navegación.
  • Carrito (Cart API): crear, modificar, aplicar descuentos.
  • Checkout vía el Cart API (que genera la URL de checkout alojada en Shopify).
  • Cliente: login, registro, historial de pedidos.

Lo que no expone (limitaciones)

  • Datos sensibles: márgenes, costes, datos internos de pedidos ajenos.
  • Apps de terceros en general no exponen UI por aquí.
  • Reglas de descuento avanzadas completas; algunas solo se aplican vía checkout.
  • Pagos personalizados: el checkout sigue corriendo en Shopify por motivos de PCI.
  • Algunos campos administrativos: tags privados, notas internas, etc.

Rate limits

La Storefront API tiene límites generosos pero medibles:

  • Sin autenticar (público): aproximadamente 1.000 puntos de cost por minuto por IP.
  • Con buyer identity: límites compartidos con el comprador.
  • Las queries GraphQL cuestan según complejidad (cada campo suma). Las consultas grandes hay que paginar.

Si rebasas el límite, recibes un error THROTTLED. Buena práctica: cache en frontend, ISR en Next, prerender en Astro, y un proxy Worker que cachee respuestas frecuentes.

Versionado

Shopify versiona la API por cuatrimestres: 2024-07, 2024-10, 2025-01. Cada versión se mantiene 12 meses. Conviene fijar versión en el endpoint y revisar el changelog antes de actualizar.

En IMPERO

Cuando un cliente Shopify necesita más libertad de diseño y rendimiento que el que permite Liquid, montamos la tienda con Storefront API + Astro. El servicio dedicado es Shopify a Astro headless: mantiene Shopify como backend (pagos, pedidos, fiscalidad) y construye un frontend Astro que carga rápido y se posiciona mejor.

Da el primer paso

AUDITORÍA GRATUITA
SIN COMPROMISO.

Reserva una llamada de 15 minutos. Analizamos tu web, tu publicidad y tu posicionamiento digital. Te decimos exactamente qué mejorar y cuánto puedes ahorrar. Sin coste, sin compromiso.