Necesitas datos confiables de fuente de tráfico y compromiso para un dominio, y los necesitas esta semana. Al final de este artículo, sabrás exactamente qué endpoint devuelve métricas de fuente de tráfico y resumen, cómo llamarlo, cómo analizar los campos que te interesan y cómo ejecutar la misma llamada desde un agente de IA a través de MCP—usando una clave API de Zyla API Hub.
Lo que esta API entrega y cuándo usarla
La API de Tráfico del Sitio en Zyla API Hub devuelve inteligencia de tráfico web a nivel de dominio: los principales países por participación de tráfico, métricas de compromiso y un resumen que incluye un título y una descripción para el sitio. Un endpoint complementario proporciona los países soportados y códigos ISO, lo cual es útil cuando deseas mapear códigos de país numéricos o alfabéticos en etiquetas legibles a través de tu producto.
Usos típicos:
- Tableros de atribución de marketing que necesitan las participaciones de los 5 principales países y métricas de compromiso.
- Puntuación de leads de ventas basada en patrones de tráfico de dominio y estimaciones de visitas mensuales.
- Herramientas de contenido o SEO que anotan dominios con contexto de tráfico y metadatos básicos.
Todo se ejecuta bajo una cuenta de Zyla y una clave API; puedes llamar a cualquier API del catálogo de Zyla API Hub (10,000+ APIs) usando la misma clave y un modelo de suscripción + cuota.
Comenzando en Zyla API Hub
Abre la página de la API de Tráfico del Sitio en Zyla, haz clic en Suscribirse o Comenzar prueba de 7 días, y obtén tu clave API. La autenticación es un token portador enviado como Authorization: Bearer YOUR_API_KEY. La facturación es por suscripción + cuota (no por llamada). Para la primera API, espera una prueba de 7 días o 50 solicitudes; consulta la página de la API para las opciones de acceso y precios actuales.
Comienza aquí: Comenzar prueba de 7 días en la API de Tráfico del Sitio. Siempre puedes explorar más APIs en la página principal de Zyla API Hub.
Endpoints que usarás
1) Fuente de Tráfico y Resumen
Método: GET
URL: https://zylalabs.com/api/29/site-traffic-api/93/traffic-source-and-overview
Lo que devuelve: estado del tráfico por país (top 5), contexto de fuente de tráfico e información de compromiso para un dominio dado. Pasa el dominio sin protocolo o “www”.
- Parámetro de consulta requerido: dominio (ejemplo: google.com)
cURL oficial:
curl -s -X GET "https://zylalabs.com/api/29/site-traffic-api/1372/countries-list" \
-H "Authorization: Bearer YOUR_API_KEY"
Ejemplo de respuesta oficial:
{
"Version": 1,
"SiteName": "google.com",
"Description": "Aprende sobre el Programa de Editores Certificados. Nuestros expertos en software de publicación te ayudarán a maximizar ingresos y hacer crecer tu negocio.",
"TopCountryShares": [
{
"Country": 840,
"CountryCode": "US",
"Value": 0.23679350972974017
},
{
"Country": 392,
"CountryCode": "JP",
"Value": 0.059428140900848324
},
{
"Country": 356,
"CountryCode": "IN",
"Value": 0.05710248670449797
},
{
"Country": 76,
"CountryCode": "BR",
"Value": 0.049777326688909565
},
{
"Country": 826,
"CountryCode": "GB",
"Value": 0.03518837304351638
}
],
"Title": "Búsqueda Avanzada de Google",
"Engagments": {
"BounceRate": "0.28352824215831807",
"Month": "6",
"Year": "2026",
"PagePerVisit": "8.695346223748027",
"Visits": "84940150026",
"TimeOnSite": "605.4395199614316"
},
"EstimatedMonthlyVisits": {
"2026-04-01": 84751050692,…
Campos a los que prestar atención:
- SiteName, Title, Description: metadatos rápidos que puedes mostrar en la interfaz de usuario.
- TopCountryShares: los cinco principales países por participación de tráfico. Incluye Country numérico, CountryCode de dos letras y Value fraccionario (participación).
- Engagments: métricas de compromiso para el mes y año en la carga útil, incluyendo BounceRate, PagePerVisit, Visits y TimeOnSite.
- EstimatedMonthlyVisits: claves de fecha (YYYY-MM-01) con totales de visitas.
2) Lista de Países
Método: GET
URL: https://zylalabs.com/api/29/site-traffic-api/1372/countries-list
Lo que devuelve: una lista de países soportados y códigos. Útil para mapear los valores de Country y CountryCode devueltos por el resumen de tráfico para mostrar nombres y regiones amigables.
cURL oficial:
Ejemplo de respuesta oficial:
[{"name":"Afghanistan","alpha-2":"AF","alpha-3":"AFG","country-code":"004","iso_3166-2":"ISO 3166-2:AF","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Åland Islands","alpha-2":"AX","alpha-3":"ALA","country-code":"248","iso_3166-2":"ISO 3166-2:AX","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Albania","alpha-2":"AL","alpha-3":"ALB","country-code":"008","iso_3166-2":"ISO 3166-2:AL","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Algeria","alpha-2":"DZ","alpha-3":"DZA","country-code":"012","iso_3166-2":"ISO 3166-2:DZ","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"American Samoa","alpha-2":"AS","alpha-3":"ASM","country-code":"016","iso_3166-2":"ISO 3166-2:AS","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Andorra","alpha-2":"AD","alpha-3":"AND","country-code":"020","iso_3166-2":"ISO 3166-2:AD","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Angola","alpha-2":"AO","alpha-3":"AGO","country-code":"024","iso_3166-2":"ISO 3166-2:AO","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Anguilla","alpha-2":"AI","alpha-3":"AIA","country-code":"660","iso_3166-2":"ISO 3166-2:AI","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Antarctica","alpha-2":"AQ","alpha-3":"ATA","country-code":"010","iso_3166-2":"ISO 3166-2:AQ","region":"","sub-region":"","intermediate-region":"","region-code":"","sub-region-code":"","intermediate-region-code":""},{"name":"Antigua y Barbuda","alpha-2":"AG","alpha-3":"ATG","country-code":"028","iso_3166-2":"ISO 3166-2:AG","region":"Américas","sub-region":"América Latina y el Caribe","intermediate-region":"Caribe","region-code":"019","s…
Uso común: construir un caché local indexado por alpha-2 o country-code para enriquecer las filas de TopCountryShares del resumen de tráfico con nombres y regiones de países.
Ejemplo de extremo a extremo: obtener el resumen de tráfico de un dominio y mapear países
A continuación se muestra un ejemplo mínimo en Python que:
- Llama al endpoint de Fuente de Tráfico y Resumen con un dominio.
- Llama al endpoint de Lista de Países una vez y construye una tabla de búsqueda por código alpha-2.
- Imprime una tabla de los 5 principales países con nombres de países legibles y participaciones.
import os
import requests
API_KEY = os.getenv("ZYLALABS_API_KEY", "YOUR_API_KEY")
BASE = "https://zylalabs.com/api/29/site-traffic-api"
def get_overview(domain: str):
url = f"{BASE}/93/traffic-source-and-overview"
resp = requests.get(url, params={"domain": domain}, headers={"Authorization": f"Bearer {API_KEY}"})
resp.raise_for_status()
return resp.json()
def get_countries():
url = f"{BASE}/1372/countries-list"
resp = requests.get(url, headers={"Authorization": f"Bearer {API_KEY}"})
resp.raise_for_status()
return resp.json()
def build_country_lookup(countries):
# Mapear código alpha-2 a nombre de país (ejemplo, "US" -> "Estados Unidos de América")
lookup = {}
for c in countries:
alpha2 = c.get("alpha-2")
name = c.get("name")
if alpha2 and name:
lookup[alpha2] = name
return lookup
if __name__ == "__main__":
domain = "google.com"
overview = get_overview(domain)
countries = get_countries()
code_to_name = build_country_lookup(countries)
print(f"Sitio: {overview.get('SiteName')}")
print(f"Título: {overview.get('Title')}")
print(f"Descripción: {overview.get('Description')}")
print("\nTop 5 Países por Participación:")
for row in overview.get("TopCountryShares", []):
code = row.get("CountryCode")
share = row.get("Value")
name = code_to_name.get(code, code)
print(f"- {name} ({code}): {share}")
engagements = overview.get("Engagments", {})
print("\nCompromisos:")
for k in ["Year", "Month", "Visits", "BounceRate", "PagePerVisit", "TimeOnSite"]:
if k in engagements:
print(f"{k}: {engagements[k]}")
Notas:
- La autorización es a través del encabezado Authorization: Bearer YOUR_API_KEY.
- No se requiere cuerpo de solicitud para estos endpoints GET.
- Considera almacenar en caché la Lista de Países durante 24 horas o más; cambia infrecuentemente y acelera tus flujos.
Detalles de implementación práctica que ahorran tiempo
- Formato de dominio: pasa solo el dominio, sin protocolo o “www” (ejemplo, example.com).
- Tipos de datos: varios valores numéricos (ejemplo, BounceRate, PagePerVisit) llegan como cadenas; analiza según sea necesario en la lógica de tu aplicación.
- Participaciones de tráfico: TopCountryShares.Value es una participación fraccionaria (ejemplo, 0.23 = 23%). Multiplica por 100 para porcentajes en la interfaz de usuario.
- Mapeo de países: usa CountryCode (alpha-2) con la Lista de Países para renderizar nombres de visualización sin codificación dura.
- Almacenamiento en caché: recomendado para EstimatedMonthlyVisits y Lista de Países para reducir la latencia y mantenerte dentro de tu cuota de suscripción.
- Errores: maneja códigos no 2xx mostrando un mensaje claro al usuario (dominio inválido, falta de encabezado de autorización, etc.).
Casos de uso en el mundo real
Enriquecimiento de leads dentro de un CRM
Cuando un nuevo lead incluye un sitio web, llama al endpoint de Fuente de Tráfico y Resumen para obtener TopCountryShares y mostrar los principales mercados para la audiencia de ese lead. Combina con Visits y PagePerVisit de Engagments para priorizar el contacto.
Tableros de atribución
Para cada dominio que rastrees (ejemplo, referencias o socios), extrae y almacena en caché EstimatedMonthlyVisits indexadas por mes. Usa TopCountryShares para desglosar contribuciones por geografía en barras apiladas o mapas coropléticos.
SEO y planificación de contenido
Enriquece los resultados de SERP o listas de competidores con Title y Description para una visión rápida, y muestra BounceRate o PagePerVisit para resaltar oportunidades de mejoras en el contenido.
Llamando a la API desde un agente de IA (MCP)
Si estás automatizando a través de Claude Code, Cursor, Windsurf, o cualquier cliente compatible con MCP, puedes enrutar llamadas a través de la puerta de enlace MCP de Zyla. Configura tu herramienta para usar el endpoint MCP y proporciona tu clave API:
En tiempo de ejecución, tu agente puede apuntar a las mismas URL de Hub mostradas arriba (incluyendo el parámetro de consulta dominio para el endpoint de Fuente de Tráfico y Resumen). Mantén el encabezado de autorización como Bearer YOUR_API_KEY, o sigue la configuración de tu cliente MCP para pasar credenciales. Debido a que estás en un plan de suscripción + cuota, diseña los prompts para reutilizar resultados almacenados en caché en lugar de volver a llamar a la red en cada turno.
Lista de verificación de validación antes de enviar
- Solicitud GET autenticada con Authorization: Bearer YOUR_API_KEY.
- Para el resumen: incluye el parámetro de consulta de dominio, sin protocolo y sin www.
- Analiza JSON y convierte campos numéricos en cadenas donde sea necesario.
- Mapea TopCountryShares.CountryCode a un nombre legible a través de la Lista de Países.
- Almacena en caché la Lista de Países y estimaciones mensuales para mantenerte dentro de la cuota y mejorar la latencia.
Preguntas frecuentes
¿La API acepta URLs completas o solo dominios?
Solo se deben pasar dominios sin protocolo y sin “www” (ejemplo, example.com) al endpoint de Fuente de Tráfico y Resumen.
¿Cómo me autentico?
Envía Authorization: Bearer YOUR_API_KEY en el encabezado para cada solicitud.
¿Puedo obtener una lista de países soportados?
Sí. Llama al endpoint de Lista de Países para recibir países soportados y códigos ISO que puedes usar para enriquecer TopCountryShares del endpoint de resumen.
¿Los campos numéricos son números o cadenas?
Algunas métricas en el objeto Engagments (ejemplo, BounceRate, PagePerVisit, Visits, TimeOnSite) se devuelven como cadenas. Analízalas a números en tu código si necesitas calcular o formatear.
¿Cuáles son los límites y precios?
Zyla utiliza un modelo de suscripción + cuota (no por llamada). Para la primera API, espera una prueba de 7 días o 50 solicitudes. Consulta la página de la API para las opciones de acceso y precios actuales.
¿Listo para implementar? Obtén tu clave y comienza a extraer datos de fuente de tráfico y compromiso hoy: Comenzar prueba de 7 días en la API de Tráfico del Sitio. Explora más categorías en el Zyla API Hub cuando estés listo para expandir tu integración.
Respuesta oficial de la API
[{"name":"Afganistán","alpha-2":"AF","alpha-3":"AFG","country-code":"004","iso_3166-2":"ISO 3166-2:AF","region":"Asia","sub-region":"Asia del Sur","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Islas Åland","alpha-2":"AX","alpha-3":"ALA","country-code":"248","iso_3166-2":"ISO 3166-2:AX","region":"Europa","sub-region":"Europa del Norte","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Albania","alpha-2":"AL","alpha-3":"ALB","country-code":"008","iso_3166-2":"ISO 3166-2:AL","region":"Europa","sub-region":"Europa del Sur","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Argelia","alpha-2":"DZ","alpha-3":"DZA","country-code":"012","iso_3166-2":"ISO 3166-2:DZ","region":"África","sub-region":"África del Norte","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"Samoa Americana","alpha-2":"AS","alpha-3":"ASM","country-code":"016","iso_3166-2":"ISO 3166-2:AS","region":"Oceanía","sub-region":"Polinesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Andorra","alpha-2":"AD","alpha-3":"AND","country-code":"020","iso_3166-2":"ISO 3166-2:AD","region":"Europa","sub-region":"Europa del Sur","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Angola","alpha-2":"AO","alpha-3":"AGO","country-code":"024","iso_3166-2":"ISO 3166-2:AO","region":"África","sub-region":"África Subsahariana","intermediate-region":"África Central","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Anguila","alpha-2":"AI","alpha-3":"AIA","country-code":"660","iso_3166-2":"ISO 3166-2:AI","region":"Américas","sub-region":"América Latina y el Caribe","intermediate-region":"Caribe","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Antártida","alpha-2":"AQ","alpha-3":"ATA","country-code":"010","iso_3166-2":"ISO 3166-2:AQ","region":"","sub-region":"","intermediate-region":"","region-code":"","sub-region-code":"","intermediate-region-code":""},{"name":"Antigua y Barbuda","alpha-2":"AG","alpha-3":"ATG","country-code":"028","iso_3166-2":"ISO 3166-2:AG","region":"Américas","sub-region":"América Latina y el Caribe","intermediate-region":"Caribe","region-code":"019","s…