API GitHub Repository dell'utente

POST

Stato di salute dell'API

Operatività nelle ultime 24 ore
Normale
  • Buono / normale
  • Disponibile
  • Limitato
  • Quasi del tutto inattivo
Normale

Ultime 24 ore

Ultimi 30 giorni

Elenca fino a 30 repository pubblici di un account GitHub, con stelle, fork, linguaggio, topic, licenza e date di push, ordinati per creazione, aggiornamento, push o nome.

Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su github e action impostato su user_repositories. Prezzo $0.96 per 1.000 richieste ($0.000958 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 GitHub Repository dell'utente di EveryInfra (github/user_repositories).

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 github e action su user_repositories, e inserisci i parametri in params.
- Parametri obbligatori:
  - username: Un nome utente GitHub come torvalds, oppure il link al profilo; funzionano anche le organizzazioni.
- Parametri facoltativi:
  - sort: Ordinamento dell'elenco. repository_issues: created (predefinito), updated o comments. search_issues: best match per impostazione predefinita, oppure comments, created, updated, reactions. (valori consentiti: created / full_name / pushed / updated)
  - limit: Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 30. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. (predefinito: 30)
- Restituisce un elenco di record. Campi principali di ogni record: id (ID numerico di GitHub, come stringa), full_name (Nome del repository nel formato owner/r…), name, owner_username (Username del proprietario del repositor…), owner_url (Link al profilo del proprietario del re…), owner_avatar_url (Immagine avatar del proprietario del re…), url, description, homepage (Homepage del progetto impostata sul rep…), language, license (Nome della licenza, ad esempio MIT Lice…), topics (Topic del repository); 22 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=github.
- Esempio di corpo della richiesta:
{
  "platform": "github",
  "action": "user_repositories",
  "params": {
    "username": "torvalds"
  }
}
- Prezzo: $0.96 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

#
NomePosizioneTipoObbligatorioPredefinitoDescrizione
AuthorizationheaderstringSì-Bearer seguito dalla tua chiave API. Creala nella console; non inserirla mai in un URL o in un repository di codice.
platformbodystringSìgithubIdentificativo della piattaforma, valore fisso.
actionbodystringSìuser_repositoriesIdentificativo della funzionalità, valore fisso.
usernamebody.paramsstringSì-Un nome utente GitHub come torvalds, oppure il link al profilo; funzionano anche le organizzazioni.
sortbody.paramsstring (enum)No-Ordinamento dell'elenco. repository_issues: created (predefinito), updated o comments. search_issues: best match per impostazione predefinita, oppure comments, created, updated, reactions. forks: newest (predefinito), oldest, stargazers, watchers. user_repositories: created, updated, pushed, full_name.Valori consentiticreatedfull_namepushedupdated
limitbody.paramsinteger (1–30)No30Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 30. 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

#
bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "github",
  "action": "user_repositories",
  "params": {
    "username": "torvalds"
  }
}'

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

#
Non è ancora disponibile una risposta di esempio per questi parametri. Questa anteprima mostra la struttura e i campi della risposta secondo la definizione dell'API, con … come segnaposto; non è il risultato di una chiamata reale.
json
{  "id": "req_…",  "platform": "github",  "action": "user_repositories",  "results": [    {      "id": …,      "full_name": …,      "name": …,      "owner_username": …,      "owner_url": …,      "owner_avatar_url": …,      "url": …,      "description": …,      "homepage": …,      "language": …,      "license": …,      "topics": …,      "star_count": …,      "fork_count": …,      "open_issue_count": …,      "default_branch": …,      "is_fork": …,      "is_archived": …,      "size_kb": …,      "created_at": …,      "updated_at": …,      "pushed_at": …,      "platform": …    }  ],  "count": …,  "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.

CampoSignificato
idID numerico di GitHub, come stringa.
full_nameNome del repository nel formato owner/repo; un repository rinominato o trasferito mostra il nuovo nome.
nameNome dell'oggetto stesso, per le funzionalità relative ad account, prodotti e attività.
owner_usernameUsername del proprietario del repository (utente o organizzazione).
owner_urlLink al profilo del proprietario del repository.
owner_avatar_urlImmagine avatar del proprietario del repository.
urlLink al record sulla piattaforma.
descriptionRiepilogo o descrizione, di solito più breve di text.
homepageHomepage del progetto impostata sul repository; assente se non è impostata.
languageCodice della lingua del contenuto (ad esempio zh, en) secondo la piattaforma; può essere errato.
licenseNome della licenza, ad esempio MIT License; assente se non è dichiarata. Le righe dei fork non la riportano.
topicsTopic del repository; assenti se non ce ne sono.
star_countStelle.
fork_countFork.
open_issue_countIssue aperte più pull request aperte, come le conta GitHub.
default_branchNome del branch predefinito.
is_forkIndica se il repository stesso è un fork (repository / user_repositories).
is_archivedIndica se il repository è archiviato (sola lettura).
size_kbDimensione del repository in KB, come riportata da GitHub.
created_atData e ora di creazione, nello stesso formato di posted_at.
updated_atData e ora dell'ultimo aggiornamento, ISO 8601 UTC.
pushed_atData e ora dell'ultimo push del codice, ISO 8601 UTC.
platformIdentificativo 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.

Errori

Riferimenti ufficiali

#

Usati solo per verificare oggetti e terminologia. Non implicano alcuna autorizzazione o approvazione di EveryInfra da parte della piattaforma.

  • API REST di GitHub: ottenere un utente ↗

    Il riferimento REST di GitHub legge un account pubblico tramite il suo username e documenta i campi del profilo pubblico. Conferma che `username` è il login di GitHub, non il nome visualizzato.

    Verificato il 2026-11-01

Le nostre statistiche di visita interne sono sempre attive. Google Analytics viene caricato solo se scegli «Consenti analisi». Informativa sulla privacy