API REST de LinkTwin

API de acortador de URLs: automatiza enlaces que se abren en la app correcta.

Crea, gestiona y mide enlaces cortos desde tu propio código. Cada enlace que crea la API es un deep link de LinkTwin, así que en un teléfono abre YouTube, Amazon, Spotify y más de 100 apps en lugar de un navegador. Conéctala a Zapier, n8n, Make, Airtable, Google Sheets o a cualquier herramienta que pueda enviar una solicitud HTTP.

Ver documentacion
cURL
curl -X POST "https://linktw.in/api/url/add" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=x7K2pQ9mW4s", "custom": "desk-tour"}'
PHP
<?php
// Crea un enlace corto con la API de LinkTwin
$curl = curl_init();
curl_setopt_array($curl, [
    CURLOPT_URL => "https://linktw.in/api/url/add",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer YOUR_API_KEY",
        "Content-Type: application/json",
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "url" => "https://www.youtube.com/watch?v=x7K2pQ9mW4s",
        "custom" => "desk-tour",
    ]),
]);
$response = json_decode(curl_exec($curl));
echo $response->shorturl; // https://linktw.in/desk-tour
Node.js
// Node.js 18 o superior, con el fetch integrado
const res = await fetch("https://linktw.in/api/url/add", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.LINKTWIN_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ url: "https://www.youtube.com/watch?v=x7K2pQ9mW4s", custom: "desk-tour" }),
});
const data = await res.json();
console.log(data.shorturl); // https://linktw.in/desk-tour
Python
import requests

response = requests.post(
    "https://linktw.in/api/url/add",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={"url": "https://www.youtube.com/watch?v=x7K2pQ9mW4s", "custom": "desk-tour"},
)
print(response.json()["shorturl"])  # https://linktw.in/desk-tour
TypeScript
// npm install @linktwin/client
import { LinkTwinClient } from "@linktwin/client";

const client = new LinkTwinClient({ apiKey: process.env.LINKTWIN_API_KEY });
const link = await client.links.create({
  url: "https://www.youtube.com/watch?v=x7K2pQ9mW4s",
  custom: "desk-tour",
});
console.log(link.shorturl); // https://linktw.in/desk-tour
200Respuesta
{
  "error": 0,
  "id": "1221",
  "shorturl": "https://linktw.in/desk-tour",
  "title": "My $200 desk setup (full tour)",
  "description": "A full tour of my $200 desk setup."
}
Funciona con
  • Zapier
  • n8n
  • Make
  • Airtable
  • Google Sheets
  • Slack
  • WordPress
  • Shopify
  • Apps personalizadas

Endpoints API populares

Los endpoints de la API de enlaces que más usarás.

Cada endpoint recibe y devuelve JSON por HTTPS, autenticado con tu clave API como token Bearer. Elige uno para ver una solicitud real y la respuesta que devuelve.

Crea un enlace corto o un deep link

Envía la URL larga y las opciones que quieras en JSON. Solo el campo url es obligatorio. Pega una URL de YouTube, Amazon o Spotify y el enlace corto abrirá esa app en un teléfono.

  • url requerido
  • custom
  • password
  • domain
  • expiry
  • clicklimit
  • expirationredirect
  • note
  • display_title
  • metatitle
  • metadescription
  • metaimage
  • pixels
  • collections
  • geotarget
  • devicetarget
  • languagetarget
  • abtesting
  • parameters
  • escape_inapp_browser
POST/api/url/add
curl -X POST "https://linktw.in/api/url/add" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.amazon.com/dp/B09T3KX8QV?tag=mayamakes-20",
    "custom": "desk-lamp",
    "collections": ["Amazon picks"],
    "geotarget": [
      {"location": "United Kingdom", "link": "https://www.amazon.co.uk/dp/B09T3KX8QV?tag=mayamakes-21"}
    ]
  }'
