API Substack Note
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
Raccogli le Notes di un autore Substack, i post brevi tenuti separati dalle newsletter, con testo, tipo, like e ora di pubblicazione di ciascuna. Elenca solo le Notes di un autore, non è una ricerca su tutto il sito, e potrebbe non coprire l'intera cronologia.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su substack e action impostato su notes. 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.
Substack Notes elenca le Notes che un autore ha pubblicato su Substack, a partire dal suo username. Le Notes sono i post brevi di Substack, distinti dagli articoli della newsletter; ogni riga riporta il text completo della nota, il suo kind, il numero di like, l'ora di pubblicazione e l'handle e il nome visualizzato dell'autore. Dice cosa condivide un autore in formato breve: serve a redattori e analisti dei media che seguono gli autori di una nicchia, agli editori che studiano quali post brevi raccolgono like e agli autori che confrontano le proprie Notes con quelle dei colleghi.
username accetta l'handle dell'autore, come astralcodexten, con o senza @, oppure un link al profilo substack.com/@. Le righe contengono solo Notes: gli articoli della newsletter arrivano dalla funzionalità Substack Publication posts, che accetta il link della pubblicazione, e un singolo articolo da Substack Post details. Controlla kind per vedere di che tipo è ogni voce e interpreta un like_count null come dato non reso noto, non come zero.
Prompt per l'AI
#Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Substack Note di EveryInfra (substack/notes).
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 substack e action su notes, e inserisci i parametri in params.
- Parametri obbligatori:
- username: Specifica l'handle del creator per profile o notes, come handle semplice (con prefisso @ facoltativo) o come link completo substack.com/@user.
- Parametri facoltativi:
- limit: Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 200. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. (predefinito: 25)
- Restituisce un elenco di record. Campi principali di ogni record: id, kind, text, author_username, author_name, like_count, posted_at, restacked_post, attachment_urls.
- Esempio di corpo della richiesta:
{
"platform": "substack",
"action": "notes",
"params": {
"username": "astralcodexten"
}
}
- 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ì | substack | Identificativo della piattaforma, valore fisso. |
action | body | string | Sì | notes | Identificativo della funzionalità, valore fisso. |
username | body.params | string | Sì | - | Specifica l'handle del creator per profile o notes, come handle semplice (con prefisso @ facoltativo) o come link completo substack.com/@user. L'azione notes recupera brevi aggiornamenti del creator, non i post lunghi delle pubblicazioni. |
limit | body.params | integer (1–200) | No | 25 | Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 200. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. I valori più alti restituiscono 422 prima di qualsiasi addebito. |
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": "substack",
"action": "notes",
"params": {
"username": "astralcodexten"
}
}'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": "substack", "action": "notes", "results": [ { "id": "p-•••", "kind": "restack", "author_username": "astralcodexten", "author_name": "•••", "posted_at": "2026-09-25T22:26:10.306000+00:00", "platform": "substack", "restacked_post": { "title": "Your Book Review: Lee Kuan Yew's Memoirs", "url": "https://www.astralcodexten.com/p/your-book-review-lee-kuan-yews-memoirs" } }, { "id": "p-•••", "kind": "restack", "author_username": "astralcodexten", "author_name": "•••", "posted_at": "2026-09-25T06:06:18.720000+00:00", "platform": "substack", "restacked_post": { "title": "Fall Meetups 2026 - Call For Meetup Organizers", "url": "https://www.astralcodexten.com/p/fall-meetups-2026-call-for-meetup" } } ], "count": 25, "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. |
kind | Mantiene il significato attribuito dalla 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. |
author_name | Nome visualizzato dell'autore. |
like_count | Like. null significa che la piattaforma o questa funzionalità non li rende noti; non equivale a 0. |
posted_at | Data e ora di pubblicazione in formato ISO 8601, UTC (ad esempio 2026-08-07T12:34:56+00:00). Le stringhe non standard della piattaforma vengono passate così come sono, quindi esegui il parsing in modo difensivo. null significa che la piattaforma non le rende note. |
platform | Identificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok). |
restacked_post | Mantiene il significato attribuito dalla piattaforma |
attachment_urls | Mantiene il significato attribuito dalla piattaforma |
FAQ
#Cosa devo passare come username?
#L'handle Substack dell'autore, come astralcodexten, da solo, con una @ o come link substack.com/@astralcodexten. Il link alla homepage di una pubblicazione non è l'input di Substack Notes; va a Substack Publication posts. L'handle è la parte dopo la @ nel link al profilo dell'autore.
Substack Notes restituisce gli articoli della newsletter?
#No. Restituisce le Notes brevi che un autore pubblica, non gli articoli lunghi della newsletter. Per elencare gli articoli di una pubblicazione, chiama la funzionalità Substack Publication posts con il link alla homepage della pubblicazione; per leggere un articolo completo, passa il suo link /p/ a Substack Post details.
Come tengo aggiornate le Notes di un autore?
#Chiama Substack Notes a intervalli regolari e salva le righe per id, così le Notes che hai già vengono riconosciute. Usa posted_at per trovare le novità dall'ultima esecuzione e confronta like_count tra un'esecuzione e l'altra per vedere quali Notes hanno continuato a ricevere like. Analizza posted_at con cautela, perché i valori non standard vengono passati così come sono.
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.
- Substack: cosa sono Notes e Restack ↗
Substack definisce Notes come attività di contenuti brevi e Restack come la condivisione di contenuti all'interno di Notes, distinguendoli dall'invio della newsletter articolo per articolo. Le funzionalità ufficiali di Substack per pubblicazione, engagement e analisi dei ricavi non significano che questo endpoint di lettura delle note supporti quelle operazioni o metriche.
Verificato il 2026-09-04