Adzuna API
api.adzuna.com · Company
Job listings and employment data across 50+ countries — search jobs by keyword and location, get salary benchmarks, and access historical employment trends. Free tier available.
Authentication
Sample Requests
Search for Python developer jobs in New York.
Hover any highlighted part to learn what it does
curl -X GET "https://api.adzuna.com/v1/api/jobs/us/search/1?what=python%20developer&where=new%20york&app_id=YOUR_APP_ID&app_key=YOUR_APP_KEY&results_per_page=5"
import requests
params = {
"what": "python developer",
"where": "new york",
"app_id": "YOUR_APP_ID",
"app_key": "YOUR_APP_KEY",
"results_per_page": "5"
}
response = requests.get(
"https://api.adzuna.com/v1/api/jobs/us/search/1",
params=params,
)
print(response.json())const url = new URL('https://api.adzuna.com/v1/api/jobs/us/search/1');
url.searchParams.set('what', 'python developer');
url.searchParams.set('where', 'new york');
url.searchParams.set('app_id', 'YOUR_APP_ID');
url.searchParams.set('app_key', 'YOUR_APP_KEY');
url.searchParams.set('results_per_page', '5');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.adzuna.com/v1/api/jobs/us/search/1")
q := baseURL.Query()
q.Set("what", "python developer")
q.Set("where", "new york")
q.Set("app_id", "YOUR_APP_ID")
q.Set("app_key", "YOUR_APP_KEY")
q.Set("results_per_page", "5")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.adzuna.com/v1/api/jobs/us/search/1")
uri.query = URI.encode_www_form({
"what" => "python developer",
"where" => "new york",
"app_id" => "YOUR_APP_ID",
"app_key" => "YOUR_APP_KEY",
"results_per_page" => "5"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.adzuna.com/v1/api/jobs/us/search/1?" . http_build_query([
"what" => "python developer",
"where" => "new york",
"app_id" => "YOUR_APP_ID",
"app_key" => "YOUR_APP_KEY",
"results_per_page" => "5"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- Register at developer.adzuna.com for a free app_id and app_key
- Pass both as query params on every request
- Countries: us, gb, ca, au, de, fr, in, etc.
- Try GET /api/jobs/gb/search/1?app_id=ID&app_key=KEY&what=data+scientist&where=london
What can you build with Adzuna API?
Adzuna API is a Company API. Developers commonly use company APIs for:
- enriching CRM records with company firmographics
- building lead-generation and prospecting tools
- verifying business identity and registration details
- monitoring competitors and market intelligence
- powering B2B data enrichment pipelines
API Key authentication. You'll receive a key after signing up. Send it with every request — in a header or query parameter. Keep it out of client-side code and never commit it to version control. Adzuna API is free to use up to a usage limit, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide