GET/api/v6/urlshortener/links/{domain}/{code}/stats

Estadísticas del enlace

Totales del rango, serie por día o por hora y desgloses por país, dispositivo, sistema, navegador u origen.

Alcance y límites

Alcance

API key con el servicio urlshortener habilitado

Límite de uso

120 solicitudes por minuto

  • Ventanas de hasta 366 días por día, y de hasta 31 días por hora.
  • Hasta 100 valores por dimensión.
  • Además, cada consulta gasta unidades de un cupo de 120 por minuto de tu organización, según su costo: 2 por la consulta y 3 por cada 31 días del rango. 30 días gastan 5; un año, 38. Sin unidades, 429 con Retry-After.

Analítica de un enlace en una ventana de días: los totales del rango, una serie por día o por hora y los valores con más visitas de cada dimensión. Los días y las horas son de Colombia (America/Bogota).

  • totals.clicks y totals.uniqueClicks son los del rango; firstClickAt y lastClickAt, los de toda la vida del enlace.
  • La serie es dispersa: los días u horas sin visitas no vienen. Complétalos en cero si vas a graficar.
  • Cada dimensión trae los top valores con más visitas y, si queda resto, una fila __other. Una visita sin dato para una dimensión (sin país, o llegada sin origen) no aparece en ella: sus filas pueden sumar menos que el total.
  • referrer es solo el dominio de origen (www.facebook.com), sin la ruta. Las visitas directas no tienen fila: son totals.clicks menos la suma de referrer.
  • device es mobile, tablet o desktop; os, Android, iOS, Windows, macOS, Linux, ChromeOS u Other; browser, Chrome, Safari, Firefox, Edge, Opera, Samsung Internet, UC Browser u Other. country es el código ISO (CO).

uniqueClicks cuenta la primera visita del día desde cada navegador. En un rango de varios días es la suma de cada día, no personas distintas. Las respuestas pueden tener hasta un minuto de antigüedad (cabecera X-Cache).

Parámetros de ruta

domain
stringobligatorio
Dominio del enlace, tal como lo devuelve la API en domain. Se compara en minúsculas. Nombra al enlace que hoy responde en esa URL corta; para uno de un dominio que ya no es de tu organización (domainStatus: released), añade domainStatus=released.
code
stringobligatorio
Código o alias del enlace. Se compara en minúsculas.

Parámetros de consulta

domainStatus
stringopcional
Con released, el enlace es el de un dominio que ya no es de tu organización (el que la lista devuelve con domainStatus: released), aunque ese nombre sea hoy el de otro dominio con el mismo código. Sin él, domain nombra al dominio que hoy se llama así. Otro valor responde 400 VALIDATION_INVALID_PARAMETER.
released
from
stringopcional
Primer día de la ventana, AAAA-MM-DD en hora de Colombia, incluido. Por defecto, 29 días antes de to (la ventana es de 30 días).
to
stringopcional
Último día de la ventana, AAAA-MM-DD en hora de Colombia, incluido. Por defecto, hoy.
granularity
stringopcional
Tamaño de cada punto de la serie. day admite ventanas de hasta 366 días; hour, de hasta 31.
dayhour

Por defecto: day

dimensions
stringopcional
Dimensiones de desglose, separadas por coma: country, subdivision, city, device, os, browser, referrer. Por defecto country,device,os,browser,referrer. Los nombres que no existen se ignoran.
top
integeropcional
Cuántos valores trae cada dimensión (y cada ranking). Máximo 100.

Por defecto: 10

Respuestas

200

Analítica del enlace.

{
  "success": true,
  "data": {
    "domain": "h0b.co",
    "code": "a1b2c3d",
    "shortUrl": "https://h0b.co/a1b2c3d",
    "range": { "from": "2026-08-25", "to": "2026-09-23", "granularity": "day", "timezone": "America/Bogota" },
    "totals": {
      "clicks": 128,
      "uniqueClicks": 96,
      "firstClickAt": "2026-09-20T15:31:40Z",
      "lastClickAt": "2026-09-23T18:22:10Z"
    },
    "series": [
      { "at": "2026-09-20", "clicks": 40, "uniqueClicks": 31 },
      { "at": "2026-09-23", "clicks": 88, "uniqueClicks": 65 }
    ],
    "dimensions": {
      "country": [{ "value": "CO", "clicks": 110 }, { "value": "__other", "clicks": 12 }],
      "device": [{ "value": "mobile", "clicks": 101 }, { "value": "desktop", "clicks": 27 }]
    }
  },
  "meta": {
    "requestId": "8f0c0e2a4b1d4c8fae2b7a91e0c5d3f6",
    "timestamp": "2026-09-23T18:30:00+00:00",
    "responseTimeMs": 7.2
  }
}
400

Una fecha que no es AAAA-MM-DD, from posterior a to, una ventana mayor a la permitida o una granularidad que no existe.

401

Credenciales inválidas o faltantes.

403

La API key no tiene habilitado el acortador (o está apagado para tu organización), la key no se puede usar desde la red de la petición, o la organización no está activa.

404

No existe un enlace de tu organización con ese dominio y código (o fue eliminado). Un enlace de otra organización también responde 404: no se revela que exista.

429

Se excedió el límite de solicitudes.

504

La consulta tardó demasiado y la detuvimos. Pasa con consultas muy grandes para organizaciones con muchos enlaces: acótala (menos días, menos secciones, más filtros). Repetirla igual no ayuda.

Errores posibles

Códigos que este endpoint puede devolver en error.code. El detalle completo está en el catálogo.

Ver el catálogo completo
GET /api/v6/urlshortener/links/{domain}/{code}/stats
curl -X GET 'https://developers.hablame.co/api/v6/urlshortener/links/h0b.co/a1b2c3d/stats?dimensions=country%2Cdevice' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer hk_TU_API_KEY'

Try-It

Ejecuta la petición contra la API real con tu propia API key.

La key se usa solo en tu navegador para esta petición. No se guarda ni se envía a ningún otro lado.

Parámetros

Dominio del enlace, tal como lo devuelve la API en domain. Se compara en minúsculas. Nombra al enlace que hoy responde en esa URL corta; para uno de un dominio que ya no es de tu organización (domainStatus: released), añade domainStatus=released.

Código o alias del enlace. Se compara en minúsculas.

Con released, el enlace es el de un dominio que ya no es de tu organización (el que la lista devuelve con domainStatus: released), aunque ese nombre sea hoy el de otro dominio con el mismo código. Sin él, domain nombra al dominio que hoy se llama así. Otro valor responde 400 VALIDATION_INVALID_PARAMETER.

Primer día de la ventana, AAAA-MM-DD en hora de Colombia, incluido. Por defecto, 29 días antes de to (la ventana es de 30 días).

Último día de la ventana, AAAA-MM-DD en hora de Colombia, incluido. Por defecto, hoy.

Tamaño de cada punto de la serie. day admite ventanas de hasta 366 días; hour, de hasta 31.

Dimensiones de desglose, separadas por coma: country, subdivision, city, device, os, browser, referrer. Por defecto country,device,os,browser,referrer. Los nombres que no existen se ignoran.

Cuántos valores trae cada dimensión (y cada ranking). Máximo 100.

GET https://developers.hablame.co/api/v6/urlshortener/links/h0b.co/a1b2c3d/stats?dimensions=country%2Cdevice

Respuesta

Todavía no has enviado ninguna petición.