Job API Overview
API Overview
Our platform aggregates and stores millions of international job postings each month. These postings are stored as JSON objects in our database and exported daily as compact data files containing the most essential fields. Through our APIs, you can programmatically access this data to power job boards, analytics platforms, or AI-driven applications.
With comprehensive coverage, advanced filtering options, and multiple export formats, our APIs provide a reliable foundation for integrating and analyzing global job market data.
We offer two different APIs for job postings:
- Daily International Job Postings API: This API provides access to millions of daily international job postings from the last 3 months in JSON, CSV, RSS, ATOM, XML, or Parquet format. It allows to search and filter job listings based on various criteria, such as job title, location, company, and many more. It’s ideal for integrating job data into job boards, career websites, or analytics platforms.
- Job Postings RSS API: This API provides access to job posting from the last 3 months via RSS feeds. It allows users to define a search query and filter job listings based on various criteria. It is designed to be simple to use and integrate into hosted Job Boards (e.g., such as jBoard, jobBoardly, or NiceBoard).
Typical Use Cases
- Job Board Backfilling: Populate your job board with up-to-date, high-quality job listings.
- Niche Job Filtering: Extract and display listings focused on specific industries, roles, or locations.
- Recruitment & HR Analytics: Analyze hiring patterns, demand trends, and job market movements.
- Career Website Enrichment: Enhance career or education portals with relevant, context-specific job postings.
How-to Subscribe
Our APIs are hosted on RapidAPI under Daily International Job Postings API and Job Postings RSS API. To subscribe you need to sign-up to a free account on RapidAPI and then subscribe to the Basic plan of our API.
The Basic plan of our Daily International Job Postings API contain 100 free requests with 10 job postings per month while the Job Postings RSS API offers 30 free requests with 10 job postings per month.
To get started, follow these steps:
- Create a RapidAPI Account: Sign up for a free account on RapidAPI.
- Subscribe to the Basic Plan: The Basic plan includes 100 free requests per month, each returning up to 10 job postings.
- Obtain Your API Key: Once subscribed, RapidAPI will generate an API key (token) for your account. This key authenticates your requests to our API endpoints.
- Start Making Requests: Use your API key to access the endpoints directly through RapidAPI’s interface, via cURL, or from any programming language that supports HTTP requests.
Job API Endpoints
The main endpoints available for all subscription plans are /search and /count. Higher subscription plans give access to /distinct and /statistics. In-detail information can be found in our Daily International Job Postings OpenAPI definition and Job Postings RSS OpenAPI definition.
The endpoints used in the Daily International Job Postings API are:
/search: Returns job postings in JSON or other supported formats. Includes the full job description and JSON-LD metadata. Supports rich filtering and search parameters such as job title, location, company, or posting date./count: Returns the total number of job postings matching the specified search parameters. Useful for pagination or analytics queries./distinct: Returns distinct values for a selected field (e.g., industry, workType, or careerLevel) over the past 30 days. Available for higher subscription tiers./statistics: Returns statistical summaries (counts, averages, distributions) for specific fields based on data from the past 30 days. Available for higher subscription tiers.
The endpoints used in the Job Postings RSS API are:
/jobs_full: Returns job postings in RSS (XML) format, including the full job description and metadata, filtered according to your query parameters.
Job API Query Parameters
Both APIs share the same query parameter structure, which is documented in detail in their respective OpenAPI definitions. The parameters allow for precise filtering and flexible search logic and support boolean operators.
Using Boolean Operators
The APIs support boolean operators for advanced searches. Use + for "must include," - for "must not include", and double quotes for exact phrases. For example, title=+"software engineer" -remote finds jobs with "software engineer" in the title but excludes remote positions. Note: The + sign must be URL-encoded as "%2B" when used in a URL.
Usage examples:
To start testing the API and define you individual query you can start with one of the following queries using curl your terminal or shell.
- 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/search?workPlace=remote&timezoneMin=-8&timezoneMax=-5" -H "Authorization: Bearer [your-token]" - 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 "Authorization: Bearer [your-token]"
NOTE: If you do not specify the dateCreated parameter, the API automatically defaults to two days prior (today − 2 days). You can specify other dates and date ranges with dateCreated=2025-10-31 for a specific day,dateCreated=2025-10 for the month of Oct. 2025, or dateCreatedMin=2025-10-01&dateCreatedMax=2025-10-07 for the date range of the first 7 days in Oct. 2025
Job API Data Dictionary
The RSS API response is based on normal RSS specs using the fields title, description, pubDate, link, guid, category, location, city, state, country, company, company_url, company_logo, workType, contractType, industry, careerLevel, workPlace, skills, department, and occupation.
The API response is in JSON format (can be changed) and includes detailed job posting data. Each job posting contains fields such as job name, company, location, description, link, jsonLD, and more.
| Field Key | Field Type | Description | Example |
|---|---|---|---|
| api | String | The name of the API | Techmap.io Job Posting API |
| apiVersion | String | Version of the endpoint | v2.1 |
| apiEndpoint | String | Name of the endpoint | GET search result for Job Postings ... |
| page | Integer | Page number returned from pagination | 1 |
| pageSize | Integer | Max. number of job postings per result | 10 |
| totalCount | Integer | Total amount of job postings in the pagination. | 1069346 |
| query | Object | The query understood and used to query the Database. | ... see Example below ... |
| result | Array(Object) | The array with the job postings as objects. (named 'job' below) | ... see job fields below ... |
| job.title | String | Title or name of the job posting | SAP TM (Transportation Module ) Functional Analyst |
| job.company | String | Name of the company originally stated on the job posting or in its JSON. | Avance Consulting |
| job.department | String | Name of the department in the company such as sales, finance, it, ... (very rare) | IT |
| job.dateCreated | Date | The date and time the job posting was created by the company (as stated on the page or its JSON). | 2025-02-03T14:43:24.000Z |
| job.dateExpired | String (Date) | The given date the posting is valid. | 2025-03-06T14:48:29.000Z |
| job.countryCode | String (ISO3166) | The country code (from ISO3166) the job posting is located, e.g., 'us'. | us |
| job.state | String | State the job or HQ is located in. | TX |
| job.city | String | City the job or HQ is located in. | Cleveland |
| job.postCode | String | Postal or Zip code of the job or HQ is located in. | 77327 |
| job.geoPoint | Object | The geocoordinate object with latitude and longitude. | {"lon": -95.02362, "lat": 30.33804} |
| job.timezone | String (Timezone) | Timezone code (3-letters) | CST |
| job.timezoneOffset | Integer | Timezone offset between -12 and +12 from GMT/UTC | -6 |
| job.hasSalary | Boolean | Indicates if the job posting has salary information. | True |
| job.minSalary | Number | The minimum salary of the position. | 50000.00 |
| job.workPlace | Array (String) | List of workplaces such as Remote, Hybrid, Onsite, Field, ... | ["Onsite"] |
| job.careerLevel | Array (String) | List of career levels such as Junior, Senior, ... | ["Senior"] |
| job.contractType | Array (String) | List of contract types such as Permanent, Temporary, ... | ["DirectEmployment"] |
| job.workType | Array (String) | List of work types such as Fulltime, Parttime, ... | ["Permanent"] |
| job.language | String(ISOISO 639-1) | Language the job posting is written in such as en, es, de, ... | en |
| job.locale | String | The Locale of the job posting such as en_US, en_UK, de_CH, ... | en_US |
| job.occupation | String | The job name reduced to a stem form (e.g., 'java programmer') | Functional Analyst |
| job.skills | Array(String) | The skills stated or identified with the job posting | ["Logistics","Autoconf","ABAP"] |
| job.industry | String | The industry stated or identified with the job posting | Transport |
| job.isRecruiter | Boolean | Indicates if the job posting is from a Recruiting firm. | False |
| job.isDirect | Boolean | Indicates if the job posting is directly from a company page or a job board. | True |
| job.isActive | Boolean | Indicates if the job posting is still active. | True |
| job.dateActive | String (Date) | The assumed date the posting is valid defined by validThrough or dateCreated +1 month | 2025-03-06T14:48:29.000Z |
| job.portal | String | The origin of the job posting such as monster, linkedin, ... | dice |
| job.source | String | The origin of the job posting with a countrycode such as 'monster_uk'. | dice_us |
| job.jsonLD | Object | The JSON-LD based on schema.org format from the original job posting's page enriched with job posting data. Can be directly used on a webpage. | ... see job.jsonLD below ... |
| job.jsonLD.identifier | String | ID of the job posting in Techmap's central database. | 67a0d794a315a1138e6bfaba |
| job.jsonLD.validThrough | String (Date) | The given date the posting is valid. | 2025-03-06T14:48:29.000Z |
| job.jsonLD.employmentType | String | The main employment type such as Permanent, Temporary, ... | Direct Employment |
| job.jsonLD.salaryCurrency | String | The currency the salary is defined in. | USD |
| job.jsonLD.description | String | The text of the job posting extracted from the webpage in markdown. | ... ful text in markdown ... |
| job.jsonLD.industry | String | The industry stated or identified with the job posting | Transport |
| job.jsonLD.title | String | Title or name of the job posting | SAP TM (Transportation Module ) Functional Analyst |
| job.jsonLD.datePosted | Date | The date and time the job posting was created by the company (as stated on the page or its JSON). | 2025-02-03T14:43:24.000Z |
| job.jsonLD.url | String (URL) | The link where we found the job posting. | https://www.dice.com/job-detail/003170f7-bd59-45d5-a0cf-e4ef93c27419 |
| job.jsonLD .relevantOccupation | String | Title or name of the job posting | Functional Analyst |
| job.jsonLD .applicantLocationRequirements | String | Requirements on the location of the applicant. | Onsite, CST Timezone |
| job.jsonLD.employmentUnit | String | Name of the employment unit or department in the company such as sales, finance, it, ... (very rare) | IT |
| job.jsonLD.skills | Array(String) | The skills stated or identified with the job posting | ["Logistics","Autoconf","ABAP"] |
| job.jsonLD.hiringOrganization | Object | The information on the hiring company. | ... see job.jsonLD.hiringOrganization below ... |
| job.jsonLD.hiringOrganization .name | String | Name of the company originally stated on the job posting or in its JSON. | Avance Consulting |
| job.jsonLD.hiringOrganization .logo | String (URL) | Link to Logo of the company cached by techmap. | https://s3.eu-central-1.amazonaws.com/images.techmap.io/dice_us-d865fc5a-e0ad-57a6-9e0f-45350b82af37-logo.png |
| job.jsonLD.hiringOrganization .url | String (URL) | Website of the company originally stated on the job posting or in its JSON. | https://facili.es |
| job.jsonLD.hiringOrganization .identifier | String | ID of the company in Techmap's central database. | 5e1e4a2d824199645bd7e6a8 |
| job.jsonLD.jobLocation | Object | The information on the job location. | ... see job.jsonLD.jobLocation below ... |
| job.jsonLD.jobLocation .identifier | String | ID of the location in Techmap's central database. | 5f5e4ed75151ac3cb7851ab1 |
| job.jsonLD.jobLocation .name | String | The location string as see on the job posting's webpage. | Berlin, Germany |
| job.jsonLD.jobLocation .latitude | Number | The location's latitude. | 30.33804 |
| job.jsonLD.jobLocation .longitude | Number | The location's longitude. | -95.02362 |
| job.jsonLD.jobLocation .address | Object | The information on the job address. | ... see job.jsonLD.jobLocation.address below ... |
| job.jsonLD.jobLocation .address.addressCountry | String | The country as see on the job posting's webpage. | United States |
| job.jsonLD.jobLocation .address.addressRegion | String | The state as see on the job posting's webpage. | TX |
| job.jsonLD.jobLocation .address.addressLocality | String | The city as see on the job posting's webpage. | Cleveland |
| job.jsonLD.jobLocation .address.postalCode | String | Postal or Zip code of the job or HQ is located in. | 77327 |
Job API Data Samples
Exemplary JSON Output
The response of the API contains the search result in JSON format as defined in the JSON ECMA-404 Specification using the fields from the above mentioned data dictionary.
{
"api": "Techmap.io Job Posting API",
"apiVersion": "v2.1",
"apiEndpoint": "GET search result for Job Postings by countryCode, dateCreated, language, industry, timezone, workPlace, etc.",
"page": 1,
"pageSize": 10,
"totalCount": 1069346,
"query": {
"query": {
"bool": {
"must": [
{
"range": {
"dateCreated": {
"gte": "2025-02-01T00:00:00.000Z",
"lte": "2025-02-28T23:59:59.999Z"
}
}
},
{
"match": {
"countryCode": "us"
}
}
]
}
}
},
"result": [
{
"occupation": "Functional Analyst",
"dateActive": "2025-03-06T14:48:29.000Z",
"city": "Cleveland",
"timezone": "CST",
"contractType": [
"DirectEmployment"
],
"language": "en",
"industry": "Transport",
"jsonLD": {
"identifier": "67a0d794a315a1138e6bfaba",
"validThrough": "2025-03-06T14:48:29.000Z",
"employmentType": "Direct Employment",
"@type": "JobPosting",
"salaryCurrency": "USD",
"description": "**Job Description:**...",
"industry": "Transport",
"title": "SAP TM (Transportation Module ) Functional Analyst",
"@context": "https://schema.org",
"url": "https://www.dice.com/job-detail/003170f7-bd59-45d5-a0cf-e4ef93c27419",
"relevantOccupation": "Functional Analyst",
"skills": [
"Logistics",
"Transportation Management",
"Master data",
"SAP TM",
"Autoconf",
"ABAP"
],
"hiringOrganization": {
"identifier": "5e1e4a2d824199645bd7e6a8",
"@type": "Organization",
"name": "Avance Consulting",
"logo": "https://s3.eu-central-1.amazonaws.com/images.techmap.io/dice_us-d865fc5a-e0ad-57a6-9e0f-45350b82af37-logo.png",
"@context": "https://schema.org",
"url": "https://facili.es"
},
"employmentUnit": "N/A",
"jobLocation": {
"identifier": "5f5e4ed75151ac3cb7851ab1",
"address": {
"addressCountry": "United States",
"@type": "PostalAddress",
"postalCode": "77327",
"addressLocality": "Cleveland",
"addressRegion": "TX",
"@context": "https://schema.org"
},
"@type": "Place",
"latitude": 30.33804,
"name": "Onsite",
"@context": "https://schema.org",
"longitude": -95.02362
},
"datePosted": "2025-02-03",
"applicantLocationRequirements": "Onsite, CST Timezone"
},
"source": "dice_us",
"locale": "en_US",
"geoPoint": {
"lon": -95.02362,
"lat": 30.33804
},
"title": "SAP TM (Transportation Module ) Functional Analyst",
"skills": [
"Logistics",
"Transportation Management",
"Master data",
"SAP TM",
"Autoconf",
"ABAP"
],
"dateCreated": "2025-02-03T14:43:24.000Z",
"timezoneOffset": -6,
"countryCode": "us",
"company": "Avance Consulting",
"state": "TX",
"portal": "dice",
"department": "N/A",
"workPlace": [
"Onsite"
],
"isRecruiter": false,
"dateExpired": "2025-03-06T14:48:29.000Z",
"hasSalary": false,
"careerLevel": [
"N/A"
],
"workType": [
"N/A"
],
"postCode": "77327",
"isDirect": false
},
...
],
"resultSizeInBytes": 59203
}
Exemplary RSS Output
The response of the API contains the search result in RSS v2 format as defined in the RSS 2.0.11 Specification using the fields from the above mentioned data dictionary.
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Techmap.io Job Posting RSS Feed API</title>
<link>localhost:3001/api/rss/v1/jobs_full?dateCreated=2025-02&countryCode=us</link>
<description>Techmap.io's Job Posting API in RSS 2.0 Feed format based on a search query.</description>
<pubDate>Fri, 21 Mar 2025 08:59:01 GMT</pubDate>
<docs>https://api.techmap.io/rss-doc</docs>
<webMaster>data@techmap.io</webMaster>
<ttl>1440</ttl>
<contact>Do you have any feedback for us? Missing fields? Unclear docu? Other improvement suggetions? Please contact us at data@techmap.io</contact>
<apiVersion>1.0.0</apiVersion>
<page>1</page>
<pageSize>10</pageSize>
<totalCount>1069251</totalCount>
<query>
<query>
<bool>
<must>
<range>
<dateCreated>
<gte>2025-02-01T00:00:00.000Z</gte>
<lte>2025-02-28T23:59:59.999Z</lte>
</dateCreated>
</range>
</must>
<must>
<match>
<countryCode>us</countryCode>
</match>
</must>
</bool>
</query>
</query>
<item>
<title>Entry-Level Lube Tech / Technician - Creston Park</title>
<description>Overview ... </description>
<pubDate>Thu, 06 Feb 2025 05:00:00 GMT</pubDate>
<link>https://careers-vioc.icims.com/jobs/55300/entry-level-lube-tech---technician---creston-park/job</link>
<guid>https://careers-vioc.icims.com/jobs/55300/entry-level-lube-tech---technician---creston-park/job</guid>
<category>Technician</category>
<location>090098</location>
<city>Portland</city>
<state>OR</state>
<country>United States</country>
<company>Valvoline Instant Oil Change</company>
<company_url>https://jobs.vioc.com</company_url>
<company_logo/>
<workType>Holidays, Weekends, FlexTime</workType>
<contractType>Holidays, Weekends, FlexTime</contractType>
<industry>Trade</industry>
<careerLevel>Junior</careerLevel>
<workPlace/>
<skills/>
<department/>
<occupation>Technician</occupation>
</item>
</channel>
</rss>
References
- Daily International Job Postings API
- Daily International Job Postings OpenAPI definition
- Job Postings RSS API
- Job Postings RSS OpenAPI definition
Try It Out!
Ready to explore the API? Sign up for an API key and get started with 1000 free job postings per month.
Questions? Contact us if something is unclear to you
or if you want