API Mastodon Dettagli
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
Risolvi un handle Mastodon o un indirizzo utente@istanza per ottenere il nome visualizzato, l'handle completo, l'istanza di appartenenza e il link al profilo dell'account. Un handle senza istanza viene cercato su mastodon.social a meno che tu non imposti instance, e una corrispondenza non dimostra che sia l'account che intendevi.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su mastodon e action impostato su profile. Prezzo $1.39 per 1.000 richieste ($0.001389 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.
Mastodon Details cerca un account Mastodon e restituisce chi è: username, nome visualizzato, l'handle completo nel formato @user@instance, l'instance che lo ospita e il link al profilo. Ricercatori e team di community la usano per ricondurre un nome visto in un post o in un elenco a un account preciso, per normalizzare gli account di un dataset su un unico identificatore o per verificare su quale server si trova un account prima di leggerne i post.
Mastodon è federato, quindi lo stesso username può appartenere a persone diverse su server diversi, e solo handle è univoco in tutta la rete: salvalo come chiave. Passa l'account come user@instance, con o senza la @ iniziale. Uno username semplice senza instance viene cercato su mastodon.social, e quando imposti instance questo prevale su qualsiasi server indicato in username, quindi mantieni coerenti i due valori.
Prompt per l'AI
#Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Mastodon Dettagli di EveryInfra (mastodon/profile).
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 mastodon e action su profile, e inserisci i parametri in params.
- Parametri obbligatori:
- username: Specifica l'handle dell'account Mastodon o il formato completo user@instance, con @ iniziale facoltativo.
- Parametri facoltativi:
- instance: Seleziona il dominio di un'istanza Mastodon senza schema né percorso. Timeline usa fosstodon.org come predefinito e le altre azioni mastodon.social.
- Restituisce un oggetto. Campi principali: username, display_name, handle, instance, url.
- Esempio di corpo della richiesta:
{
"platform": "mastodon",
"action": "profile",
"params": {
"username": "Mastodon@mastodon.social"
}
}
- Prezzo: $1.39 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ì | mastodon | Identificativo della piattaforma, valore fisso. |
action | body | string | Sì | profile | Identificativo della funzionalità, valore fisso. |
username | body.params | string | Sì | - | Specifica l'handle dell'account Mastodon o il formato completo user@instance, con @ iniziale facoltativo. Se fornisci un handle breve senza istanza, viene usato mastodon.social, e nomi utente identici su istanze diverse corrispondono ad account distinti. |
instance | body.params | string | No | - | Seleziona il dominio di un'istanza Mastodon senza schema né percorso. Timeline usa fosstodon.org come predefinito e le altre azioni mastodon.social. Un'istanza esplicita ha la priorità sul dominio indicato in username, quindi mantieni coerenti i due valori. |
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": "mastodon",
"action": "profile",
"params": {
"username": "Mastodon@mastodon.social"
}
}'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": "mastodon", "action": "profile", "results": { "username": "•••", "display_name": "•••", "handle": "@Mastodon@mastodon.social", "instance": "mastodon.social", "url": "https://mastodon.social/@•••", "platform": "mastodon" }, "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 |
|---|---|
username | Username (@handle). |
display_name | Nome visualizzato; può essere diverso da username. |
handle | Mantiene il significato attribuito dalla piattaforma |
instance | Mantiene il significato attribuito dalla piattaforma |
url | Link al record sulla piattaforma. |
platform | Identificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok). |
FAQ
#Perché lo stesso username può appartenere a persone diverse?
#Ogni server Mastodon ha i propri utenti, quindi alice su mastodon.social e alice su fosstodon.org sono account distinti. Invia la forma completa user@instance, poi controlla handle nel risultato: è l'unico identificatore univoco in tutta la rete.
Cosa succede se username e instance non coincidono?
#L'instance esplicito prevale sul server indicato in username, quindi una richiesta per aliceinstance impostato su un altro dominio viene cercata su quell'altro server. Ometti instance quando username indica già il server, oppure fai in modo che i due coincidano, e scrivilo come dominio semplice, senza https:// né percorsi.
Come leggo i post di questo account?
#Passa lo stesso valore user@instance alla funzionalità Mastodon Posts by user, che segue le stesse regole per username e instance. Se sei partito da uno username breve, l'instance restituito qui ti dice quale server indicare.
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.
Riferimenti ufficiali
#Usati solo per verificare oggetti e terminologia. Non implicano alcuna autorizzazione o approvazione di EveryInfra da parte della piattaforma.
- Mastodon WebFinger: gli handle degli account richiedono la risoluzione del dominio ↗
La documentazione ufficiale afferma esplicitamente che @user@example.com e @user@example.org sono account distinti, definiti sia dallo username sia dal dominio. Questo documento chiarisce le regole di identificazione degli account e non implica che questo gateway restituisca tutti i metadati ufficiali dell'oggetto Account.
Verificato il 2026-09-04