LinkedIn Jobs Search

Search public LinkedIn job listings indexed by Google. This endpoint automatically constrains the query to LinkedIn jobs URLs such as site:linkedin.com/jobs/view/.

Endpoint

GET /api/linkedin/jobs/search

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Parameters

query string Required

Job search query. Company, seniority, and location keywords can be included directly in the query.

num integer Optional

Number of results (1-20, default: 10)

page integer Optional

Page number for pagination (1-10). Mutually exclusive with start.

start integer Optional

Starting index for pagination (0-170). Mutually exclusive with page.

hl string Optional

2-letter language code for interface (e.g., en, de, fr).

lr string Optional

Restrict results to a language (format: lang_xx).

gl string Optional

2-letter country code for geolocation (e.g., us, de).

cr string Optional

Restrict results to a country (format: countryXX).

safe string Optional

Adult content filtering (active or off).

dateRestrict string Optional

Filter by date range (d7, w1, m1, y1).

sort string Optional

Sort by date (date, date:r, date:d).

filter integer Optional

Enable/disable duplicate filtering (0 or 1).

rights string Optional

Usage rights filter (cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived).

Request Examples

<?php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://scrappa.co/api/linkedin/jobs/search?query=software+engineer+berlin');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'x-api-key: YOUR_API_KEY_HERE',
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
<?php

use Illuminate\Support\Facades\Http;

$response = Http::withHeaders([
    'x-api-key' => 'YOUR_API_KEY_HERE',
])->get('https://scrappa.co/api/linkedin/jobs/search?query=software+engineer+berlin');

return $response->json();
fetch('https://scrappa.co/api/linkedin/jobs/search?query=software+engineer+berlin', {
  headers: {
    'x-api-key': 'YOUR_API_KEY_HERE'
  }
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));
const axios = require('axios');

axios.get('https://scrappa.co/api/linkedin/jobs/search?query=software+engineer+berlin', {
  headers: {
    'x-api-key': 'YOUR_API_KEY_HERE'
  }
})
  .then(response => console.log(response.data))
  .catch(error => console.error('Error:', error));
import requests

headers = {
    'x-api-key': 'YOUR_API_KEY_HERE'
}

response = requests.get('https://scrappa.co/api/linkedin/jobs/search?query=software+engineer+berlin', headers=headers)
print(response.json())
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse('https://scrappa.co/api/linkedin/jobs/search?query=software+engineer+berlin')
request = Net::HTTP::Get.new(uri)
request['x-api-key'] = 'YOUR_API_KEY_HERE'

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(request)
end

puts JSON.parse(response.body)
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    client := &http.Client{}
    req, _ := http.NewRequest("GET", "https://scrappa.co/api/linkedin/jobs/search?query=software+engineer+berlin", nil)
    req.Header.Set("x-api-key", "YOUR_API_KEY_HERE")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}
curl -X GET 'https://scrappa.co/api/linkedin/jobs/search?query=software+engineer+berlin' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

Response Schema

JSON Response 200 OK
{
    "organic_results": [],
    "search_information": []
}

Try It Live

Test this endpoint in our interactive playground with real data.

Open in Playground