List Jobs
Read several Job details identified by their unique Company ID.
curl -X GET "https://api.getkini.com/jobs?page=1&page_size=20" \
-H "Content-Type: application/json" \
-H "Company-Id: 1" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
import json
url = "https://api.getkini.com/jobs?page=1&page_size=20"
headers = {
"Content-Type": "application/json",
"Company-Id": "1",
"Authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://api.getkini.com/jobs?page=1&page_size=20", {
method: "GET",
headers: {
"Content-Type": "application/json",
"Company-Id": "1",
"Authorization": "Bearer YOUR_API_TOKEN"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api.getkini.com/jobs?page=1&page_size=20", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Company-Id", "1")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.getkini.com/jobs?page=1&page_size=20')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['Company-Id'] = '1'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
response = http.request(request)
puts response.body
{
"count": 128,
"next": "https://api.getkini.com/jobs?page=2",
"previous": null,
"results": [
{
"id": 123456,
"external_id": "EXT-123456",
"company": 1,
"title": "Software Engineer (m/w/d)",
"description": "Example job description. We are looking for a Software Engineer (m/w/d) to join our team in Berlin.",
"posting_url": "https://careers.example.com/jobs/123456",
"application_url": "https://careers.example.com/jobs/123456/apply",
"application_email": "jobs@example.com",
"status": "active",
"remote": "on-site",
"language": "en",
"category": "software_development",
"work_schedule": "full_time",
"employment_type": "permanent",
"senority": "mid_level",
"education": "Bachelor's degree",
"start_date": "2026-10-01",
"contract_limitation": "Unlimited contract",
"location_name": "Berlin, Germany",
"street": "Example Street 1",
"city": "Berlin",
"country": "Germany",
"postcode": "10115",
"longitude": 13.405,
"latitude": 52.52,
"salary": "50,000 – 65,000 € gross per year",
"salary_from": 50000,
"salary_to": 65000,
"salary_currency": "EUR",
"salary_frequency": "annual",
"contact_name": "Jane Doe",
"contact_email": "jane.doe@example.com",
"contact_title": "Head of HR",
"contact_phone": "+49 30 1234567",
"contact_salutation": "Frau",
"banner_image": "https://www.example.com/banner.jpg",
"screening_questions": [
{
"id": "sq-001",
"question": "Do you have a valid work permit for Germany?",
"answer_type": "boolean",
"required": true,
"options": [
{
"label": "Yes",
"value": "yes"
}
]
}
],
"application_form_fields": [
{
"id": "email",
"name": "email",
"label": "Email address",
"type": "email",
"subtype": null,
"required": true,
"order": 1,
"options": []
}
],
"description_sections": [
{
"id": "tasks",
"type": "tasks",
"order": "2",
"title": "Your tasks",
"content": "Example section content. Describe the responsibilities of the role here."
}
],
"custom_fields": {
"employer_name": "Example Company GmbH",
"employer_logo": "https://www.example.com/logo.png"
},
"raw_values": {
"employmentType": "FULL_TIME"
},
"import_source": "api",
"run_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"fingerprint": "8f3c1a92d47b0e6558a1c0d4b7e39625f0a1c8d3b6e94275a0c1f8d3b6e94275",
"apply_webhooks": {
"indeed": "https://api.getkini.com/indeed/apply/1/123456/"
},
"created_at": "2026-06-02T11:07:44.512038Z",
"updated_at": "2026-07-30T09:15:02.771604Z",
"last_content_update_at": "2026-07-30T09:15:02.771604Z"
}
]
}
/jobs
Target server for requests. Edit to use your own host.
Authenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer <your_api_key>.
Authorization: Bearer <your_api_key>.A page number within the paginated result set.
Number of results to return per page.
ID of the Company
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. Authenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer \<your_api_key\>.
Query Parameters
Headers
Responses
Total number of records available across all pages
URL to the next page of results
URL to the previous page of results
List of jobs