Job Postings API

Reference - version 2.7.2
Endpoint pages: Search job postings · Count job postings · List distinct values of a field · Get value statistics of a field

Techmap's Job Postings API (2.7.2)

Download OpenAPI specification:Download

Introduction

This API provides access to job postings that have been crawled and scraped directly from various sources up to 3 months in the past.

The job postings are sourced directly through web crawling and scraping from a diverse range of platforms, including:

  • Techmap's Web Crawlers
  • ATS Career Pages (e.g., Workday, Personio, JazzHR, ...)
  • Job Boards (e.g., LinkedIn, Monster, Dice, ...)
  • Job Aggregators (e.g., Indeed, Glassdoor, Xing, ...)
  • Employment Offices (e.g., German Arbeitsagentur, ...)

With this API, you can seamlessly integrate job postings from multiple sources into your applications, enabling backfilling of job boards, detailed analysis, company monitoring, or automated job agents.

Boolean Queries

Most query parameters in the API support flexible Boolean queries, enabling precise filtering of job postings using multiple keywords, keyphrases, and logical operators. Below are the supported query types:

  • Should Searches (OR): Keywords separated by a comma will match at least one keyword. Example: ?title=java,developer Matches jobs with either "java" or "developer" in the title.

  • Must Searches (AND): Keywords with an encoded + sign (%2B in the URL) must be present. Example: ?title=%2bjava,%2bdeveloper Matches jobs with both "java" and "developer" in the title.

  • Must-Not Searches (NOT): Keywords with a - sign before are excluded. Example: ?title=%2bjava,-mysql Matches jobs with "java" but not "mysql" in the title.

  • Keyphrase Searches: Words separated with spaces in double quotes count as one keyword / keyphrase. Example: ?city="New York" Matches jobs in "New York".

Notes

  • Parameter Combinations: You can combine most parameters, but some combinations may not work together. For example, a geo bounding box cannot be used together with a geo distance search.
  • Field Availability: Not all fields are populated for every job posting. Commonly missing fields include state, postCode, or department.
  • Authentication: Every request needs your marketplace key - see How to authenticate below.

Examples

  • Jobs in Germany:

    curl -X GET "https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/count?countryCode=de" -H "X-RapidAPI-Key: YOUR_API_KEY" -H "X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com"
    
  • Remote jobs in core US Timezones (UTC-8 to UTC-5):

    curl -X GET "https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/count?workPlace=remote&timezoneMin=-8&timezoneMax=-5" -H "X-RapidAPI-Key: YOUR_API_KEY" -H "X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com"
    
  • Jobs in southern Netherlands below latitude 52.25:

    curl -X GET "https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/count?countryCode=nl&geoTopLeftLat=52.25&geoTopLeftLng=0&geoBottomRightLat=32.25&geoBottomRightLng=10" -H "X-RapidAPI-Key: YOUR_API_KEY" -H "X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com"
    
  • Jobs in the Healthcare industry in the UK:

    curl -X GET "https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/count?countryCode=uk&industry=healthcare" -H "X-RapidAPI-Key: YOUR_API_KEY" -H "X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com"
    
  • Jobs for Java Developers in San Francisco:

    curl -X GET "https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/count?occupation=programmer&geoPointLat=37.757&geoPointLng=-122.449&geoDistance=100mi" -H "X-RapidAPI-Key: YOUR_API_KEY" -H "X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com"
    
  • Jobs for JavaScript Developers in New York, USA:

    curl -X GET "https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/count?skills=JavaScript&countryCode=us&city=%22New%20York%22" -H "X-RapidAPI-Key: YOUR_API_KEY" -H "X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com"
    
  • Jobs in English located in Germany:

    curl -X GET "https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/count?countryCode=de&language=en" -H "X-RapidAPI-Key: YOUR_API_KEY" -H "X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com"
    
  • Remote jobs for Web3 Developers:

    curl -X GET "https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/count?skills=ledger,Blockchain,Web3,ethereum,ether,bitcoin,crypto&workPlace=remote" -H "X-RapidAPI-Key: YOUR_API_KEY" -H "X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com"
    
  • Jobs from Microsoft in the USA:

    curl -X GET "https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/count?countryCode=us&company=Microsoft" -H "X-RapidAPI-Key: YOUR_API_KEY" -H "X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com"
    
  • Jobs for 'Chief ... Officer' (CxO) level in the USA:

    curl -X GET "https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/count?countryCode=us&careerLevel=Chief" -H "X-RapidAPI-Key: YOUR_API_KEY" -H "X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com"
    

