https://downf.ioBuild downloads with downf.io
DownF keeps API execution disabled until an operator reviews the compatibility use case. The examples describe the planned contract, while real credentials and quotas arrive only through support activation.
Schnellstart
DownF organizes API host around support-activated credentials. Its compatibility view compares an assigned tenant endpoint. A server-only call path remains the final check.
X-API-Key: pending_activation_…DownfBridgev1# Available only after support activation
export DOWNF_ACCESS_TOKEN="issued-after-review"
curl -X POST https://downf.io/v1/resolve \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"media_address":"https://www.youtube.com/watch?v=VIDEO_ID"}'Credential safety begins with server-side secret storage on DownF. This compatibility view then presents no client bundle embedding. The final fact is no public logs or repositories.
Auflösen eines Links
DownF organizes Resolve operation around source detection. Its compatibility view compares formats from one submitted URL. No invented outputs remains the final check.
/v1/resolveGeltungsbereich: resolve| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
media_address | HTTPS-URL | Ja | Öffentliche oder autorisierte Medienseite zu analysieren. |
tenant | Zeichenfolge | Nein | Zugewiesene Mandantendomäne. Normalerweise weggelassen. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Format identifier begins with the returned value unchanged on DownF. This compatibility view then presents per-link availability. The final fact is no guessed quality label.
Download-Auftrag erstellen und verfolgen
Job creation starts with asynchronous preparation on DownF. The next view covers a short HTTP request. The page keeps bounded worker execution visible.
/v1/jobsGeltungsbereich: Jobs| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
media_address | HTTPS-URL | Ja | Die gleiche normalisierte Quelle, die zur Auflösung eingereicht wurde. |
output_ref | Zeichenfolge | Ja | Eine genaue ID aus der Auflösungsantwort. |
tenant | Zeichenfolge | Nein | Zugewiesene Mandantendomäne. Normalerweise weggelassen. |
curl -X POST https://downf.io/v1/jobs \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"media_address":"https://www.youtube.com/watch?v=VIDEO_ID","output_ref":"18"}'transfer_ref.GET /v1/jobs/{transfer_ref} with the same key.| Status | Bedeutung | Client-Action |
|---|---|---|
queued | In die begrenzte Warteschlange aufgenommen. | Abstimmung nochmal mit Rückzug. |
extracting | Aktualisierung von Quellmetadaten oder Route. | Fahren Sie mit dem Abstimmen fort. |
processing | Herunterladen, Remuxen oder Zusammenführen. | Serverfortschritt anzeigen. |
ready | Signierter Download ist verfügbar. | Senden Sie die URL an den Benutzer. |
failed | Terminal strukturierter Fehler. | Read error_code. Retry only when advised. |
expired | Temporäre Ausgabe wurde entfernt. | Erstellen Sie einen neuen Job. |
curl https://downf.io/v1/jobs/TRANSFER_REF \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN"DownF's compatibility view reviews one-second initial wait for Job polling. It shows capped backoff next and does not obscure temporary signed delivery.
Vorhersehbare Fehler
DownF presents three practical points for Error contract. First comes one non-2xx envelope. The compatibility view then covers a support request ID. Its final point is predictable client handling.
{
"success": false,
"error": {
"code": "RATE_LIMITED",
"category": "rate_limited",
"message": "Too many requests. Please try again shortly.",
"retryable": true,
"details": {"retry_after_seconds": 20}
},
"request_id": "…"
}| HTTP | Typische Bedeutung | Action |
|---|---|---|
| 400 | Ungültige URL, ungültiger Text oder unzugängliches Format. | Korrigieren Sie die Anfrage. Lösen Sie erneut für Formate auf. |
| 401 | Fehlender, ungültiger, abgelaufener oder falscher Schlüsselbereich. | Überprüfen Sie die serverseitigen Anmeldeinformationen. |
| 403 | Die Anforderung wurde von der Mandanten- oder Quellenrichtlinie abgelehnt. | Umgehen Sie die Richtlinie nicht. Wenden Sie sich an den Support. |
| 404 | Unbekannter oder abgelaufener Job. | Erstellen Sie ggf. einen neuen Auftrag. |
| 429 | Anfrage- oder Aktiv-Job-Limit erreicht. | Honor retry_after_seconds. |
| 503 | Warteschlange/Kapazität oder Upstream vorübergehend nicht verfügbar. | Wiederholen Sie den Versuch mit exponentiellem Rückschlag und Jitter. |
Betriebsvertrag
DownF assigns a request ceiling after reviewing the intended client, keeping its compatibility checks and upstream providers stable.
- Verwenden Sie idempotente Anwendungslogik und starten Sie niemals doppelte Aufträge für denselben Benutzerklick.
- Speichern Sie Auflösungsmetadaten nur kurz zwischen und behandeln Sie signierte Download-URLs stets als ablaufend.
- Use bounded exponential backoff with jitter for
429,503and retryable errors. - Verarbeiten Sie nur öffentliche Medien oder Medien, auf die Sie zugreifen dürfen, und umgehen Sie keine DRM- und Zugriffskontrollen.
- Bewahren Sie Anforderungs-IDs und Auftrags-IDs in privaten Betriebsprotokollen auf und protokollieren Sie übermittelte URLs nicht unnötig.
DownF organizes Schema access around activation before exploration. Its compatibility view compares assigned authentication. Documented request shapes remains the final check.
Activate through support
Describe the product, forecast its monthly calls and list the platforms it must analyze. DownF support will confirm the required scopes before issuing a one-time visible credential whose stored copy is only a hash.
Request activation Schlüssel sind mandantenspezifisch, widerrufbar und werden über das Kontaktformular ausgestellt. Anonyme Skripte können keine Downloader-Arbeit ausführen.