Discover/Klob API
live

Klob APIklob.id

Access job openings from Klob.id via 2 endpoints. Filter by keyword, location, job level, and work model. Get full job details including salary and HTML descriptions.

This API takes change requests — .
Endpoint health
verified 8d ago
get_job_details
list_jobs
2/2 passing latest checkself-healing
Endpoints
2
Updated
1mo ago

What is the Klob API?

The Klob.id API exposes 2 endpoints that return job vacancy data from Indonesia's Klob.id career platform. The list_jobs endpoint delivers paginated job summaries filterable by keyword, location ID, work model, and job level, while get_job_details returns the full vacancy record — including salary range, open/close dates, HTML job description, and structured location and work model objects — for any individual posting.

Try it
Zero-based page number for pagination.
Number of results per page.
Search keyword to filter jobs by position name.
Location ID to filter jobs (e.g. 'dki04' for Kota Administrasi Jakarta Selatan). Values available from the upstream dropdown.
Job level filter.
Work model filter.
api.parse.bot/scraper/ac240c41-2fa3-44dc-83fd-16dc3b881aa5/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/ac240c41-2fa3-44dc-83fd-16dc3b881aa5/list_jobs?page=0&size=5' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace klob-id-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.klob_job_listings_api import Klob, JobSummary, Job, WorkModel, JobLevel

klob = Klob()

# List remote senior-level jobs
for job_summary in klob.jobs.list(work_model=WorkModel.FULL_REMOTE, job_level=JobLevel.SENIOR, limit=5):
    print(job_summary.position_name, job_summary.corporate_name, job_summary.open_date)

    if job_summary.location:
        print(job_summary.location.city, job_summary.location.province)

    # Navigate to full details
    detail = job_summary.details()
    print(detail.position_name_en, detail.number_of_vacancies, detail.status)
All endpoints · 2 totalmissing one? ·

List all available job openings on Klob.id with optional filtering by keyword, location, work model, and job level. Returns paginated results sorted by recency. Each job includes brief descriptions, salary info, location details, work model, and employment status.

Input
ParamTypeDescription
pageintegerZero-based page number for pagination.
sizeintegerNumber of results per page.
keywordstringSearch keyword to filter jobs by position name.
locationstringLocation ID to filter jobs (e.g. 'dki04' for Kota Administrasi Jakarta Selatan). Values available from the upstream dropdown.
job_levelstringJob level filter.
work_modelstringWork model filter.
Response
{
  "type": "object",
  "fields": {
    "jobs": "array of job summary objects containing position name, corporate info, employment status, work model, job level, location, salary, dates, descriptions, and badge flags",
    "page": "integer, current zero-based page number",
    "size": "integer, number of results per page",
    "total_pages": "integer, total number of pages available",
    "is_last_page": "boolean, whether this is the last page",
    "total_elements": "integer, total number of matching jobs"
  },
  "sample": {
    "data": {
      "jobs": [
        {
          "disabled": false,
          "location": {
            "id": "CRP000526_OFLCRP000001",
            "city": "Kota Administrasi Jakarta Selatan",
            "country": null,
            "province": "JAKARTA RAYA",
            "postalCode": "12950",
            "description": "Head Office",
            "gpsLocation": "",
            "urlOfficeImage": null,
            "longDescription": "Kantor Taman E3.3 Unit B 3-3A"
          },
          "badge_new": false,
          "job_level": null,
          "open_date": "2026-02-19",
          "salary_to": null,
          "badge_star": false,
          "close_date": "2026-12-31",
          "work_model": {
            "id": "wt002",
            "text": "Hybrid"
          },
          "posted_date": "19/02/2026",
          "promote_job": false,
          "salary_from": null,
          "show_salary": false,
          "corporate_id": "CRP000526",
          "is_anonymous": false,
          "position_name": "[TALENT POOL] Fasilitator Bahasa dan Soft skills",
          "corporate_logo": "https://files.klob.id/public/mco01/ks3xsuly/Logo_DayaLima_Resources.png",
          "corporate_name": "DayaLima Recruitment",
          "descriptions_en": "<html>...</html>",
          "descriptions_id": "<html>...</html>",
          "salary_currency": {
            "id": "IDR",
            "text": "Indonesia Rupiah",
            "displayName": "Rp."
          },
          "job_vacancy_code": "KVCCRP006172",
          "position_name_en": "[TALENT POOL] Fasilitator Bahasa dan Soft skills",
          "employment_status": "Karyawan Kontrak",
          "corporate_verified": "verified",
          "employment_status_en": "Contract"
        }
      ],
      "page": 0,
      "size": 3,
      "total_pages": 10,
      "is_last_page": false,
      "total_elements": 30
    },
    "status": "success"
  }
}

