API LinkedIn Offerte di lavoro

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 le offerte di lavoro su LinkedIn per un termine di ricerca o un URL completo di ricerca di lavoro in keyword. Ottieni azienda, località, stipendio se indicato, tipo di impiego, livello di esperienza e numero di candidati. Non viene inviata alcuna candidatura, e un annuncio potrebbe non essere più aperto.

Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su linkedin e action impostato su jobs. Prezzo $0.56 per 1.000 richieste ($0.000556 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.

La funzionalità LinkedIn Jobs cerca annunci di lavoro pubblici su LinkedIn in base a keyword e restituisce per ciascuno titolo, descrizione, nome dell'azienda, link e logo della pagina aziendale, località, stipendio, tipo di impiego, livello di seniority, numero di candidati e data di pubblicazione. Mostra chi sta assumendo per un ruolo, dove e a quale livello. Recruiter e siti di annunci di lavoro la usano per monitorare le posizioni aperte, i team commerciali per individuare aziende che stanno ampliando un team e gli analisti del mercato del lavoro per misurare la domanda di una competenza tra luoghi diversi e nel tempo.

keyword accetta un termine di ricerca come software engineer o l'URL completo di una ricerca di lavoro su LinkedIn. employment_type distingue posizioni a tempo pieno, part-time, a contratto e di stage, quindi tieni separati questi gruppi quando confronti le retribuzioni in salary. Un posted_at null significa che LinkedIn non ha reso noto quando è stato pubblicato l'annuncio, e il campo location di ogni riga viene restituito con la formulazione di LinkedIn anziché in un formato fisso.

Prompt per l'AI

#
Aiutami a scrivere uno script di raccolta dei dati con l'endpoint LinkedIn Offerte di lavoro di EveryInfra (linkedin/jobs).

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 linkedin e action su jobs, e inserisci i parametri in params.
- Parametri obbligatori:
  - keyword: Specifica la stringa di ricerca: una parola chiave per la ricerca dei post in search, la qualifica attuale in profile_search, oppure un termine di ricerca o l'URL completo di un'offerta di lavoro in jobs.
- Parametri facoltativi:
  - location: Specifica la località dei profili delle persone in profile_search o delle offerte di lavoro in jobs.
  - 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: 20)
- Restituisce un elenco di record. Campi principali di ogni record: id, url, title, text, company_name (Nome dell'azienda), company_url (Link alla pagina aziendale), company_logo (Logo dell'azienda), location, salary (Informazioni sulla retribuzione), employment_type (Tipo di impiego (tempo pieno, part-time…), seniority (Livello di esperienza), applicant_count (Numero di persone che si sono candidate…); 13 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=linkedin.
- Esempio di corpo della richiesta:
{
  "platform": "linkedin",
  "action": "jobs",
  "params": {
    "keyword": "software engineer"
  }
}
- Prezzo: $0.56 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ìlinkedinIdentificativo della piattaforma, valore fisso.
actionbodystringSìjobsIdentificativo della funzionalità, valore fisso.
keywordbody.paramsstringSì-Specifica la stringa di ricerca: una parola chiave per la ricerca dei post in search, la qualifica attuale in profile_search, oppure un termine di ricerca o l'URL completo di un'offerta di lavoro in jobs. La ricerca di persone con questo parametro non trova corrispondenze esatte per nome o email.
locationbody.paramsstringNo-Specifica la località dei profili delle persone in profile_search o delle offerte di lavoro in jobs. Se keyword nell'azione jobs è già un URL di ricerca completo, prevalgono i criteri contenuti nell'URL e location viene ignorato.
limitbody.paramsinteger (1–200)No20Numero 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

#
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": "linkedin",
  "action": "jobs",
  "params": {
    "keyword": "software engineer"
  }
}'

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

