API TikTok Link per scaricare i video
Stato di salute dell'API
- Operatività nelle ultime 24 ore
- Normale
- Buono / normale
- Disponibile
- Limitato
- Quasi del tutto inattivo
Ultime 24 ore
Ultimi 30 giorni
Ottieni i link di download di un video TikTok dal suo url, senza watermark. Ricevi video_url con i link di riserva, dimensione, larghezza e altezza, un link in definizione più alta quando esiste, il link con watermark, l'audio, la copertina e expires_at, il momento in cui i link smettono di funzionare. Un post fotografico restituisce invece i suoi image_urls.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su tiktok e action impostato su video_download. Prezzo $0.64 per 1.000 richieste ($0.000639 per chiamata). Le chiamate non riuscite e i risultati vuoti non vengono addebitati. Sincrona. Per i job più lenti, aggiungi "mode": "async" al corpo della richiesta, recupera il job_id ed esegui il polling.
Prompt per l'AI
#Aiutami a scrivere uno script di raccolta dei dati con l'endpoint TikTok Link per scaricare i video di EveryInfra (tiktok/video_download).
Come funziona l'endpoint:
- Richiesta: POST https://api.everyinfra.com/api/v1/social con l'header Authorization: Bearer <chiave API>. Leggi la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY e non scriverla mai direttamente nel codice.
- Nel corpo della richiesta imposta platform su tiktok e action su video_download, e inserisci i parametri in params.
- Parametri obbligatori:
- url: Un link a un video TikTok: https://www.tiktok.com/@<user>/video/<ID> oppure un link /photo/, o l'ID del video. I link brevi vt.tiktok.com non sono accettati.
- Restituisce un oggetto. Campi principali: id, url, text, author_username, duration_seconds, duration_sec, video_url, video_backup_urls, width, height, size_bytes, hd_video_url; 20 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=tiktok.
- Esempio di corpo della richiesta:
{
"platform": "tiktok",
"action": "video_download",
"params": {
"url": "https://www.tiktok.com/@stoolpresidente/video/7488736374602927402"
}
}
- Prezzo: $0.64 per 1.000 richieste; le richieste non riuscite e i risultati vuoti non vengono addebitati.
- Per decine o centinaia di target, aggiungi "mode": "async" al corpo: ricevi subito un job_id ed esegui il polling su GET https://api.everyinfra.com/api/v1/jobs/{job_id} per ottenere il risultato.
- In caso di 422, correggi la richiesta usando i nomi dei parametri e i valori consentiti suggeriti nell'errore; in caso di 429 o 503, attendi il tempo indicato da Retry-After e riprova.
Prima di scrivere il codice, chiedimi quali target mi servono, quanti, quali campi e quale formato di output voglio; poi conferma con me il piano e il costo indicativo.Parametri della richiesta
#| Nome | Posizione | Tipo | Obbligatorio | Predefinito | Descrizione |
|---|---|---|---|---|---|
Authorization | header | string | Sì | - | Bearer seguito dalla tua chiave API. Creala nella console; non inserirla mai in un URL o in un repository di codice. |
platform | body | string | Sì | tiktok | Identificativo della piattaforma, valore fisso. |
action | body | string | Sì | video_download | Identificativo della funzionalità, valore fisso. |
url | body.params | string | Sì | - | Un link a un video TikTok: https://www.tiktok.com/@<user>/video/<ID> oppure un link /photo/, o l'ID del video. I link brevi vt.tiktok.com non sono accettati. |
Esempi di codice
#curl -X POST 'https://api.everyinfra.com/api/v1/social' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"platform": "tiktok",
"action": "video_download",
"params": {
"url": "https://www.tiktok.com/@stoolpresidente/video/7488736374602927402"
}
}'Definizione OpenAPI (JSON)Gli esempi leggono la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY; il codice copiato non contiene mai la tua chiave.
Esempio di risposta
#{ "id": "req_…", "platform": "tiktok", "action": "video_download", "results": { "id": "7488736374602927402", "url": "https://www.tiktok.com/@stoolpresidente/video/7488736374602927402", "text": "Oh shit there goes Pres breaking tik tok again. #bagelstomakehimdance ", "author_username": "stoolpresidente", "duration_seconds": 9, "video_url": "https://v16m.tiktokcdn-us.com/974a802d01d3e7e50eeb94eec1bd03a9/6aef945f/video/tos/useast5/tos-useast5-pve-0068-tx/ooDDXiDOFnXv7Vtl2R1KABfEF7KIESPfgnVn0E/?a=1233&bti=OTg7QGo5QHM6OjZALTAzYCMvcCMxNDNg&&bt=891&ft=arR-Iq4fmbdPD12XcKEI3wUylhGuEeF~O5&mime_type=video_mp4&rc=ZTxnNGg5aGQ3Z…", "video_backup_urls": [ "https://v19.tiktokcdn-us.com/98abf591a4320103072680284bacdbd0/6aef945f/video/tos/useast5/tos-useast5-pve-0068-tx/ooDDXiDOFnXv7Vtl2R1KABfEF7KIESPfgnVn0E/?a=1233&bti=OTg7QGo5QHM6OjZALTAzYCMvcCMxNDNg&&bt=891&ft=arR-Iq4fmbdPD12XcKEI3wUylhGuEeF~O5&mime_type=video_mp4&rc=ZTxnNGg5aGQ3ZD…", "https://api16-normal-useast5.tiktokv.us/aweme/v1/play/?faid=1233&file_id=e4c0302291384a04aa7e660e217d691b&is_play_url=1&item_id=7488736374602927402&line=0&pt=dGlrdG9rLnZpZGVvLmNvbnN1bXB0aW9uX2FwaSYvYXdlbWUvdjEvYXdlbWUvZGV0YWlsLyYyMDI2MTEwNzE1MTI1NDQwODNBRDIzNjc5RjQ5NUZGMjVFJjE3OT…" ], "width": 576, "height": 1024, "size_bytes": 1023840, "hd_video_url": "https://v16m.tiktokcdn-us.com/2c4e5e747bf61cb0a9df7522bc813517/6aef945f/video/tos/useast5/tos-useast5-ve-0068c002-tx/o8Sf7KORXIFKEVnDEnVgrXD7FvfMABtULEYtOi/?a=1233&bti=OTg7QGo5QHM6OjZALTAzYCMvcCMxNDNg&&bt=702&ft=arR-Iq4fmbdPD12XcKEI3wUylhGuEeF~O5&mime_type=video_mp4&rc=aWY7NjQ4OD…", "hd_width": 720, "hd_size_bytes": 807138, "watermarked_video_url": "https://v16m.tiktokcdn-us.com/c271f0185377593f1a95cd9f24a975bf/6aef945f/video/tos/useast5/tos-useast5-ve-0068c001-tx/ogX7Df7vEEmSEiVXFQngFBntICRVACfKvDBBKV/?a=1233&bti=OTg7QGo5QHM6OjZALTAzYCMvcCMxNDNg&&bt=951&ft=arR-Iq4fmbdPD12XcKEI3wUylhGuEeF~O5&mime_type=video_mp4&rc=ZzNlNjk3OW…", "audio_url": "https://v16m.tiktokcdn-us.com/6258855e249230f0f1a96c900b58430d/6af87a89/video/tos/useast5/tos-useast5-v-27dcd7-tx/ocw2Ger9oIFkYErRYEPALCyaQfTqEieqXHFa8R/?a=1233&bti=OUBzOTg7QGo6OjZAL3AjLTAzYCMxNDNg&&bt=125&ft=arR-Iq4fmbdPD12XcKEI3wUylhGuEeF~O5&mime_type=audio_mpeg&rc=NmZoOWgzMzsz…", "cover_image_url": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/ocFf0IDvIFAXISB7KAES7VE0D7VwfRKtnnhTgX~tplv-tiktokx-shrink-aq:360:360:q75.heic?dr=11731&refresh_token=f0d6ce6a&x-expires=1794150000&x-signature=BDZYzc4cN1jT16bUtQTrMCO9rOU%3D&t=bacd0480&ps=d97f9a4f&shp=d05b14bd&shcp=1…", "is_slideshow": false, "expires_at": "2026-11-07T21:13:03+00:00", "platform": "tiktok", "duration_sec": 9 }, "billing": { "charged": …, "charged_usd": …, "balance_after_usd": …, … }, "quota": { … }}
Campi della risposta
#I dati di business si trovano in results. La tabella elenca i campi che un record può contenere; i valori che la piattaforma non mostra non vengono mai inventati.
| Campo | Significato |
|---|---|
id | ID univoco del record sulla piattaforma. È univoco solo all'interno di una piattaforma; gli ID possono ripetersi tra piattaforme diverse. |
url | Link al record sulla piattaforma. |
text | Testo del contenuto senza HTML, restituito per intero e mai troncato (su alcune piattaforme i risultati degli elenchi contengono solo un estratto; lo indicano le note sui campi della piattaforma). |
author_username | Username dell'autore (@handle), di solito utilizzabile negli URL. |
duration_seconds | Durata in secondi. null per i contenuti che non sono video o audio. |
duration_sec | Mantiene il significato attribuito dalla piattaforma |
video_url | Mantiene il significato attribuito dalla piattaforma |
video_backup_urls | Mantiene il significato attribuito dalla piattaforma |
width | Mantiene il significato attribuito dalla piattaforma |
height | Mantiene il significato attribuito dalla piattaforma |
size_bytes | Mantiene il significato attribuito dalla piattaforma |
hd_video_url | Mantiene il significato attribuito dalla piattaforma |
hd_width | Mantiene il significato attribuito dalla piattaforma |
hd_size_bytes | Mantiene il significato attribuito dalla piattaforma |
watermarked_video_url | Mantiene il significato attribuito dalla piattaforma |
audio_url | Mantiene il significato attribuito dalla piattaforma |
cover_image_url | Mantiene il significato attribuito dalla piattaforma |
image_urls | Array di link alle immagini nell'ordine di visualizzazione della piattaforma; assente se non ci sono immagini. |
is_slideshow | Mantiene il significato attribuito dalla piattaforma |
expires_at | Mantiene il significato attribuito dalla piattaforma |
platform | Identificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok). |
Errori e addebiti
#- 401
- Chiave mancante o non valida.
- 402
- Saldo insufficiente. Effettua prima una ricarica.
- 422
- Nome o valore del parametro non valido. Correggilo seguendo i suggerimenti dell'errore. Nessun addebito.
- 429
- Raggiunto il limite di richieste al minuto. Attendi il tempo indicato da Retry-After, poi riprova.
- 503
- Impossibile completare. L'importo trattenuto torna sul tuo saldo. Se l'esito è incerto, verificalo prima di riprovare.
- Risposta 200 vuota
- Nessun dato. Nessun addebito.