Aller au contenu

Premiers pas avec l'API

L'API TinyLink donne à vos outils — un script, Zapier, Make, votre site — les mêmes gestes que l'application : créer une page et y ajouter des liens, réduire une adresse, poser des tags, générer un QR code, lire les statistiques. Elle est incluse dans les offres Pro et Business.

Marche à suivre

  1. Ouvrez Bibliothèque, puis l'onglet Intégrations : la carte API TinyLink est la première.
  2. Cliquez sur Générer un jeton : un panneau s'ouvre sur la droite. Choisissez les portées du jeton — Lecture, Écriture (créer, modifier, ajouter des liens, générer des QR codes) et Suppression — puis validez. Ne cochez que ce dont votre outil a besoin.
  3. Le jeton apparaît en tête du panneau, masqué comme un mot de passe : l'œil l'affiche, le bouton à côté le copie. Il reste disponible à cet endroit, vous pourrez le reprendre plus tard avec le bouton Gérer de la carte.
  4. Envoyez-le dans l'en-tête de chaque requête : Authorization: Bearer tl_…, à l'adresse https://api.tinylink.fr/v1.

Un jeton par environnement

Le jeton n'ouvre que l'environnement où il a été généré : vos autres espaces restent hors de portée. Il agit au nom de l'admin qui l'a généré, et cesse de fonctionner si cette personne n'est plus admin de l'environnement.

Le panneau Gérer est réservé aux admins : eux seuls voient le jeton et le modifient. Il est rangé chiffré chez TinyLink. Les portées se changent sans changer le jeton : vos outils n'ont rien à modifier. Régénérer en crée un nouveau et désactive l'ancien sur-le-champ — à faire si vous pensez qu'il a fuité. Révoquer le supprime. Le panneau indique aussi la date du dernier appel et le nombre d'appels.

Premier appel

GET/v1/me

Toutes les réponses sont en JSON. GET /v1/me vérifie le jeton et rend l'environnement, les portées et les plafonds de l'offre. À partir du 1er novembre 2026 s'y ajoute limits.visits_per_month : les visites du mois (used), le quota de l'offre (max, null sans quota) et la date de remise à zéro (resets_on).

curl https://api.tinylink.fr/v1/me \
  -H "Authorization: Bearer tl_votre_jeton"

Réponses possibles

{
  "environment": {
    "id": "Env_60c7cf02dd971TT",
    "name": "Mon équipe",
    "color": "#1e90ff",
    "description": null,
    "personal": false,
    "blocked": false
  },
  "token": {
    "scopes": [
      "read",
      "write"
    ],
    "created_at": "2026-10-05T21:56:57+02:00",
    "created_by": "Camille Martin",
    "last_used_at": "2026-10-05T21:57:19+02:00"
  },
  "plan": "Pro",
  "limits": {
    "pages": {
      "used": 4,
      "max": 10
    },
    "links": {
      "used": 27,
      "max": 100
    },
    "links_per_page": 50,
    "socials_per_page": 8,
    "requests_per_minute": 120
  }
}

Sans écrire de code : l'extension de navigateur

Le même jeton connecte l'extension TinyLink pour Chrome : elle réduit la page que vous lisez et liste vos liens réduits depuis la barre du navigateur.

Dans votre langage

Chaque exemple de cette documentation existe en curl, en JavaScript, en PHP et en Python : choisissez l'onglet, votre choix est gardé d'une page à l'autre. Rien n'impose l'un d'eux — l'API, c'est du HTTP et du JSON, et tout autre client convient aussi : Postman, ou le module HTTP de Zapier et de Make. Réduire une adresse, par exemple :

curl -X POST https://api.tinylink.fr/v1/links \
  -H "Authorization: Bearer tl_votre_jeton" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://exemple.fr/promo","slug":"promo"}'

Conventions

Les mêmes règles valent pour toutes les routes :

  • L'adresse de base est https://api.tinylink.fr/v1. GET /v1, sans jeton, rend le nom de l'API, sa version et l'adresse de cette documentation.
  • Le corps d'une requête est un objet JSON, envoyé avec Content-Type: application/json.
  • GET lit, avec la portée Lecture. POST crée, PATCH modifie et PUT pose un tag, avec la portée Écriture. DELETE supprime, avec la portée Suppression.
  • Une création répond 201 avec l'objet créé, une modification 200 avec l'objet à jour, une suppression 204 sans contenu.
  • Les listes de pages, de liens réduits et d'éléments d'un tag sont paginées : ?page= et ?per_page= (50 par défaut, 100 au plus). La réponse porte un objet pagination : page, per_page, total, total_pages.
  • Une page ou un lien réduit se désigne par son identifiant ou par son adresse personnalisée (slug). Dans les limites, null veut dire illimité.

Vous ne trouvez pas votre réponse ?

Écrivez-nous depuis l'onglet Support de votre espace, nous répondons sous 24 h ouvrées.

Contacter le support