#
Acquisita il September 26, 2026 at 08:56 (UTC) chiamando questa API con i parametri dell'esempio di codice qui sopra. results e count sono la risposta reale di quella chiamata, da cui sono state rimosse le informazioni personali (nomi, handle, avatar, link ai profili, recapiti); l'elenco conserva i primi 2. id, billing e quota cambiano a ogni chiamata, quindi ne viene mostrata solo la struttura.
json
{  "id": "req_…",  "platform": "linkedin",  "action": "jobs",  "results": [    {      "id": "•••",      "url": "https://www.linkedin.com/jobs/view/software-development-engineer-ii-at-expedia-group-4469399031?position=17&pageNum=0&refId=Cp4vOjae6AB%2Bd%2FM%2B3qjsQg%3D%3D&trackingId=zH57%2BPs4uVLHK0FvilHeog%3D%3D",      "title": "Software Development Engineer II",      "text": "At Expedia Group, we help travelers explore the world, one journey at a time. As a global travel company powered by passionate people, trusted partnerships, and leading technology, we connect travelers, partners, and advertisers through our consumer brands, B2B network, and trave…",      "company_name": "Expedia Group",      "company_url": "https://www.linkedin.com/company/expediagroup?trk=public_jobs_jserp-result_job-search-card-subtitle",      "company_logo": "https://media.licdn.com/dms/image/v2/D4E0BAQH35rDiMFanuQ/company-logo_100_100/B4EaCgt37sGoAI-/0/1789402775480/expediagroup_logo?e=2147483647&v=beta&t=tTgqxIYsK7mUH_BfkjhzyHq_eH3V9cU7Q7FamrhMptM",      "location": "Chicago, IL",      "salary": "$111,000.00/yr - $155,500.00/yr",      "employment_type": "Full-time",      "seniority": "Not Applicable",      "posted_at": "2026-09-24T00:00:00+00:00",      "platform": "linkedin"    },    {      "id": "•••",      "url": "https://www.linkedin.com/jobs/view/software-engineer-ii-backend-platform-team-at-rippling-4463786876?position=18&pageNum=0&refId=Cp4vOjae6AB%2Bd%2FM%2B3qjsQg%3D%3D&trackingId=GWDyqCdQVVuCLrfoOsaOzg%3D%3D",      "title": "Software Engineer II, Backend - Platform Team",      "text": "About Rippling\n\nRippling gives businesses one place to run HR, IT, and Finance. It brings together all of the workforce systems that are normally scattered across a company, like payroll, expenses, benefits, and computers. For the first time ever, you can manage and automate ever…",      "company_name": "Rippling",      "company_url": "https://www.linkedin.com/company/rippling?trk=public_jobs_jserp-result_job-search-card-subtitle",      "company_logo": "https://media.licdn.com/dms/image/v2/D4E0BAQGVw6UsjqtXGw/company-logo_100_100/B4EZlN73QeHIAQ-/0/1757949162831/rippling_logo?e=2147483647&v=beta&t=_-PZ3E8XmdCyc89UhLvip3soyI97bY1FRM89cZYXEiQ",      "location": "Seattle, WA",      "salary": "",      "employment_type": "Full-time",      "seniority": "Not Applicable",      "posted_at": "2026-09-05T00:00:00+00:00",      "platform": "linkedin"    }  ],  "count": 20,  "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 univoco del record sulla piattaforma. È univoco solo all'interno di una piattaforma; gli ID possono ripetersi tra piattaforme diverse.
urlLink al record sulla piattaforma.
titleTitolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo).
textTesto 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).
company_nameNome dell'azienda.
company_urlLink alla pagina aziendale.
company_logoLogo dell'azienda.
locationDescrizione della località passata così com'è; il formato varia in base alla piattaforma.
salaryInformazioni sulla retribuzione.
employment_typeTipo di impiego (tempo pieno, part-time, contratto, stage).
seniorityLivello di esperienza.
applicant_countNumero di persone che si sono candidate all'offerta.
posted_atData 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.
platformIdentificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok).

FAQ

#

Posso passare l'URL di una ricerca di lavoro su LinkedIn invece di una parola chiave?

#

Sì. keyword accetta sia un semplice termine di ricerca, come data analyst, sia l'indirizzo completo di una pagina di risultati di ricerca di lavoro su LinkedIn. Con un URL, la ricerca segue quel link e location non viene aggiunto, quindi includi nell'URL l'eventuale filtro per località prima di copiarlo dal browser.

Come limito gli annunci a una sola città o a un solo paese?

#

Inserisci il nome del luogo in location, ad esempio Berlin o Canada, e il ruolo in keyword. Il campo location restituito in ogni riga è il testo di LinkedIn, riportato invariato, quindi normalizzalo prima di raggruppare o contare gli annunci per luogo.

Come capisco quanto è competitivo un annuncio?

#

Leggi applicant_count, il numero di persone che si sono candidate, insieme a posted_at. Un numero elevato per un annuncio pubblicato solo pochi giorni prima indica un ruolo molto conteso. Confronta annunci con gli stessi valori di seniority ed employment_type, così metti a confronto annunci omogenei.

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.

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