/otta/jobs
curl --request POST \
--url https://api.anysite.io/api/otta/jobs \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"job": "<string>",
"timeout": 300,
"currency": "GBP"
}
'import requests
url = "https://api.anysite.io/api/otta/jobs"
payload = {
"job": "<string>",
"timeout": 300,
"currency": "GBP"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({job: '<string>', timeout: 300, currency: 'GBP'})
};
fetch('https://api.anysite.io/api/otta/jobs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anysite.io/api/otta/jobs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'job' => '<string>',
'timeout' => 300,
'currency' => 'GBP'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/otta/jobs"
payload := strings.NewReader("{\n \"job\": \"<string>\",\n \"timeout\": 300,\n \"currency\": \"GBP\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/otta/jobs")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"job\": \"<string>\",\n \"timeout\": 300,\n \"currency\": \"GBP\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/otta/jobs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"job\": \"<string>\",\n \"timeout\": 300,\n \"currency\": \"GBP\"\n}"
response = http.request(request)
puts response.read_body[
{
"@type": "OttaJob",
"id": "<string>",
"external_id": "<string>",
"subtitle": "<string>",
"is_live": true,
"is_actively_hiring": true,
"is_internship": true,
"hide_salary": true,
"accepts_internal_applications": true,
"remote_only": true,
"min_years_experience": 123,
"max_years_experience": 123,
"min_days_in_office": 123,
"max_days_in_office": 123,
"office_location": "<string>",
"location_restrictions": "<string>",
"location_information": "<string>",
"locations": [],
"formatted_locations": [],
"function": "<string>",
"sub_function": "<string>",
"technologies": [],
"language_requirements": [],
"requirements": [],
"involves_bullets": [],
"application_process_bullets": [],
"salary_range": {
"@type": "OttaSalaryRange",
"min_amount": 123,
"max_amount": 123,
"currency": "<string>"
},
"ote_salary_range": {
"@type": "OttaSalaryRange",
"min_amount": 123,
"max_amount": 123,
"currency": "<string>"
},
"other_compensation_information": "<string>",
"original_url": "<string>",
"inserted_at": "<string>",
"valid_until": "<string>",
"last_seen": "<string>",
"workflow_status": "<string>",
"team": {
"@type": "OttaJobTeam",
"name": "<string>",
"mission": "<string>",
"size": 123
},
"company": {
"@type": "OttaCompany",
"id": "<string>",
"external_id": "<string>",
"name": "<string>",
"alias": "<string>",
"domain_name": "<string>",
"companies_house_name": "<string>",
"dealroom_id": "<string>",
"image": "<string>",
"favicon": "<string>",
"primary_colour": "<string>",
"profile_type": "<string>",
"website_url": "<string>",
"linkedin_url": "<string>",
"crunchbase_url": "<string>",
"angellist_url": "<string>",
"short_description": "<string>",
"mission": "<string>",
"live_job_count": 123,
"employee_count": 123,
"employee_survey_count": 123,
"hq_address": "<string>",
"parsed_hq_address": "<string>",
"only_on_otta": true,
"is_bcorp": true,
"is_otta_certified": true,
"glassdoor_rating": 123,
"glassdoor_url": "<string>",
"trustpilot_rating": 123,
"trustpilot_url": "<string>",
"response_rate": 123,
"percentage_female": 123,
"year_employee_growth_percentage": 123,
"min_days_in_office": 123,
"max_days_in_office": 123,
"integrated_with_dealroom": true,
"diversity_author_name": "<string>",
"diversity_author_title": "<string>",
"job_locations": [],
"size": "<string>",
"sectors": [],
"values": [],
"market_bullets": [],
"other_benefits": [],
"visa_sponsorship_countries": [],
"articles": [],
"photos": [],
"offices": [],
"teams": [],
"total_funding": {
"@type": "OttaMoney",
"amount": 123,
"currency": "<string>"
},
"funding_rounds": [],
"investors": [],
"founders": [],
"people_progressing": [],
"diversity_statistics": {
"@type": "OttaDiversityStatistics",
"updated_at": "<string>",
"genders": [],
"ethnicities": [],
"working_locations": []
},
"live_jobs": []
}
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/otta
/otta/jobs
Get an Otta job posting by its external id or job URL. Returns the full role detail: title, salary range and OTE, required and desirable requirements, tech stack, what the job involves, application process, experience and days-in-office expectations, location preferences, languages, and the full enriched profile of the hiring company.
Price: 1 credit
⚠️ Common errors: 412: Job not found
POST
/
api
/
otta
/
jobs
/otta/jobs
curl --request POST \
--url https://api.anysite.io/api/otta/jobs \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"job": "<string>",
"timeout": 300,
"currency": "GBP"
}
'import requests
url = "https://api.anysite.io/api/otta/jobs"
payload = {
"job": "<string>",
"timeout": 300,
"currency": "GBP"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({job: '<string>', timeout: 300, currency: 'GBP'})
};
fetch('https://api.anysite.io/api/otta/jobs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anysite.io/api/otta/jobs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'job' => '<string>',
'timeout' => 300,
'currency' => 'GBP'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/otta/jobs"
payload := strings.NewReader("{\n \"job\": \"<string>\",\n \"timeout\": 300,\n \"currency\": \"GBP\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/otta/jobs")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"job\": \"<string>\",\n \"timeout\": 300,\n \"currency\": \"GBP\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/otta/jobs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"job\": \"<string>\",\n \"timeout\": 300,\n \"currency\": \"GBP\"\n}"
response = http.request(request)
puts response.read_body[
{
"@type": "OttaJob",
"id": "<string>",
"external_id": "<string>",
"subtitle": "<string>",
"is_live": true,
"is_actively_hiring": true,
"is_internship": true,
"hide_salary": true,
"accepts_internal_applications": true,
"remote_only": true,
"min_years_experience": 123,
"max_years_experience": 123,
"min_days_in_office": 123,
"max_days_in_office": 123,
"office_location": "<string>",
"location_restrictions": "<string>",
"location_information": "<string>",
"locations": [],
"formatted_locations": [],
"function": "<string>",
"sub_function": "<string>",
"technologies": [],
"language_requirements": [],
"requirements": [],
"involves_bullets": [],
"application_process_bullets": [],
"salary_range": {
"@type": "OttaSalaryRange",
"min_amount": 123,
"max_amount": 123,
"currency": "<string>"
},
"ote_salary_range": {
"@type": "OttaSalaryRange",
"min_amount": 123,
"max_amount": 123,
"currency": "<string>"
},
"other_compensation_information": "<string>",
"original_url": "<string>",
"inserted_at": "<string>",
"valid_until": "<string>",
"last_seen": "<string>",
"workflow_status": "<string>",
"team": {
"@type": "OttaJobTeam",
"name": "<string>",
"mission": "<string>",
"size": 123
},
"company": {
"@type": "OttaCompany",
"id": "<string>",
"external_id": "<string>",
"name": "<string>",
"alias": "<string>",
"domain_name": "<string>",
"companies_house_name": "<string>",
"dealroom_id": "<string>",
"image": "<string>",
"favicon": "<string>",
"primary_colour": "<string>",
"profile_type": "<string>",
"website_url": "<string>",
"linkedin_url": "<string>",
"crunchbase_url": "<string>",
"angellist_url": "<string>",
"short_description": "<string>",
"mission": "<string>",
"live_job_count": 123,
"employee_count": 123,
"employee_survey_count": 123,
"hq_address": "<string>",
"parsed_hq_address": "<string>",
"only_on_otta": true,
"is_bcorp": true,
"is_otta_certified": true,
"glassdoor_rating": 123,
"glassdoor_url": "<string>",
"trustpilot_rating": 123,
"trustpilot_url": "<string>",
"response_rate": 123,
"percentage_female": 123,
"year_employee_growth_percentage": 123,
"min_days_in_office": 123,
"max_days_in_office": 123,
"integrated_with_dealroom": true,
"diversity_author_name": "<string>",
"diversity_author_title": "<string>",
"job_locations": [],
"size": "<string>",
"sectors": [],
"values": [],
"market_bullets": [],
"other_benefits": [],
"visa_sponsorship_countries": [],
"articles": [],
"photos": [],
"offices": [],
"teams": [],
"total_funding": {
"@type": "OttaMoney",
"amount": 123,
"currency": "<string>"
},
"funding_rounds": [],
"investors": [],
"founders": [],
"people_progressing": [],
"diversity_statistics": {
"@type": "OttaDiversityStatistics",
"updated_at": "<string>",
"genders": [],
"ethnicities": [],
"working_locations": []
},
"live_jobs": []
}
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
application/json
Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I