200Respuesta
{
  "error": 0,
  "id": "1225",
  "shorturl": "https://linktw.in/desk-lamp",
  "title": "Amazon: LED desk lamp with clamp",
  "description": null
}
Los campos que más usarás
urlLa URL larga a acortar (requerida)string
customAlias personalizado para la URL corta (opciónal)string
expiryFecha de expiración del enlace (opciónal)datetime
passwordProteger el enlace con contraseña (opciónal)string
domainUn dominio personalizado que ya hayas añadido a tu cuentastring
clicklimitNúmero máximo de clics antes de que el enlace caduqueinteger
geotargetEnvía a los visitantes de un país, o de un estado, a una URL diferentearray
devicetargetUna URL diferente para iPhone, Android y otros dispositivosarray
languagetargetUna URL diferente para cada idioma del navegadorarray
abtestingReparte el tráfico entre variantes por porcentajearray
parametersUTM y otros parámetros añadidos en la redirecciónarray
pixels, collectionsIDs o nombres de píxeles y colecciones que asociararray

Ver este endpoint en la documentación de la API

Lista y busca tus enlaces

Recorre tus enlaces por páginas, ordénalos por fecha, clics o nombre, y fíltralos por texto, fecha o colección.

  • limit
  • page
  • order
  • search
  • date_from
  • date_to
  • collections
  • timezone
GET/api/urls
curl "https://linktw.in/api/urls?limit=2&page=1&order=clicks_desc" \
  -H "Authorization: Bearer YOUR_API_KEY"
200Respuesta, recortada por extensión
{
  "error": 0,
  "data": {
    "result": 9,
    "perpage": 2,
    "currentpage": 1,
    "nextpage": 2,
    "maxpage": 5,
    "urls": [
      {
        "id": 1221,
        "alias": "desk-tour",
        "shorturl": "https://linktw.in/desk-tour",
        "longurl": "https://www.youtube.com/watch?v=x7K2pQ9mW4s",
        "title": "My $200 desk setup (full tour)",
        "clicks": 1764,
        "uniqueclicks": 1418,
        "date": "2026-08-06 21:41:00",
        "collections": [],
        "pixels": []
      },
      {
        "id": 1222,
        "alias": "new-camera",
        "shorturl": "https://linktw.in/new-camera",
        "longurl": "https://www.youtube.com/watch?v=Rt5pL0aZc1Q",
        "title": "Unboxing my new camera",
        "clicks": 1098,
        "uniqueclicks": 1045,
        "date": "2026-09-21 18:52:00",
        "collections": [],
        "pixels": []
      }
    ]
  }
}

Ver este endpoint en la documentación de la API

Obtener un enlace

Pasa el ID del enlace o su URL corta completa. Obtienes las reglas de segmentación, la caducidad, las colecciones y los píxeles, además de sus recuentos de clics.

  • :id requerido
  • timezone
GET/api/url/:id
curl "https://linktw.in/api/url/1221" \
  -H "Authorization: Bearer YOUR_API_KEY"
200Respuesta, recortada por extensión
{
  "error": 0,
  "id": 1221,
  "details": {
    "id": 1221,
    "alias": "desk-tour",
    "shorturl": "https://linktw.in/desk-tour",
    "longurl": "https://www.youtube.com/watch?v=x7K2pQ9mW4s",
    "domain": "https://linktw.in",
    "title": "My $200 desk setup (full tour)",
    "pass": false,
    "expiry": null,
    "clicklimit": null,
    "date": "2026-08-06 21:41:00",
    "collections": [
      {
        "id": 4,
        "name": "YouTube",
        "description": null,
        "color": "#ff0033"
      }
    ],
    "pixels": []
  },
  "data": {
    "clicks": 1764,
    "uniqueClicks": 1418
  }
}

Ver este endpoint en la documentación de la API

Actualizar un enlace

Envía solo los campos que quieras cambiar. El enlace corto sigue siendo el mismo, así que cada publicación y cada código QR que lo usa sigue el nuevo destino.

  • :id requerido
  • url
  • y todos los campos de creación
PUT/api/url/:id/update
curl -X PUT "https://linktw.in/api/url/1221/update" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=Rt5pL0aZc1Q", "expiry": "2026-12-31 23:59:59"}'
200Respuesta
{
  "error": 0,
  "id": 1221,
  "shorturl": "https://linktw.in/desk-tour",
  "title": "Unboxing my new camera",
  "description": null
}

Ver este endpoint en la documentación de la API

Leer analíticas de clics