Quickstart (RapidAPI)

  1. 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).
  2. Copy your key from the RapidAPI listing → Endpoints tab → code snippet → value of X-RapidAPI-Key - one key per RapidAPI application.
  3. Make your first call. Replace YOUR_API_KEY with your key. A successful call returns HTTP 200.

curl

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'

Python

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())

JavaScript

// 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

// 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_KEY in 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.

Errors

All errors return JSON with a message field.

Status Cause Solution
400 Bad Request A parameter value could not be parsed, e.g. an unknown countryCode, an invalid date or sort value. Check the value against the parameter description. The message names the invalid parameter.
401 Unauthorized The key is missing or invalid, or the request was sent directly to the backend instead of RapidAPI. Send your key in the header X-RapidAPI-Key and use the base URL https://daily-international-job-postings.p.rapidapi.com. Copy the key again from the RapidAPI listing if it was rotated.
403 Forbidden Either you are not subscribed to this API ("You are not subscribed to this API."), or the endpoint is not included in your plan (e.g. /api/v2/meta/jobs/distinct and /api/v2/meta/jobs/statistics need at least the Pro plan). Subscribe to the Basic plan, or upgrade to the plan named in requiredPlan. The response contains message, requiredPlan and pricingUrl.
404 Not Found The endpoint path does not exist (typo, wrong API version) or a required search parameter is missing, or the requested field does not exist. Check the path and add at least one search parameter (e.g. countryCode). The message lists the allowed parameters or fields.
405 Method Not Allowed Another HTTP method than GET was used. Use GET.
429 Too Many Requests Too many requests in a short time window (rate limit of your RapidAPI plan, e.g. 1 request/second on Basic). This is not a monthly limit - the plans have no hard limit, extra requests are billed as overage. RapidAPI also answers 429 after repeated calls with an invalid key. Slow down and retry with exponential backoff (e.g. 1 s, 2 s, 4 s). If it persists, check that your key is valid.
500 Internal Server Error An unexpected error on our side. Retry once. If it persists, contact data@techmap.io with the full request URL (without your key).
502/504 Bad Gateway / Gateway Timeout RapidAPI did not get a timely answer from the backend, typically for very broad queries. Narrow the query (more filters, shorter date range) and retry.
503 Service Unavailable The search backend is temporarily unavailable, or it could only answer partially (some index shards failed or timed out). Partial results are never returned as 200. Retry later with exponential backoff.
509 Bandwidth Limit Exceeded The response would be larger than 6 MB. Request a more compact format or narrow the query.

Example: endpoint not included in your plan (403)

{
  "message": "Forbidden request to the API - this endpoint is not included in your plan. It is included from the Pro plan on.",
  "requiredPlan": "Pro",
  "pricingUrl": "https://rapidapi.com/techmap-io-techmap-io-default/api/daily-international-job-postings/pricing"
}

Plans, included requests and overage: Errors & billing.

