API Instagram
L'API Instagram ti consente di cercare profili utente, elencare post, reel e media taggati, leggere storie, ottenere dettagli dei post, leggere commenti e risposte, cercare utenti e hashtag, e navigare il grafico sociale (follower / seguiti). Dodici endpoint, tutti a 2 crediti per richiesta.
Endpoint
| Endpoint | Descrizione |
|---|---|
POST /api/v1/instagram/profile | Ottieni un profilo utente tramite username o user_id |
POST /api/v1/instagram/user/posts | Elenca i post di un utente (paginati) |
POST /api/v1/instagram/user/reels | Elenca i reel di un utente (paginati) |
POST /api/v1/instagram/user/tagged | Elenca i post in cui un utente è taggato (paginati) |
POST /api/v1/instagram/user/stories | Ottieni le storie attive di un utente |
POST /api/v1/instagram/post | Ottieni i dettagli completi di un singolo post |
POST /api/v1/instagram/post/comments | Elenca i commenti su un post |
POST /api/v1/instagram/post/comments/replies | Elenca le risposte a un commento specifico |
POST /api/v1/instagram/search/users | Cerca utenti Instagram per parola chiave |
POST /api/v1/instagram/search/hashtags | Cerca hashtag Instagram per parola chiave |
POST /api/v1/instagram/user/followers | Elenca i follower di un utente |
POST /api/v1/instagram/user/followings | Elenca gli account che un utente segue |
Autenticazione
| Intestazione | Valore | Obbligatorio |
|---|---|---|
Authorization | Bearer YOUR_API_KEY | Sì |
Content-Type | application/json | Sì |
Ogni risposta di successo include i campi di monitoraggio dei crediti: credits_used, credits_remaining e response_time (ms).
Identificazione di un utente
Gli endpoint utente accettano o un username o un user_id numerico. Passare username è l'opzione più semplice; viene risolto automaticamente in un user_id. Per chiamate ripetute, leggi data.user.id dalla risposta del profilo e passalo come user_id per saltare la risoluzione.
Profilo utente
POST https://api.scavio.dev/api/v1/instagram/profileOttieni un profilo utente Instagram. Passa o username o user_id.
Corpo della richiesta
| Parametro | Tipo | Default | Descrizione |
|---|---|---|---|
username | string | -- | Handle Instagram (senza @). Obbligatorio uno tra username o user_id. |
user_id | string | -- | ID utente numerico. Obbligatorio uno tra username o user_id. |
Esempio
curl -X POST 'https://api.scavio.dev/api/v1/instagram/profile' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"username": "instagram"}'Campi della risposta (data.user)
| Campo | Tipo | Descrizione |
|---|---|---|
id | string | ID utente numerico (usa come user_id) |
username | string | Username (handle) |
full_name | string | Nome visualizzato |
biography | string | Testo biografia |
external_url | string | Link nella biografia |
profile_pic_url_hd | string | URL avatar HD |
is_verified | boolean | Badge verificato |
is_private | boolean | Account privato |
edge_followed_by.count | number | Follower |
edge_follow.count | number | Seguiti |
edge_owner_to_timeline_media.count | number | Post totali |
Risposta di esempio
{
"data": {
"user": {
"id": "25025320",
"username": "instagram",
"full_name": "Instagram",
"biography": "Discover what's next on Instagram",
"is_verified": true,
"is_private": false,
"edge_followed_by": { "count": 672000000 },
"edge_follow": { "count": 250 },
"edge_owner_to_timeline_media": { "count": 7600 }
}
},
"response_time": 845,
"credits_used": 2,
"credits_remaining": 11750
}Post dell'utente
POST https://api.scavio.dev/api/v1/instagram/user/postsElenca i post di un utente (media della timeline). Passa username o user_id.
Corpo della richiesta
| Parametro | Tipo | Default | Descrizione |
|---|---|---|---|
username | string | -- | Handle (senza @). Obbligatorio uno tra username o user_id. |
user_id | string | -- | ID utente numerico. Obbligatorio uno tra username o user_id. |
count | number | 12 | Risultati per pagina (1-50). |
cursor | string | -- | Cursore di paginazione. Usa data.page_info.end_cursor dalla risposta precedente. |
Paginazione
Usa data.page_info.end_cursor come cursor nella richiesta successiva. Fermati quando data.page_info.has_next_page è false.
Reel dell'utente (/api/v1/instagram/user/reels) e Post taggati (/api/v1/instagram/user/tagged) accettano gli stessi parametri e paginazione dei post dell'utente, restituendo rispettivamente reel e media taggati.
Storie dell'utente
POST https://api.scavio.dev/api/v1/instagram/user/storiesOttieni le storie attualmente attive di un utente. Passa username o user_id. Restituisce gli URL dei media di ogni storia, il tipo (immagine/video) e il timestamp.
Dettagli del post
POST https://api.scavio.dev/api/v1/instagram/postOttieni i dettagli completi di un singolo post o reel. Passa uno tra url, media_id o shortcode.
Corpo della richiesta
| Parametro | Tipo | Default | Descrizione |
|---|---|---|---|
url | string | -- | URL del post. Supporta percorsi /p/, /reel/, /reels/, /tv/. |
media_id | string | -- | ID media numerico. |
shortcode | string | -- | Shortcode del post, es. DUajw4YkorV. |
Esempio
curl -X POST 'https://api.scavio.dev/api/v1/instagram/post' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"shortcode": "DUajw4YkorV"}'Commenti del post
POST https://api.scavio.dev/api/v1/instagram/post/commentsOttieni i commenti su un post. Passa o un shortcode o un url del post.
Corpo della richiesta
| Parametro | Tipo | Default | Descrizione |
|---|---|---|---|
shortcode | string | -- | Shortcode del post. Obbligatorio uno tra shortcode o url. |
url | string | -- | URL del post; lo shortcode viene estratto da esso. |
cursor | string | -- | Cursore di paginazione. Usa data.next_min_id dalla risposta precedente. |
sort_order | string | "popular" | "popular" o "newest". |
Paginazione
Usa data.next_min_id come cursor successivo. Fermati quando è assente. Ogni commento espone un campo pk; usalo come comment_id per l'endpoint delle risposte.
Risposte ai commenti
POST https://api.scavio.dev/api/v1/instagram/post/comments/repliesOttieni le risposte a un commento specifico.
Corpo della richiesta
| Parametro | Tipo | Default | Descrizione |
|---|---|---|---|
media_id | string | -- | Obbligatorio. ID media numerico del post. |
comment_id | string | -- | Obbligatorio. ID del commento genitore (pk dall'endpoint dei commenti). |
cursor | string | -- | Cursore di paginazione. Usa data.next_min_child_cursor dalla risposta precedente. |
Cerca utenti
POST https://api.scavio.dev/api/v1/instagram/search/usersCerca utenti Instagram per parola chiave.
Corpo della richiesta
| Parametro | Tipo | Default | Descrizione |
|---|---|---|---|
keyword | string | -- | Obbligatorio. Query di ricerca (1-500 caratteri). |
cursor | string | -- | Token di ranking da una risposta precedente per la paginazione. |
Cerca hashtag (/api/v1/instagram/search/hashtags) accetta gli stessi parametri e restituisce gli hashtag corrispondenti con il conteggio dei media.
Follower dell'utente
POST https://api.scavio.dev/api/v1/instagram/user/followersOttieni la lista dei follower di un utente. Passa username o user_id.
Corpo della richiesta
| Parametro | Tipo | Default | Descrizione |
|---|---|---|---|
username | string | -- | Handle (senza @). Obbligatorio uno tra username o user_id. |
user_id | string | -- | ID utente numerico. Obbligatorio uno tra username o user_id. |
count | number | 12 | Risultati per pagina (1-100). |
cursor | string | -- | Cursore di paginazione. Usa data.next_max_id dalla risposta precedente. |
Seguiti dell'utente
POST https://api.scavio.dev/api/v1/instagram/user/followingsOttieni gli account che un utente segue. Stessa struttura e parametri della richiesta per i follower.
Riferimento paginazione
| Campo cursore | Endpoint | Condizione di arresto |
|---|---|---|
data.page_info.end_cursor | user/posts, user/reels, user/tagged | has_next_page === false |
data.next_min_id | post/comments | cursore assente |
data.next_min_child_cursor | post/comments/replies | cursore assente |
data.next_max_id | user/followers, user/followings | cursore assente |
| rank token | search/users, search/hashtags | nessun ulteriore risultato |
Note
- Ogni endpoint costa 2 crediti per richiesta.
- Gli endpoint utente accettano un
usernameo unuser_idnumerico; l'endpoint del post accetta unurl,media_idoshortcode. - Le liste di follower e seguiti sono paginabili solo per gli account per cui Instagram lo consente. Account grandi o verificati restituiscono
should_limit_list_of_followers: true,has_more: falsee nessunnext_max_id-- questa è una restrizione di Instagram, non un errore. Testa la paginazione con un account più piccolo e non verificato. - Consulta Errori per la gestione di
401,429, e502.