API kweek.link
Simple et Puissante

Intégrez facilement le raccourcissement d'URL dans vos applications avec notre API REST moderne et bien documentée.

Démarrage Rapide

URL de Base

https://kweek.link/api/

Authentification

Incluez votre clé API dans l'en-tête de chaque requête :

Authorization: Bearer VOTRE_CLE_API
💡 Note : Obtenez votre clé API gratuite en créant un compte sur notre plateforme.

Endpoints Disponibles

POST /shorten

Raccourcir une URL

Crée un lien raccourci à partir d'une URL longue.

Paramètres
url string requis L'URL à raccourcir
custom_alias string optionnel Alias personnalisé pour le lien
expiration_date string optionnel Date d'expiration (YYYY-MM-DD)
Exemple de Requête
curl -X POST https://kweek.link/api/shorten \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer VOTRE_CLE_API" \
  -d '{
    "url": "https://www.example.com/very-long-url",
    "custom_alias": "mon-lien",
    "expiration_date": "2025-12-31"
  }'
Réponse
{
  "success": true,
  "data": {
    "id": "123",
    "original_url": "https://www.example.com/very-long-url",
    "short_url": "https://kweek.link/mon-lien",
    "short_code": "abc123",
    "custom_alias": "mon-lien",
    "created_at": "2025-06-25T10:30:00Z",
    "expires_at": "2025-12-31T23:59:59Z",
    "qr_code": "https://kweek.link/api/qr?url=https://kweek.link/mon-lien"
  }
}
GET /stats/{short_code}

Obtenir les Statistiques

Récupère les statistiques détaillées d'un lien raccourci.

Exemple de Requête
curl -X GET https://kweek.link/api/stats/mon-lien \
  -H "Authorization: Bearer VOTRE_CLE_API"
Réponse
{
  "success": true,
  "data": {
    "url": {
      "id": "123",
      "original_url": "https://www.example.com/very-long-url",
      "short_url": "https://kweek.link/mon-lien",
      "created_at": "2025-06-25T10:30:00Z"
    },
    "total_clicks": 1247,
    "unique_clicks": 892,
    "clicks_by_country": {
      "FR": 560,
      "US": 287,
      "CA": 156,
      "DE": 111,
      "GB": 89
    },
    "clicks_by_device": {
      "mobile": 847,
      "desktop": 349,
      "tablet": 51
    },
    "recent_clicks": [
      {
        "clicked_at": "2025-06-25T14:30:00Z",
        "country": "FR",
        "device": "mobile",
        "browser": "Chrome"
      }
    ]
  }
}
GET /links

Lister les Liens

Récupère la liste de vos liens raccourcis avec pagination.

Paramètres de Requête
page integer optionnel Numéro de page (défaut: 1)
limit integer optionnel Nombre d'éléments par page (défaut: 20)
Exemple de Requête
curl -X GET "https://kweek.link/api/links?page=1&limit=10" \
  -H "Authorization: Bearer VOTRE_CLE_API"
GET /qr

Générer un QR Code

Génère un QR code pour une URL donnée.

Paramètres de Requête
url string requis L'URL pour le QR code
size integer optionnel Taille en pixels (défaut: 200)
Exemple de Requête
curl -X GET "https://kweek.link/api/qr?url=https://kweek.link/mon-lien&size=300" \
  -H "Authorization: Bearer VOTRE_CLE_API"

Exemples de Code

JavaScript / Node.js

const response = await fetch('https://kweek.link/api/shorten', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer VOTRE_CLE_API'
  },
  body: JSON.stringify({
    url: 'https://www.example.com/long-url',
    custom_alias: 'mon-lien'
  })
});

const data = await response.json();
console.log('Lien raccourci:', data.data.short_url);

Python

import requests

url = "https://kweek.link/api/shorten"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer VOTRE_CLE_API"
}
data = {
    "url": "https://www.example.com/long-url",
    "custom_alias": "mon-lien"
}

response = requests.post(url, json=data, headers=headers)
result = response.json()
print(f"Lien raccourci: {result['data']['short_url']}")

PHP

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://kweek.link/api/shorten",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        "Content-Type: application/json",
        "Authorization: Bearer VOTRE_CLE_API"
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "url" => "https://www.example.com/long-url",
        "custom_alias" => "mon-lien"
    ])
]);

$response = curl_exec($curl);
$data = json_decode($response, true);
echo "Lien raccourci: " . $data['data']['short_url'];

Codes d'Erreur

400 Bad Request Paramètres manquants ou invalides
401 Unauthorized Clé API manquante ou invalide
403 Forbidden Limite de quota atteinte
404 Not Found Lien non trouvé
429 Too Many Requests Limite de taux dépassée
500 Internal Server Error Erreur serveur interne

Limites de Taux

Plan Gratuit

100 requêtes par heure

Plan Pro

1,000 requêtes par heure

Plan Enterprise

10,000 requêtes par heure

💡 Conseil : Utilisez les en-têtes de réponse X-RateLimit-Remaining et X-RateLimit-Reset pour suivre votre utilisation.