Changelog

  • 2026-10-06 (v2.7.2): A partial answer from the search backend (some index shards failed or timed out) now returns 503 instead of a 200 with incomplete results and a too-low totalCount. A 200 response is always complete, so you can safely treat missing postings as removed.
  • 2026-10-03 (v2.7.1): Documentation release. Unknown countryCode values (e.g. zz, 00) and invalid dates or date ranges now return 400 with a clear message. All error responses now return valid JSON with a message field (some were plain text before). Added Quickstart, How to authenticate (per marketplace) and Errors & billing. Fixed the server URL (https://daily-international-job-postings.p.rapidapi.com) and added security schemes (X-RapidAPI-Key + X-RapidAPI-Host). A 403 for an endpoint not included in your plan now returns JSON with message, requiredPlan and pricingUrl.
  • 2026-10-01 (v2.7): Added sort parameter (sort=newest or sort=oldest) to get the most recently collected job postings first. Works with page-based and cursor-based pagination. ⚠️ Note: the default is still oldest. With sort=newest, new job postings arriving between requests shift the page-based results (postings can repeat or be skipped across pages) - use cursor for complete, stable paging. Temporary search backend errors now return 503 (retry later) instead of passing on the backend status (e.g. a misleading 404), and an invalid countryCode or date returns 400 instead of 404. The duplicate filter is documented as isDuplicate (the spelling IsDuplicate from earlier docs keeps working).
  • 2026-06-03 (v2.6): Fixed Boolean prefix operators (+/-) not applying correctly with multiple comma-separated values. Multiple values per field now use AND logic between fields and OR logic within a field.
  • 2026-02-07 (v2.5): Added cursor parameter for cursor-based pagination.
  • 2025-04-22 (v2.4): Added isDuplicate parameter for excluding potential duplicates.
  • 2025-03-24 (v2.3): Added date range parameter for querying specific time periods.
  • 2025-03-14 (v2.2): Added format parameter for output in json, csv, rss, atom, xml, and parquet.
  • 2025-01-23 (v2.1): Added count endpoint.

Job postings

Search and count job postings with the same filters.

Search job postings

Use this endpoint to get the job postings themselves (10 per request). If you only need the number of matching postings, use count instead. This endpoint returns the paginated search results for a search query using various query parameters. The response is returned per default in JSON format and primarily consists of a JSON-LD payload containing up to 10 JobPostings per page (see https://schema.org/JobPosting). With the format parameter other output formats can be requested.

This structured data can be directly integrated into a webpage to enhance visibility and indexing by search engines (e.g., https://developers.google.com/search/docs/appearance/structured-data/job-posting).

Authorizations:
X-RapidAPI-Keyrapidapi-key
query Parameters
format
string
Default: "json"
Enum: "json" "csv" "rss" "atom" "xml" "parquet"
Example: format=json

The format of the output in json, csv, rss, atom, xml, or parquet (e.g., format=rss)

dateCreated
string <date> ^\d{4}-\d{2}(-\d{2})?$

The day the job posting was created / posted on using the format YYYY-MM-DD or YYYY-MM. If empty, the current day minus 2 days is used.

dateCreatedMin
string <date> ^\d{4}-\d{2}(-\d{2})?$

The starting date for a date range search of when the job posting was created or posted, using the format YYYY-MM-DD. Only used if dateCreated is empty; dateCreatedMin and dateCreatedMax must be used together.

dateCreatedMax
string <date> ^\d{4}-\d{2}(-\d{2})?$

The ending date for a date range search of when the job posting was created or posted, using the format YYYY-MM-DD. Only used if dateCreated is empty; dateCreatedMin and dateCreatedMax must be used together.

page
integer >= 1
Default: 1

The page of the paginated search results starting at 1. Pages contain 10 jobs and the defaults to 1 if not stated.

cursor
string

The cursor in a cursor-based pagination search started with 'true'. Does not work together with page-based pagination. Defaults to null if not stated.

sort
string
Default: "oldest"
Enum: "oldest" "newest"

The sort order of the results by the time the job posting was collected: 'oldest' (default) or 'newest'. 'oldest' keeps page-based pagination stable while new jobs are added; 'newest' returns the most recent jobs first. Works with page-based and cursor-based pagination (a cursor keeps the sort order it was created with).

isDirect
string <boolean>

A flag indicating if the job posting URL or externalApplyUrl links directly to the company's website.

isDuplicate
string <boolean>

A flag indicating whether the job posting is considered a duplicate of another, either within the same source or across multiple sources. Note: We currently err on the safe side, resulting in more false duplicates than there are.

isActive
string <boolean>

A flag indicating if the job posting has a dateActive not yet reached.

isRecruiter
string <boolean>

A flag indicating if the job posting was posted by a recruiting firm.

title
string

Free-text search within the title of the job postings.

skills
string

The skills, keywords, or tags associated with the job posting.

language
string <ISO 639-1>

The language the job posting is written in described by a 2-letter language code from ISO 639-1 such as 'en', 'de' or 'zh'.

contractType
string

The type of employment contract extracted from the job posting such as permanent, temporary, internship, etc.

workType
string

The type of work duration extracted from the job posting such as fulltime, parttime, flextime, etc.

workPlace
string

The workplace of the job, extracted from the job posting such as remote, hybrid, onsite, field, offshore, etc.

hasSalary
string <boolean>
Example: hasSalary=true

A flag indicating if the job posting contains salary information.

minSalary
number

The minimum salary of the job posting. Can be yearly, monthly, or hourly and any currency (exact data is stated in JsonLD result).

industry
string

The industry extracted from the job posting or categorization in the job board, such as advertising, agriculture, it, healthcare, etc.

company
string

The company that posted the job posting (can be a recruiting firm).

department
string

The department extracted from the job title such as, finance, it, hr, sales, etc.

occupation
string

The occupation type extracted from the job title reduced to a stem form incl. several synonyms. For example: programmer, executive, manager, engineer, nurse, etc.

countryCode
string <ISO 3166-1 alpha-2>
Example: countryCode=us

The country the job is located in described by a 2-letter country code from ISO 3166-1 alpha-2. Internally, we lower-case the countryCode and convert 'gb' into 'uk' and 'el' into 'gr' - you can use both spellings.

state
string

The state the workplace is located in, extracted from the job posting or geo-location.

city
string

The city the workplace is located in, extracted from the job posting or geo-location.

postCode
string

The postal / zip code the workplace is located in, extracted from the job posting or geo-location.

timezone
string

The timezone the job is located in such as CET, PST, or UTC

timezoneOffset
integer [ -12 .. 12 ]

The numeric offset of the timezone from UTC.

timezoneMin
integer [ -12 .. 12 ]

The minimum numeric offset of the timezone from UTC. Requires a 'timezoneMax' value greater than 'timezoneMin' to search in a timezone range.

timezoneMax
integer [ -12 .. 12 ]

The maximum numeric offset of the timezone from UTC. Must be larger than 'timezoneMin' to search in a timezone range.

geoPointLat
number <number> [ -90 .. 90 ]

The geographic latitude of a GeoPoint used in a distance search.

geoPointLng
number <number> [ -180 .. 180 ]

The geographic longitude of a GeoPoint used in a distance search.

geoDistance
string [ 0 .. 200 ] ^[0-9]+(km|mi)$

The distance from a GeoPoint specified with 'geoPointLat' and 'geoPointLng'.

geoTopLeftLat
number <number> [ -90 .. 90 ]

The geographic latitude of the top left GeoPoint in a bounding box search.

geoTopLeftLng
number [ -180 .. 180 ]

The geographic longitude of the top left GeoPoint in a bounding box search.

geoBottomRightLat
number <number> [ -90 .. 90 ]

The geographic latitude of the bottom right GeoPoint in a bounding box search.

geoBottomRightLng
number [ -180 .. 180 ]

The geographic longitude of the bottom right GeoPoint in a bounding box search.

portal
string

The portal the job postings originated from.

source
string

The specific source with countrycode the job postings originated from such as careerjet, monster, linkedin, techmap, etc.

Responses

Request samples

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'

Response samples

Content type
application/json
{
  • "api": "Techmap.io Job Posting API",
  • "apiVersion": "v2.7.2",
  • "apiEndpoint": "GET search results with Job Postings by countryCode, dateCreated, language, industry, timezone, workPlace, etc.",
  • "page": "2",
  • "pageSize": "10",
  • "totalCount": "180725",
  • "query": {
    },
  • "result": [
    ],
  • "resultSizeInBytes": "37980"
}

Count job postings

Use this endpoint when you only need numbers - e.g. for labour market analysis or to size a query before paging through search. It accepts the same filters as search. This endpoint returns the total number of job postings matching the specified query parameters. The response is per default a simple JSON object containing the count of job postings as well as the used query send to the underlying database. With the format parameter other output formats can be requested.

Authorizations:
X-RapidAPI-Keyrapidapi-key
query Parameters
format
string
Default: "json"
Enum: "json" "csv" "rss" "atom" "xml" "parquet"
Example: format=json

The format of the output in json, csv, rss, atom, xml, or parquet (e.g., format=rss)

dateCreated
string <date> ^\d{4}-\d{2}(-\d{2})?$

The day the job posting was created / posted on using the format YYYY-MM-DD or YYYY-MM. If empty, the current day minus 2 days is used.

dateCreatedMin
string <date> ^\d{4}-\d{2}(-\d{2})?$

The starting date for a date range search of when the job posting was created or posted, using the format YYYY-MM-DD. Only used if dateCreated is empty; dateCreatedMin and dateCreatedMax must be used together.

dateCreatedMax
string <date> ^\d{4}-\d{2}(-\d{2})?$

The ending date for a date range search of when the job posting was created or posted, using the format YYYY-MM-DD. Only used if dateCreated is empty; dateCreatedMin and dateCreatedMax must be used together.

isDirect
string <boolean>

A flag indicating if the job posting URL or externalApplyUrl links directly to the company's website.

isDuplicate
string <boolean>

A flag indicating whether the job posting is considered a duplicate of another, either within the same source or across multiple sources. Note: We currently err on the safe side, resulting in more false duplicates than there are.

isActive
string <boolean>

A flag indicating if the job posting has a dateActive not yet reached.

isRecruiter
string <boolean>

A flag indicating if the job posting was posted by a recruiting firm.

title
string

Free-text search within the title of the job postings.

skills
string

The skills, keywords, or tags associated with the job posting.

language
string <ISO 639-1>

The language the job posting is written in described by a 2-letter language code from ISO 639-1 such as 'en', 'de' or 'zh'.

contractType
string

The type of employment contract extracted from the job posting such as permanent, temporary, internship, etc.

workType
string

The type of work duration extracted from the job posting such as fulltime, parttime, flextime, etc.

workPlace
string

The workplace of the job, extracted from the job posting such as remote, hybrid, onsite, field, offshore, etc.

hasSalary
string <boolean>
Example: hasSalary=true

A flag indicating if the job posting contains salary information.

minSalary
number

The minimum salary of the job posting. Can be yearly, monthly, or hourly and any currency (exact data is stated in JsonLD result).

industry
string

The industry extracted from the job posting or categorization in the job board, such as advertising, agriculture, it, healthcare, etc.

company
string

The company that posted the job posting (can be a recruiting firm).

department
string

The department extracted from the job title such as, finance, it, hr, sales, etc.

occupation
string

The occupation type extracted from the job title reduced to a stem form incl. several synonyms. For example: programmer, executive, manager, engineer, nurse, etc.

countryCode
string <ISO 3166-1 alpha-2>
Example: countryCode=us

The country the job is located in described by a 2-letter country code from ISO 3166-1 alpha-2. Internally, we lower-case the countryCode and convert 'gb' into 'uk' and 'el' into 'gr' - you can use both spellings.

state
string

The state the workplace is located in, extracted from the job posting or geo-location.

city
string

The city the workplace is located in, extracted from the job posting or geo-location.

postCode
string

The postal / zip code the workplace is located in, extracted from the job posting or geo-location.

timezone
string

The timezone the job is located in such as CET, PST, or UTC

timezoneOffset
integer [ -12 .. 12 ]

The numeric offset of the timezone from UTC.

timezoneMin
integer [ -12 .. 12 ]

The minimum numeric offset of the timezone from UTC. Requires a 'timezoneMax' value greater than 'timezoneMin' to search in a timezone range.

timezoneMax
integer [ -12 .. 12 ]

The maximum numeric offset of the timezone from UTC. Must be larger than 'timezoneMin' to search in a timezone range.

geoPointLat
number <number> [ -90 .. 90 ]

The geographic latitude of a GeoPoint used in a distance search.

geoPointLng
number <number> [ -180 .. 180 ]

The geographic longitude of a GeoPoint used in a distance search.

geoDistance
string [ 0 .. 200 ] ^[0-9]+(km|mi)$

The distance from a GeoPoint specified with 'geoPointLat' and 'geoPointLng'.

geoTopLeftLat
number <number> [ -90 .. 90 ]

The geographic latitude of the top left GeoPoint in a bounding box search.

geoTopLeftLng
number [ -180 .. 180 ]

The geographic longitude of the top left GeoPoint in a bounding box search.

geoBottomRightLat
number <number> [ -90 .. 90 ]

The geographic latitude of the bottom right GeoPoint in a bounding box search.

geoBottomRightLng
number [ -180 .. 180 ]

The geographic longitude of the bottom right GeoPoint in a bounding box search.

portal
string

The portal the job postings originated from.

source
string

The specific source with countrycode the job postings originated from such as careerjet, monster, linkedin, techmap, etc.

Responses

Request samples

curl --request GET \
  --url 'https://daily-international-job-postings.p.rapidapi.com/api/v2/jobs/count?countryCode=de' \
  --header 'X-RapidAPI-Key: YOUR_API_KEY' \
  --header 'X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com'

Response samples

Content type
application/json
{
  • "api": "Techmap.io Job Posting API",
  • "apiVersion": "v2.7.2",
  • "apiEndpoint": "GET count for Job Postings by countryCode, dateCreated, language, industry, timezone, workPlace, etc.",
  • "totalCount": "6937315",
  • "query": {
    },
  • "resultSizeInBytes": "363"
}

Metadata

Values and statistics of fields - to find valid filter values. Included from the Pro plan on.

List distinct values of a field

Use this endpoint to find valid filter values (e.g. which industries or workplaces exist) - not to get job postings. This endpoint returns a list of distinct field values for the given query parameter. The response is per default a simple JSON object containing a list of keys usable as query parameter values and the count of jobs with this field value. With the format parameter other output formats can be requested.

Notes

  • This endpoint is not included in every plan (see Errors & billing). Without it, the response is 403 with requiredPlan and pricingUrl.

  • The results are capped at 500 values and are calculated from job postings within the last month (i.e., current date minus 1 month).

Usage Examples

Used workPlace values:

/api/v2/meta/jobs/distinct?field=workPlace

Used industry values:

/api/v2/meta/jobs/distinct?field=industry

Authorizations:
X-RapidAPI-Keyrapidapi-key
query Parameters
field
required
string

A field name used in a query as a parameter

format
string
Default: "json"
Enum: "json" "csv" "rss" "atom" "xml" "parquet"
Example: format=json

The format of the output in json, csv, rss, atom, xml, or parquet (e.g., format=rss)

Responses

Request samples

curl --request GET \
  --url 'https://daily-international-job-postings.p.rapidapi.com/api/v2/meta/jobs/distinct?field=workPlace' \
  --header 'X-RapidAPI-Key: YOUR_API_KEY' \
  --header 'X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com'

Response samples

Content type
application/json
{
  • "api": "Techmap.io Job Posting API",
  • "apiVersion": "v2.7.2",
  • "apiEndpoint": "GET statistics on a searchable field from endpoint '/api/v2/jobs/' such as 'workPlace', 'workType', 'contractType', 'careerLevel', 'occupation', 'department', 'industry', 'language', 'locale', 'timezone', 'timezoneOffset', 'countryCode', 'postCode', 'city', 'state', 'skills', 'company'",
  • "aggregation": {
    },
  • "totalCount": "6937315",
  • "docsWithValue": "6937315",
  • "coverage": "100",
  • "valueCount": "42",
  • "values": [
    ]
}

Get value statistics of a field

Use this endpoint to see how job postings are distributed over the values of a field (count and percentage per value). For a single number, use count. This endpoint returns a list of statistics of field values for the given query parameter. The response is per default a simple JSON object containing a list of keys usable as query parameter values, the count of jobs with this field value, and the percentage of jobs with this value. With the format parameter other output formats can be requested.

Notes

  • This endpoint is not included in every plan (see Errors & billing). Without it, the response is 403 with requiredPlan and pricingUrl.

  • The results are capped at 100 values and are calculated from job postings within the last month (i.e., current date minus 1 month).

Usage Examples

Statistics on the workPlace field:

/api/v2/meta/jobs/statistics?field=workPlace

Statistics on the industry field:

/api/v2/meta/jobs/statistics?field=industry

Authorizations:
X-RapidAPI-Keyrapidapi-key
query Parameters
field
required
string

A field name used in a query as a parameter

format
string
Default: "json"
Enum: "json" "csv" "rss" "atom" "xml" "parquet"
Example: format=json

The format of the output in json, csv, rss, atom, xml, or parquet (e.g., format=rss)

Responses

Request samples

curl --request GET \
  --url 'https://daily-international-job-postings.p.rapidapi.com/api/v2/meta/jobs/statistics?field=industry' \
  --header 'X-RapidAPI-Key: YOUR_API_KEY' \
  --header 'X-RapidAPI-Host: daily-international-job-postings.p.rapidapi.com'

Response samples

Content type
application/json
{
  • "api": "Techmap.io Job Posting API",
  • "apiVersion": "v2.7.2",
  • "apiEndpoint": "GET statistics on a searchable field from endpoint '/api/v2/jobs/' such as 'workPlace', 'workType', 'contractType', 'careerLevel', 'occupation', 'department', 'industry', 'language', 'locale', 'timezone', 'timezoneOffset', 'countryCode', 'postCode', 'city', 'state', 'skills', 'company'",
  • "aggregation": {
    },
  • "totalCount": "6937315",
  • "docsWithValue": "6937315",
  • "coverage": "100",
  • "valueCount": "42",
  • "values": [
    ]
}