URLs in großen Mengen kürzen mit der URLW-API: Leitfaden und Beispiele

Kürzen Sie Hunderte von URLs in einer einzigen Anfrage mit der URLW-Batch-API. Vollständiger Leitfaden mit curl-Beispielen, Best Practices und Fehlerbehandlung.

Sie haben einen Katalog mit 500 Produkten, 1 000 Blogartikeln oder eine CSV-Datei mit Links, die dringend gekürzt werden müssen? Die URLW-API bietet einen Batch-Endpoint, mit dem Sie Hunderte von URLs in einer einzigen HTTP-Anfrage verarbeiten können – mit optimaler Leistung und Zuverlässigkeit.

Wann Sie Massenkürzung verwenden sollten

Die Massenverarbeitung ist besonders geeignet in diesen Situationen:

  • Migration von einem anderen Dienst: Sie importieren alle Ihre bestehenden Bitly- oder TinyURL-Links in URLW
  • E-Commerce-Katalog: Sie kürzen die URL jeder Produktseite für Ihre SMS- oder E-Mail-Kampagnen
  • Redaktionelle Inhalte: Ein Medium oder Blog möchte alle seine Artikel für seine sozialen Netzwerke kürzen
  • Multi-Segment-Kampagne: Sie erstellen personalisierte Links für jedes Segment Ihrer Kundendatenbank
  • Pipeline-Automatisierung: Ein automatisierter Workflow generiert Kurzlinks für täglich veröffentlichte neue Inhalte

Der Batch-Endpoint der URLW-API

Der Endpoint POST /api/v1/links/batch akzeptiert ein JSON-Array von zu kürzenden URLs. Jedes Element kann eine URL, einen optionalen Slug, eine benutzerdefinierte Domain und Metadaten angeben.

Zu beachtende Limits:

  • Maximal 100 URLs pro Batch-Anfrage (für größere Volumen in mehrere Anfragen aufteilen)
  • Das Rate Limit Ihres Plans gilt pro Anfrage, nicht pro URL im Batch
  • Fehler werden pro URL zurückgegeben (eine ungültige URL blockiert die anderen nicht)

Vollständiges Beispiel mit curl

Hier ist ein Beispiel einer Batch-Anfrage, die 3 URLs auf einmal kürzt:

curl -X POST https://urlw.fr/api/v1/links/batch \
-H "Authorization: Bearer IHR_API_SCHLUESSEL" \
-H "Content-Type: application/json" \
-d '{
"links": [
  {
    "url": "https://beispiel.de/produkt/ergonomischer-buerostuhl",
    "slug": "buerostuhl",
    "domain": "go.ihr-shop.de"
  },
  {
    "url": "https://beispiel.de/produkt/hoehenverstellbarer-schreibtisch",
    "slug": "schreibtisch"
  },
  {
    "url": "https://beispiel.de/produkt/led-schreibtischlampe",
    "slug": "led-lampe"
  }
]
}'

JSON-Antwort (HTTP 207 Multi-Status):

{
"results": [
{
  "status": 201,
  "link": {
    "id": "lnk_001",
    "short_url": "https://go.ihr-shop.de/buerostuhl",
    "slug": "buerostuhl"
  }
},
{
  "status": 201,
  "link": {
    "id": "lnk_002",
    "short_url": "https://urlw.fr/schreibtisch",
    "slug": "schreibtisch"
  }
},
{
  "status": 422,
  "error": {
    "code": "SLUG_TAKEN",
    "message": "Der Slug 'led-lampe' ist bereits vergeben"
  }
}
]
}

Bash-Skript zur Massenkürzung einer CSV-Datei

Um eine CSV-Datei mit mehreren tausend URLs zu verarbeiten, hier ein Ansatz mit bash und dem Befehl split:

#!/bin/bash
# Teilt die CSV in Batches von 100 URLs auf und ruft die URLW-API für jeden Batch auf

INPUT_FILE="zu_kuerzende_urls.csv"
API_KEY="${URLW_API_KEY}"
OUTPUT_FILE="generierte_kurzlinks.csv"

# CSV zeilenweise lesen und Batches von 100 erstellen
python3 - <<'EOF'
import json, csv, subprocess, sys

with open('zu_kuerzende_urls.csv') as f:
urls = [row[0] for row in csv.reader(f) if row]

batch_size = 100
for i in range(0, len(urls), batch_size):
batch = [{"url": u} for u in urls[i:i+batch_size]]
payload = json.dumps({"links": batch})
print(f"Verarbeitung von Batch {i//batch_size + 1} ({len(batch)} URLs)...")
# API-Aufruf hier mit subprocess.run oder requests
EOF

Für sehr große Volumen (10 000+ URLs) bevorzugen Sie ein Python- oder Node.js-Skript mit asynchroner Verarbeitung und automatischem Retry bei 429-Fehlern. Lesen Sie die URLW-API-Dokumentation für vollständige Details zum Batch-Endpoint. Erstellen Sie Ihr Konto, um zu beginnen.

URLW kostenlos testen

50 Kurzlinks, REST-API inklusive, keine Kreditkarte erforderlich.