Pick the API you need:
- Job Postings API: Search the last 3 months of job postings from 185 sources in 250 countries & territories. Returns JSON (or CSV, RSS, Atom, XML, Parquet).
- Job Postings RSS Feed API: Job postings as RSS/XML feeds, e.g. for job board backfill. The key goes into the feed URL, so the feed can be pasted into any job board importer.
Job Postings API
Quickstart (RapidAPI)
- Subscribe to the Basic plan of the Job Postings API on RapidAPI. It has no hard monthly limit - requests above the included quota are billed as overage (see Errors & billing).
- Copy your key from the RapidAPI listing → Endpoints tab → code snippet → value of
X-RapidAPI-Key- one key per RapidAPI application. - Make your first call. Replace
YOUR_API_KEYwith your key. A successful call returns HTTP 200.
curl --request GET \
--url 'https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/search?countryCode=us&title=developer' \
--header 'X-RapidAPI-Key: YOUR_API_KEY' \
--header 'X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com'import requests
url = "https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/search"
params = {"countryCode": "us", "title": "developer"}
headers = {
"X-RapidAPI-Key": "YOUR_API_KEY",
"X-RapidAPI-Host": "daily-international-job-postings.p.rapidapi.com",
}
response = requests.get(url, params=params, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())// Node.js 18+ or browser
const url = new URL('https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/search');
url.search = new URLSearchParams({ 'countryCode': 'us', 'title': 'developer' });
const response = await fetch(url, {
headers: {
'X-RapidAPI-Key': 'YOUR_API_KEY',
'X-RapidAPI-Host': 'daily-international-job-postings.p.rapidapi.com',
},
});
if (!response.ok) throw new Error(`${response.status}: ${await response.text()}`);
console.log(await response.json());// Java 11+
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class TechmapExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/search?countryCode=us&title=developer"))
.header("X-RapidAPI-Key", "YOUR_API_KEY")
.header("X-RapidAPI-Host", "daily-international-job-postings.p.rapidapi.com")
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() != 200) throw new RuntimeException(response.statusCode() + ": " + response.body());
System.out.println(response.body());
}
}Getting an error instead? See Errors & billing.
How to authenticate
Requests are authenticated and billed by the marketplace you subscribe through. The base URL, the key and the plans depend on that marketplace.
RapidAPI
- Base URL:
https://daily-international-job-postings.p.rapidapi.com - Key: header
X-RapidAPI-Key: YOUR_API_KEY - Host (optional): header
X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com - Alternative: query parameter
rapidapi-key=YOUR_API_KEYin the URL instead of the header - Where to find the key: RapidAPI listing → Endpoints tab → code snippet → value of
X-RapidAPI-Key- one key per RapidAPI application (see RapidAPI docs). - Plans and prices: RapidAPI pricing page
- Calling the backend directly (without RapidAPI) returns 401.
Full reference: Job Postings API
Job Postings RSS Feed API
Quickstart (RapidAPI)
- Subscribe to the Basic plan of the Job Postings RSS Feed API on RapidAPI. It has no hard monthly limit - requests above the included quota are billed as overage (see Errors & billing).
- Copy your key from the RapidAPI listing → Endpoints tab → code snippet → value of
X-RapidAPI-Key- one key per RapidAPI application. - Make your first call. Replace
YOUR_API_KEYin the URL with your key. A successful call returns HTTP 200.
curl --request GET \
--url 'https://job-postings-rss-feed.p.rapidapi.com/api/rss/v1/jobs_full?countryCode=us&title=developer&rapidapi-key=YOUR_API_KEY'import requests
url = "https://job-postings-rss-feed.p.rapidapi.com/api/rss/v1/jobs_full"
params = {"countryCode": "us", "title": "developer", "rapidapi-key": "YOUR_API_KEY"}
response = requests.get(url, params=params, timeout=30)
response.raise_for_status()
print(response.text) # RSS/XML feed// Node.js 18+ or browser
const url = new URL('https://job-postings-rss-feed.p.rapidapi.com/api/rss/v1/jobs_full');
url.search = new URLSearchParams({ 'countryCode': 'us', 'title': 'developer', 'rapidapi-key': 'YOUR_API_KEY' });
const response = await fetch(url);
if (!response.ok) throw new Error(`${response.status}: ${await response.text()}`);
console.log(await response.text()); // RSS/XML feed// Java 11+
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class TechmapExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://job-postings-rss-feed.p.rapidapi.com/api/rss/v1/jobs_full?countryCode=us&title=developer&rapidapi-key=YOUR_API_KEY"))
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() != 200) throw new RuntimeException(response.statusCode() + ": " + response.body());
System.out.println(response.body()); // RSS/XML feed
}
}Getting an error instead? See Errors & billing.
How to authenticate
Requests are authenticated and billed by the marketplace you subscribe through. The base URL, the key and the plans depend on that marketplace.
RapidAPI
- Base URL:
https://job-postings-rss-feed.p.rapidapi.com - Key: query parameter
rapidapi-key=YOUR_API_KEYin the request URL - no header needed. This lets you paste the feed URL into any job board importer that only accepts a URL. - Where to find the key: RapidAPI listing → Endpoints tab → code snippet → value of
X-RapidAPI-Key- one key per RapidAPI application (see RapidAPI docs). - Plans and prices: RapidAPI pricing page
- Calling the backend directly (without RapidAPI) returns 401.
Full reference: Job Postings RSS Feed API