Clics, clics únicos, principal referente y país, un gráfico diario y desgloses por país, referente, navegador, dispositivo e idioma para un enlace.

  • :id requerido
  • date_range
  • start_date
  • end_date
  • timezone
GET/api/statistics/link/:id
curl "https://linktw.in/api/statistics/link/1221?date_range=30d" \
  -H "Authorization: Bearer YOUR_API_KEY"
200Respuesta, recortada por extensión
{
  "error": 0,
  "data": {
    "link": {
      "id": 1221,
      "shortUrl": "https://linktw.in/desk-tour",
      "longUrl": "https://www.youtube.com/watch?v=x7K2pQ9mW4s",
      "title": "My $200 desk setup (full tour)",
      "absoluteClicks": 1764,
      "createdAt": "2026-08-06 21:41:00"
    },
    "totalClicks": 504,
    "totalUniqueClicks": 483,
    "topReferrer": "https://l.instagram.com",
    "topCountry": "United States",
    "topCountryCode": "US",
    "chartData": [
      {
        "date": "2026-09-03",
        "clicks": 19
      },
      {
        "date": "2026-09-04",
        "clicks": 20
      }
    ]
  }
}

El servidor MCP y la CLI también leen las analíticas de enlaces a través de este endpoint.

Crea un código QR

Elige un tipo (texto, vCard, enlace, email, teléfono, SMS o Wi-Fi), los datos y, si quieres, colores y logo. Los códigos QR de enlace cuentan los escaneos, y puedes cambiar su destino más adelante.

  • type requerido
  • data requerido
  • background
  • foreground
  • logo
POST/api/qr/add
curl -X POST "https://linktw.in/api/qr/add" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type": "link", "data": "https://linktw.in/desk-tour", "foreground": "rgb(13,27,46)"}'
200Respuesta
{
  "error": 0,
  "id": 3,
  "link": "https://linktw.in/qr/a58f79"
}

Ver este endpoint en la documentación de la API

Añadir enlaces a una colección

Añade y quita muchos enlaces en una sola llamada. El mismo patrón asocia un píxel de retargeting a muchos enlaces en /api/pixel/:id/links.

  • :id requerido
  • add
  • remove
POST/api/collection/:id/links
curl -X POST "https://linktw.in/api/collection/4/links" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"add": [1221, 1222, 1223]}'
200Respuesta
{
  "error": 0,
  "collection_id": 4,
  "added": [
    1221,
    1222,
    1223
  ],
  "removed": [],
  "errors": []
}

Ver este endpoint en la documentación de la API

Eliminar un enlace

Elimina un enlace por ID o URL corta, o muchos a la vez con POST /api/urls/delete y una lista de IDs.

  • :id requerido
DELETE/api/url/:id/delete
curl -X DELETE "https://linktw.in/api/url/1223/delete" \
  -H "Authorization: Bearer YOUR_API_KEY"
200Respuesta
{
  "error": 0,
  "message": "Link has been successfully deleted."
}

Ver este endpoint en la documentación de la API

Solicitudes y respuestas de ejemplo. Los campos y formatos de respuesta son los reales; los enlaces y los números son datos de ejemplo.

Casos de uso

¿Qué puedes construir con nuestro API?

Desde un Zap de un solo paso hasta una integración completa en tu propio producto, estas son las tareas que los equipos confían a la API de LinkTwin.

Generación Automatizada de Enlaces

Crea automáticamente enlaces cortos cuando se agregan nuevos productos, se publican artículos de blog o se sube contenido. Perfecto para plataformas de e-commerce y contenido.

  • Shopify
  • WordPress
  • WooCommerce

Gestión de Enlaces en Masa

Importa miles de URLs desde hojas de cálculo, genera enlaces cortos en lote y expórtalos de vuelta. Ideal para campañas de marketing y programas de afiliados.

  • Google Sheets
  • Excel
  • Importación CSV

Integración de Analíticas

Lleva los clics, clics únicos, referentes, países y dispositivos a tus propios paneles, herramientas de BI o informes.

  • Looker Studio
  • Tableau
  • Power BI

Campañas de correo electrónico y SMS

Genera enlaces de seguimiento únicos para cada destinatario en tus campañas de email o SMS. Rastrea la interacción individual y optimiza tu alcance.

  • Mailchimp
  • SendGrid
  • Twilio

