Find jobs
Search Jobs API: Job Postings Across Companies
Search live job postings across companies by title, seniority, location and date posted, combined with company firmographics, to surface hiring signals.
POST
/
v2
/
jobs
/
search
Search Jobs
curl --request POST \
--url https://api.blitz-api.ai/v2/jobs/search \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '{}'import requests
url = "https://api.blitz-api.ai/v2/jobs/search"
payload = {}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.blitz-api.ai/v2/jobs/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.blitz-api.ai/v2/jobs/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.blitz-api.ai/v2/jobs/search"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.blitz-api.ai/v2/jobs/search")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blitz-api.ai/v2/jobs/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"total_results": 31787,
"results": [
{
"date_posted": "2026-07-22 10:52:23.413+02",
"title": "Senior Software Engineer",
"url": "https://pt.linkedin.com/jobs/view/senior-software-engineer-at-spectrum-it-recruitment-1234567890",
"company_name": "Spectrum IT Recruitment",
"company_linkedin_url": "https://www.linkedin.com/company/spectrum-it-recruitment",
"ai_summary": "Develop and ship core database engine features focusing on performance, resilience, and fault tolerance. Implement low-level C++ codefor query execution, replication, and cost-based optimization.",
"location": {
"city": null,
"country_code": "PT"
}
},
{
"date_posted": "2026-07-22 10:43:38+02",
"title": "Software engineer - Generative AI Python",
"url": "https://es.linkedin.com/jobs/view/software-engineer-generative-ai-python-at-altia-1234567891",
"company_name": "Altia",
"company_linkedin_url": "https://www.linkedin.com/company/altia-sa",
"ai_summary": "Design and optimize backend services and APIs to ensure reliability and efficiency. Integrate advanced AI capabilities and intelligent platforms into cloud-based infrastructures.",
"location": {
"city": "Madrid",
"country_code": "ES"
}
}
],
"results_length": 2,
"max_results": 2,
"cursor": "eyJzIjpbMTcwMDAwMDAwMDAwMDAwMCwxMjM0NTY3ODkwXSwibyI6Mn0.ZXhhbXBsZS1jdXJzb3Itc2lnbmF0dXJlLW5vdC1yZWFs",
"fair_usage": {
"records_used": 2,
"records_remaining": 9913547,
"next_reset_at": "2026-09-29T10:25:23.155Z",
"rate_limit": {
"requests_per_second": 10,
"remaining_this_second": 9
},
"request_id": "019bae09-0055-7441-b2ea-16086e499219"
}
}{
"success": false,
"message": "The request body is not valid JSON. Send a JSON object with the header Content-Type: application/json."
}{
"success": false,
"message": "Invalid API key, please provide a valid API key in the 'x-api-key' header"
}{
"success": false,
"message": "Fair Use limit reached. Upgrade your plan at app.blitz-api.ai/billing or contact support to increase your monthly capacity."
}{
"success": false,
"message": "Not Found"
}{
"success": false,
"message": "Invalid request body. job.title: Unknown field \"includes\". Did you mean \"include\"?",
"errors": [
{
"field": "job.title",
"message": "Unknown field \"includes\". Did you mean \"include\"?"
}
]
}{
"success": false,
"message": "Rate limit exceeded, please try again later"
}{
"success": false,
"message": "Service temporarily unavailable, please try again later"
}
Agents & LLMs: a Markdown version of this page is available by appending .md to the URL, and the full documentation index is at llms.txt.
POST /v2/jobs/search) finds live job postings across companies. Combine job filters (title, description, field, seniority, employment type, work arrangement, location, date posted) with company firmographics (industry, size, headcount, HQ). Each result returns the job title, URL, posting date, location, an AI summary and the hiring company. Use it to surface hiring signals that match your ICP.
1 record per result
Pagination is cursor-based. Pass the
cursor returned by each response back into the next request. cursor: null means you’re on the first page; a null cursor in the response means you’ve reached the end. A single query returns up to 5,000 jobs, paginating through a maximum of 50 results per request.Filter logic: all filters combine with AND. Multiple values within a single
include list combine with OR: for example, two values in job.title.include return jobs matching either title keyword. Use exclude to filter matches out.Jobs Search API: product overview
Use cases, coverage, and the endpoints it chains with.
Authorizations
Your BlitzAPI key. Get one from https://app.blitz-api.ai
Body
application/jsonapplication/x-www-form-urlencodedmultipart/form-data
Job-level search criteria
Show child attributes
Show child attributes
Company-level firmographic criteria (enriched from the internal company record)
Show child attributes
Show child attributes
Maximum number of results to return
Required range:
1 <= x <= 50Example:
2
Cursor to paginate through the results
Minimum string length:
3Example:
null
⌘I
Search Jobs
curl --request POST \
--url https://api.blitz-api.ai/v2/jobs/search \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '{}'import requests
url = "https://api.blitz-api.ai/v2/jobs/search"
payload = {}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.blitz-api.ai/v2/jobs/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.blitz-api.ai/v2/jobs/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.blitz-api.ai/v2/jobs/search"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.blitz-api.ai/v2/jobs/search")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blitz-api.ai/v2/jobs/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"total_results": 31787,
"results": [
{
"date_posted": "2026-07-22 10:52:23.413+02",
"title": "Senior Software Engineer",
"url": "https://pt.linkedin.com/jobs/view/senior-software-engineer-at-spectrum-it-recruitment-1234567890",
"company_name": "Spectrum IT Recruitment",
"company_linkedin_url": "https://www.linkedin.com/company/spectrum-it-recruitment",
"ai_summary": "Develop and ship core database engine features focusing on performance, resilience, and fault tolerance. Implement low-level C++ codefor query execution, replication, and cost-based optimization.",
"location": {
"city": null,
"country_code": "PT"
}
},
{
"date_posted": "2026-07-22 10:43:38+02",
"title": "Software engineer - Generative AI Python",
"url": "https://es.linkedin.com/jobs/view/software-engineer-generative-ai-python-at-altia-1234567891",
"company_name": "Altia",
"company_linkedin_url": "https://www.linkedin.com/company/altia-sa",
"ai_summary": "Design and optimize backend services and APIs to ensure reliability and efficiency. Integrate advanced AI capabilities and intelligent platforms into cloud-based infrastructures.",
"location": {
"city": "Madrid",
"country_code": "ES"
}
}
],
"results_length": 2,
"max_results": 2,
"cursor": "eyJzIjpbMTcwMDAwMDAwMDAwMDAwMCwxMjM0NTY3ODkwXSwibyI6Mn0.ZXhhbXBsZS1jdXJzb3Itc2lnbmF0dXJlLW5vdC1yZWFs",
"fair_usage": {
"records_used": 2,
"records_remaining": 9913547,
"next_reset_at": "2026-09-29T10:25:23.155Z",
"rate_limit": {
"requests_per_second": 10,
"remaining_this_second": 9
},
"request_id": "019bae09-0055-7441-b2ea-16086e499219"
}
}{
"success": false,
"message": "The request body is not valid JSON. Send a JSON object with the header Content-Type: application/json."
}{
"success": false,
"message": "Invalid API key, please provide a valid API key in the 'x-api-key' header"
}{
"success": false,
"message": "Fair Use limit reached. Upgrade your plan at app.blitz-api.ai/billing or contact support to increase your monthly capacity."
}{
"success": false,
"message": "Not Found"
}{
"success": false,
"message": "Invalid request body. job.title: Unknown field \"includes\". Did you mean \"include\"?",
"errors": [
{
"field": "job.title",
"message": "Unknown field \"includes\". Did you mean \"include\"?"
}
]
}{
"success": false,
"message": "Rate limit exceeded, please try again later"
}{
"success": false,
"message": "Service temporarily unavailable, please try again later"
}