About the Klob API

Job Listings with Filters

The list_jobs endpoint returns an array of job summary objects alongside pagination metadata: page, size, total_pages, is_last_page, and total_elements. You can narrow results using the keyword parameter for position-name search, location for a location ID such as dki04 (Kota Administrasi Jakarta Selatan), job_level for seniority codes from 1 (Unskilled) through 6 (Executive), and work_model for arrangement codes including wt001 (On Site), wt002 (Hybrid), wt003 (Full Remote), and wt004 (Scholarship). Pagination uses a zero-based page index with configurable size.

Job Detail Records

The get_job_details endpoint accepts a job_code string — such as kvccrp006897, taken from a list_jobs result — and returns the full vacancy record. Response fields include description (full HTML job description), salary_from and salary_to (both nullable numbers), open_date, close_date, posted_date, a location object with city, province, and description, a job_level object with id, text, and longDescription, a work_model object with id and text, and a top-level status string.

Coverage and Data Shape

All job data is scoped to listings published on Klob.id, which focuses on the Indonesian job market. Location filtering relies on Klob.id's internal location ID scheme; the dki04 example maps to South Jakarta. Salary fields return null when the posting does not disclose compensation. The HTML in the description field may include formatting tags and should be sanitized before rendering in untrusted contexts.

Reliability & maintenanceVerified

The Klob API is a managed, monitored endpoint for klob.id — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when klob.id changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official klob.id API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
8d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate Indonesian job listings into a localized job board filtered by city and work model
  • Monitor new vacancies on Klob.id by polling list_jobs sorted by recency and checking posted_date
  • Build a salary benchmarking dataset using salary_from and salary_to fields across job levels
  • Filter remote and hybrid roles in Indonesia using work_model codes wt002 and wt003
  • Populate a career app with full job descriptions and qualifications via get_job_details
  • Track open and closing dates for Indonesian job postings using open_date and close_date fields
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Klob.id offer an official developer API?+
Klob.id does not publish a documented public developer API. This Parse API provides structured access to job listing data from the platform.
What does `get_job_details` return that `list_jobs` does not?+
get_job_details returns fields not present in the listing summary: the full HTML description, salary_from and salary_to as numeric values (or null when undisclosed), open_date, close_date, and expanded job_level data including longDescription. The listing endpoint returns only the summary fields needed for browsing and pagination.
How does location filtering work, and where do location IDs come from?+
The location parameter accepts Klob.id location ID strings such as dki04 for Kota Administrasi Jakarta Selatan. These IDs follow Klob.id's internal taxonomy. The API description notes that location values are available from the platform; you need to know or look up the ID for a target area before filtering.
Does the API return company profiles or recruiter contact details?+
Not currently. The API covers job vacancy data — descriptions, salary ranges, location, work model, and job level — but does not expose company profile pages or recruiter contact information. You can fork this API on Parse and revise it to add an endpoint that retrieves company-level data.
Are salary fields always populated?+
No. salary_from and salary_to in get_job_details are nullable and return null when the job posting does not disclose compensation. Any application consuming these fields should handle null values explicitly.
Page content last updated . Spec covers 2 endpoints from klob.id.
Related APIs in JobsSee all →
usajobs.gov API
Search federal job openings and view detailed job announcements from USAJobs.gov, plus access historical job data and reference codes to help you find the right government position. Filter and explore thousands of federal career opportunities with comprehensive job details all in one place.
jobs.lever.co API
Access job postings on any Lever-hosted company job board. List, filter, search, and group open roles, retrieve full posting details, and extract application form questions via Lever's public API.
indeed.com API
Search and discover job opportunities on Indeed while accessing detailed job descriptions, company profiles, and salary insights all in one place. Get comprehensive career information including specific compensation data to help you find and evaluate the right job opportunity for you.
job-boards.greenhouse.io API
Access job listings, department information, office locations, and application forms from Greenhouse.io job boards, then submit applications directly through the platform. Search and filter available positions by keywords to find roles that match your qualifications.
uk.indeed.com API
Search for job listings across Indeed UK and retrieve complete job details including descriptions, requirements, salary information, and application links. Filter by job type, experience level, location, remote preference, and more to find relevant opportunities.
levels.fyi API
Access real compensation data, benefits packages, and salary trends across tech companies and job levels. Retrieve internship pay, H-1B visa salary records, company profiles, and detailed breakdowns by role and level.
in.indeed.com API
Access data from in.indeed.com.
ca.indeed.com API
Search for jobs across Canada and access detailed job listings, company profiles, employee reviews, and salary information all in one place. Build recruitment tools, career research applications, or job market analysis platforms with comprehensive employment data from Indeed Canada.