Integración de app móvil

Crea deep links sobre la marcha desde tu app móvil. Comparte contenido con enlaces inteligentes que abren directamente en otras apps en lugar de navegadores.

  • iOS
  • Android
  • React Native

Códigos QR dinámicos

Genera códigos QR programáticamente para materiales impresos, empaque de productos o boletos de eventos. Actualiza la URL de destino en cualquier momento sin reimprimir.

  • Sistemas de impresión
  • Impresoras de etiquetas
  • Sistemas POS

Integración con Zapier

Acortador de URLs para Zapier: crea y mide enlaces desde cualquier Zap.

Usa LinkTwin como acortador de URLs dentro de tus Zaps y deja que LinkTwin avise a Zapier cuando pase algo. Lo mismo funciona en n8n, Make y cualquier herramienta que envíe o reciba webhooks.

Crea enlaces desde un Zap

Añade una acción de Webhooks by Zapier que envíe una solicitud POST a la API de LinkTwin. El siguiente paso puede usar el enlace corto que devuelve.

  1. DisparadorNueva fila en Google Sheets
    Columna
    URL del producto
  2. AcciónWebhooks by Zapier: POST
    URL
    https://linktw.in/api/url/add
    Tipo de payload
    json
    Datos
    url = {{Product URL}}
    Encabezados
    Authorization: Bearer YOUR_API_KEY
  3. AcciónActualiza la fila con el enlace corto
    Enlace corto
    {{shorturl}}

Recibe un webhook por cada enlace y cada clic nuevos

Pega una URL de Catch Hook de Zapier en la página de integración con Zapier de tu panel. LinkTwin envía un evento JSON cada vez que creas un enlace corto y cada vez que alguien hace clic en uno. Funciona con cualquier sistema de webhooks, no solo con Zapier.

Nuevo enlace
{
  "type": "url",
  "longurl": "https://www.youtube.com/watch?v=x7K2pQ9mW4s",
  "shorturl": "https://linktw.in/desk-tour",
  "date": "04-10-2026 09:41:12"
}
Nuevo clic
{
  "type": "view",
  "shorturl": "https://linktw.in/desk-tour",
  "country": "United States",
  "city": "Austin",
  "referer": "https://l.instagram.com",
  "os": "iOS",
  "browser": "Safari",
  "date": "2026-10-04 09:41:12"
}

Payloads de ejemplo con los nombres de campo reales.

La misma idea en n8n y Make

Usa el nodo HTTP Request en n8n o el módulo HTTP en Make. Envía un POST a /api/url/add con tu clave API en el encabezado Authorization y la URL en el cuerpo, y luego asigna shorturl al siguiente paso.

  • Guarda la clave como credencial de encabezado, nunca en la URL.
  • Revisa el campo error de la respuesta: 0 significa que el enlace se creó.
  • Trabajos masivos: mantente por debajo del límite de solicitudes y lee los encabezados X-RateLimit.
n8n

Nodo HTTP Request, con una credencial Header Auth para Authorization.

{
  "method": "POST",
  "url": "https://linktw.in/api/url/add",
  "authentication": "genericCredentialType",
  "genericAuthType": "httpHeaderAuth",
  "sendBody": true,
  "bodyParameters": {
    "parameters": [
      { "name": "url", "value": "={{ $json.url }}" }
    ]
  }
}
Make

Módulo HTTP, Make a request. {{1.url}} es la URL del paso anterior.

{
  "url": "https://linktw.in/api/url/add",
  "method": "POST",
  "headers": [
    { "name": "Authorization", "value": "Bearer YOUR_API_KEY" }
  ],
  "bodyType": "raw",
  "contentType": "application/json",
  "data": "{\"url\": \"{{1.url}}\"}"
}

Por qué elegir nuestro API

Creado por Desarrolladores, Para Desarrolladores

Una API REST sencilla con JSON predecible, límites claros y documentación para cada endpoint.

Autenticación segura

Autenticación con token Bearer con la capacidad de regenerar tu clave de API en cualquier momento. Todas las solicitudes están encriptadas vía HTTPS.

Límites de solicitudes claros

