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"
}
]
}
GET
/jobs
GET
Base URLstring
Target server for requests. Edit to use your own host.
Bearer Token
Bearer Tokenstring
RequiredAuthenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer <your_api_key>.
Authenticate every request with an API key from the Kini Partner App, sent as
Authorization: Bearer <your_api_key>.query
pageinteger
A page number within the paginated result set.
query
page_sizeinteger
Number of results to return per page.
header
Company-Idinteger
RequiredID of the Company
Request Preview
Response
Response will appear here after sending the request
Authentication
header
Authorizationstring
RequiredBearer token. Authenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer \<your_api_key\>.
Query Parameters
Headers
Responses
countinteger
Total number of records available across all pages
nextstring
URL to the next page of results
previousstring
URL to the previous page of results
resultsarray
List of jobs
Was this page helpful?