Fetch the full details of a single job posting by its job ID — title, location, full description, employment type, salary, industries, job functions, and experience level — returned synchronously.
The Company Job Details API fetches the complete details of a single job posting using its job_id. Results are returned synchronously in the HTTP response — no job polling required.This is a synchronous GET API — you pass a job_id as a URL parameter and receive the full job posting object immediately.The job posting object includes:
Core posting data — title, location, full description text, and canonical posting URL
Employment details — employment type, remote eligibility, and experience level
Classification — associated job functions and industries
Requirements — listed skills and benefits (when present on the posting)
Common use cases:
Talent intelligence — Pull the full description and required skills for postings surfaced by the Get Jobs API to analyse hiring signals across a company
Competitive hiring analysis — Track the seniority mix, remote policy, and functional focus of a competitor’s open roles
Market mapping — Aggregate job functions and industries across a set of postings to understand where a company is investing headcount
LLM-powered research — Feed the full description field into your own summarisation, skill-extraction, or classification pipeline
This API is synchronous. Results are returned directly in the HTTP response — no job submission or polling required. See How Sync APIs work.
Step 1 — Obtain a job_idThe job_id is returned by the Get Jobs API. Each job in that response carries an id that you pass to this endpoint.Step 2 — Make a request
All requests must include a Bearer token in the Authorization HTTP header. No other authentication method is supported.
Authorization: Bearer <YOUR_API_TOKEN>
API tokens are issued from your Wokelo account. Navigate to Account Details → API Credentials in the Wokelo dashboard to get your client id and client secret. Contact support@wokelo.ai if you do not yet have API access.
Never expose your token in client-side code, browser requests, or public repositories. A missing or invalid token returns 401 Unauthorized. A valid token without sufficient plan permissions returns 403 Forbidden.
Pull a list of postings from the Get Jobs API, then fetch full details for each to analyse seniority and functional focus.
import requestsHEADERS = {"Authorization": "Bearer <YOUR_API_TOKEN>"}# Assume `job_ids` were collected from the Get Jobs APIjob_ids = ["4426080772", "4426080773", "4426080774"]detailed_jobs = []for job_id in job_ids: response = requests.get( "https://api.wokelo.ai/api/enterprise/company/jobs/detail", headers=HEADERS, params={"job_id": job_id} ) if response.ok: detailed_jobs.append(response.json()["data"])# Summarise the hiring signalfrom collections import Counterlevels = Counter(j["experience_level"] for j in detailed_jobs)functions = Counter(f for j in detailed_jobs for f in j["job_functions"])remote_count = sum(1 for j in detailed_jobs if j["remote_allow"])print(f"Roles analysed: {len(detailed_jobs)}")print(f"Remote-friendly: {remote_count}")print(f"Seniority mix: {dict(levels)}")print(f"Top functions: {functions.most_common(5)}")
Obtain job_id from the Get Jobs APIThe job_id is not a value you construct — it comes from the id field of postings returned by the Get Jobs API. Always resolve IDs through that endpoint before calling this one.Guard against null and empty fieldsCompensation and requirement fields (salary_details, compensation_type, pay_period, currency_code, skills, benefits) are frequently absent on public postings. Use .get() with a default rather than direct key access:
# ✅ Safecurrency = job.get("currency_code") or "N/A"skills = job.get("skills", [])
Expect localized description textThe description field reflects the original language of the posting, which may not be English. If you need consistent-language output, run the text through a translation or LLM normalisation step before analysis.