Cada clave API puede hacer 120 solicitudes por minuto, y cada respuesta te indica cuántas te quedan.

Diseño RESTful

Endpoints limpios e intuitivos siguiendo convenciones REST. Respuestas JSON con mensajes de error detallados y códigos de estado.

Deep links por defecto

Los enlaces creados con la API se abren en YouTube, Amazon, Spotify y más de 100 apps, exactamente igual que los enlaces creados en el panel.

Documentación completa

Cada endpoint está documentado con sus parámetros, una respuesta de ejemplo y código en cURL, PHP y Node.js.

Ver documentacion completa del API

Soporte para desarrolladores

¿Tienes algún problema? Escríbenos y te ayudaremos a poner en marcha tu integración.

Contáctanos
Publicaciones reales, personas reales

Y lo que publican en X

Cada publicación enlaza a su fuente original, para que puedas leer cada recomendación en su contexto.

Preguntas de desarrolladores

Preguntas frecuentes sobre nuestra API, la autenticación, los límites de solicitudes y las integraciones. Lee la documentación completa de la API.

¿Cómo obtengo una clave API?

Inicia sesión y abre Configuración en tu panel, o las páginas Servidor MCP y Herramienta CLI en Herramientas e integraciones. Tu clave API aparece ahí cuando tu plan incluye acceso a la API, que se incluye en todos los planes. Puedes regenerarla en cualquier momento, y la clave anterior deja de funcionar al instante.

¿Cuáles son los límites de solicitudes?

Cada clave API puede hacer 120 solicitudes por minuto. Cada respuesta incluye los encabezados X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset, para que puedas espaciar tus llamadas, y una solicitud que supera el límite recibe el error 429 con un valor Retry-After. Crear enlaces también tiene su propio cupo por minuto y por hora, que depende de tu plan y se indica en los encabezados X-Create-RateLimit.

¿Puedo usar la API con N8N, Zapier o Make?

Sí. La API funciona con cualquier plataforma de automatización que pueda enviar solicitudes HTTP: el nodo HTTP Request en n8n, Webhooks by Zapier o el módulo HTTP en Make. LinkTwin también puede llamar a un webhook de Zapier cada vez que creas un enlace o alguien hace clic en uno. La documentación de la API incluye el formato de solicitud de cada endpoint.

¿Qué endpoints están disponibles?

Enlaces (crear, listar, obtener, actualizar, eliminar y eliminar en bloque), códigos QR, colecciones, dominios personalizados, píxeles de retargeting, canales, estadísticas de clics y la configuración de tu cuenta. La documentación de la API indica los parámetros y una respuesta de ejemplo para cada uno.

¿La API está incluida en el plan gratuito?

El acceso a la API se incluye en todos los planes. Puedes crear una cuenta gratis para probar primero los enlaces de LinkTwin y pasar a un plan superior cuando estés listo para desarrollar. Consulta planes y precios.

¿Proporcionan ejemplos de código y SDKs?

Sí. La documentación muestra cada solicitud en cURL, PHP y Node.js, y esta página añade Python. Para JavaScript y TypeScript hay un cliente oficial en npm, @linktwin/client, que también impulsa el servidor MCP y la CLI de LinkTwin.

¿Los enlaces creados con la API se abren en las apps?

Sí. Un enlace creado con la API funciona exactamente igual que uno creado en el panel. En un teléfono abre la app correcta, como YouTube, Amazon o Spotify, y recurre al navegador cuando la app no está instalada. Consulta las apps compatibles.

¿Hay una integración con Zapier?

Sí, en ambas direcciones. Un Zap puede crear enlaces llamando a la API con Webhooks by Zapier, y LinkTwin puede enviar un webhook a Zapier cada vez que creas un enlace o alguien hace clic en uno. Pega las URLs de tus webhooks en la página de integración con Zapier de tu panel.

Una API key, tres formas de construir

La API REST, el servidor MCP y la CLI usan la misma API key y gestionan los mismos enlaces.

Empieza a construir con nuestro API hoy

Crea tu cuenta, elige un plan con acceso a la API y copia tu clave API. Incluye documentación completa y ejemplos de código.

Lee la documentación o consulta los planes. El acceso a la API se incluye en todos los planes.