API per sviluppatori

API dati di gara

Porta gare aperte, aggiudicazioni di contratti e altri dati sugli appalti nei tuoi sistemi. Una chiave, risposte JSON, paginazione a cursore e feed giornalieri delle modifiche.

endpoint
12
REST · JSON
v1
per chiave API
60/min
record per pagina
200

Guida rapida

Effettua la tua prima richiesta

L'accesso API viene fornito con il tuo piano. Usa la chiave che ti forniamo per chiamare qualsiasi endpoint come token Bearer.

URL di basehttps://app.tenderhive.com/api/public/v1
curl
curl "https://app.tenderhive.com/api/public/v1/tenders?country=KE" \
  -H "Authorization: Bearer YOUR_API_KEY"

Le risposte sono in JSON. Pagina con next_cursor. Ogni chiave consente 60 richieste al minuto entro il limite mensile; superato uno dei due limiti riceverai 429.

Connetti il tuo assistente AI

Aggiungi questo indirizzo in Claude, ChatGPT o qualsiasi assistente che supporti MCP, quindi accedi con il tuo account TenderHive Intelligence.

https://app.tenderhive.com/api/public/mcp

Provalo

Invia una richiesta live

Usa la tua chiave sull'API live e ispeziona la risposta, gli header e il comando curl corrispondente.

La tua chiave rimane in questa scheda del browser e viene inviata solo all'API.

Curl equivalente

curl "https://app.tenderhive.com/api/public/v1/tenders?limit=5" \
  -H "Authorization: Bearer YOUR_API_KEY"

Incolla una chiave e invia una richiesta per vedere la risposta in tempo reale.

Sincronizzazione giornaliera

Mantieni aggiornati i tuoi sistemi

Carica i tuoi dati concessi in licenza una volta, poi recupera solo i record nuovi e modificati ogni giorno. Ogni modifica porta un hash del contenuto, così i record invariati possono essere saltati.

# 1. First run: page through everything in your licence
curl "https://app.tenderhive.com/api/public/v1/tenders?limit=200" \
  -H "Authorization: Bearer $TENDERHIVE_KEY"
# repeat with &cursor=<next_cursor> until next_cursor is null

# 2. Every day after: fetch only what changed since your last run
curl "https://app.tenderhive.com/api/public/v1/tenders/changes?since=2026-10-07T00:00:00Z&limit=200" \
  -H "Authorization: Bearer $TENDERHIVE_KEY"

Riferimento

Limiti ed errori

LimiteValoreIntestazione
Limite al minuto60 richieste al minuto per chiave per impostazione predefinita; aumentabile previo accordoX-RateLimit-Limit / -Remaining / -Reset
Limite al secondoAccordi Enterprise: fino a 20 richieste al secondo per chiave, con un burst di 2 secondiX-RateLimit-Limit-Second / -Remaining-Second, RateLimit, RateLimit-Policy
Richieste condizionaliOgni risposta contiene un ETag; invia If-None-Match per ottenere 304 quando nulla è cambiatoETag / If-None-Match
Disponibilità mensileImpostato dal tuo piano o accordo, conteggiato per organizzazione, si azzera il 1° del mese (UTC)x-quota-limit / -remaining / -reset
Dimensione paginaFino a 200 record per richiesta; paginazione a cursorenext_cursor
Restrizioni chiaveLe chiavi possono essere limitate a paesi e settori concessi in licenza e possono avere una data di scadenza—
StatoCodiceSignificato
400bad_requestUn filtro o cursore non è valido.
401unauthenticatedChiave mancante, sconosciuta, revocata o scaduta.
402plan_requiredIl tuo piano non include l'accesso API.
403scope_deniedLa chiave non è concessa in licenza per questi dati o paese.
429rate_limitedLimite di burst o disponibilità mensile raggiunto. Attendi i secondi indicati in retry-after.
503service_unavailableProblema temporaneo. Riprova con backoff.

Riferimento

Endpoint

12 endpoint

Ogni risposta contiene x-ratelimit-limit, x-ratelimit-remaining e x-ratelimit-reset, più x-quota-* quando si applica un limite mensile.

Domande? Contattaci