Discover/KitaLulus API
live

KitaLulus APIkitalulus.com

Access KitaLulus job listings via API. Filter by job type, location policy, education level, and specialization. Get full job details including benefits and company info.

This API takes change requests — .
Endpoint health
verified 4d ago
list_jobs
get_job_detail
2/2 passing latest checkself-healing
Endpoints
2
Updated
27d ago

What is the KitaLulus API?

The KitaLulus API provides access to Indonesian job listings through 2 endpoints, returning job summaries and full position details sourced from kitalulus.com. The list_jobs endpoint supports filtering by employment type, work location policy, education requirement, and job specialization, while get_job_detail returns complete information including company profile, benefits array, working hours, skill tags, and candidate requirements for any specific posting.

Try it
Zero-based page number for pagination.
Number of jobs per page, between 1 and 100.
Sort order for results.
Filter by employment type.
Filter by work location policy.
Filter by minimum education level.
Filter by job specialization category.
api.parse.bot/scraper/1c83c9c3-9388-4a9b-a738-88d6f9094a69/<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/1c83c9c3-9388-4a9b-a738-88d6f9094a69/list_jobs?page=0&limit=5&sort_by=updatedAt' \
  -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 kitalulus-com-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.

"""
KitaLulus Job Listings API — browse Indonesian job openings and drill into details.
"""

from parse_apis.KitaLulus_Job_Listings_API import (
    KitaLulus,
    JobSpecialization,
    SortBy,
    JobNotFound,
)

client = KitaLulus()

# List recent job summaries sorted by last update
for job_summary in client.job_summaries.list(
    sort_by=SortBy.UPDATED_AT,
    job_specialization=JobSpecialization.IT,
    limit=3,
):
    print(job_summary.position_name, job_summary.city, job_summary.salary_lower_bound)

# Drill into the first job's full details
job_summary = client.job_summaries.list(sort_by=SortBy.UPDATED_AT, limit=1).first()
if job_summary:
    detail = job_summary.details()
    print(detail.position_name, detail.job_type, detail.education_level)
    for skill in detail.skill_tags:
        print(skill)

# Fetch a job directly by slug and handle not-found
try:
    job = client.jobs.get(slug="nonexistent-job-slug-xxxx")
    print(job.position_name, job.company.name if job.company else "N/A")
except JobNotFound as exc:
    print(f"Job not found: {exc}")

print("exercised: job_summaries.list / job_summary.details / jobs.get / JobNotFound")
All endpoints · 2 totalmissing one? ·

List available job openings with optional filters and pagination. Returns jobs sorted by the specified criteria. When no filters are applied, returns the most recently updated jobs across all categories. Paginates via zero-based page number. Each job summary includes slug, position name, salary bounds, location, company info, and job type.

Input
ParamTypeDescription
pageintegerZero-based page number for pagination.
limitintegerNumber of jobs per page, between 1 and 100.
sort_bystringSort order for results.
job_typestringFilter by employment type.
location_sitestringFilter by work location policy.
education_levelstringFilter by minimum education level.
job_specializationstringFilter by job specialization category.
Response
{
  "type": "object",
  "fields": {
    "jobs": "array of job summary objects containing id, slug, position_name, salary bounds, location, company info, and job type",
    "page": "integer, current page number",
    "count": "integer, number of jobs returned on this page",
    "limit": "integer, page size used"
  },
  "sample": {
    "data": {
      "jobs": [
        {
          "id": "xUYxWZUUsBw",
          "city": "Kota Makassar",
          "slug": "kitchen-staff-2xxq",
          "job_type": "Full-Time",
          "province": "Sulawesi Selatan",
          "updated_at": 1781130638000000,
          "company_name": "March Coffee To Go",
          "company_slug": "march-coffee-siz1",
          "location_site": "Kerja dari kantor (WFO)",
          "position_name": "Kitchen Staff",
          "is_highlighted": false,
          "updated_at_str": "Terakhir diperbarui 0 hari yang lalu",
          "education_level": "Minimal SMA/SMK/Sederajat",
          "company_logo_url": "",
          "salary_lower_bound": 0,
          "salary_upper_bound": 0
        }
      ],
      "page": 0,
      "count": 5,
      "limit": 5
    },
    "status": "success"
  }
}

About the KitaLulus API

Browsing and Filtering Job Listings

The list_jobs endpoint returns paginated job summaries from KitaLulus, Indonesia's job platform. Pagination uses a zero-based page parameter alongside a limit (1–100 results per page). Results can be sorted by updatedAt or isHighlighted. Without filters, the endpoint returns the most recently updated jobs across all categories. Each job object in the returned jobs array carries enough information to identify a position and construct a slug for further lookup.

Filtering by Type, Location, Education, and Specialization

Four filter parameters narrow results significantly. job_type accepts FREELANCE, FULL_TIME, PART_TIME, INTERNSHIP, or CONTRACT. location_site filters by work arrangement: REMOTE, ON_SITE, REMOTE_PARTIAL, or FIELDWORK. education_level sets a minimum qualification from MIDDLE_SCHOOL through BACHELOR and MASTER. job_specialization targets sectors such as IT, Sales, Akuntansi, Guru, Driver, and others — using the Indonesian-language category names as they appear on the platform.

Retrieving Full Job Details

The get_job_detail endpoint accepts a slug (e.g. admin-ar-jakarta-djti) obtained from list_jobs results. The response includes id, city, slug, job_role, job_type, gender, max_age, a company object with employer details, and a benefits array listing perks by name. This endpoint is the primary way to retrieve the full job description, requirements, and skill tags for a specific posting.

Reliability & maintenanceVerified

The KitaLulus API is a managed, monitored endpoint for kitalulus.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when kitalulus.com 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 kitalulus.com 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
4d 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 remote job listings by filtering location_site=REMOTE and syncing to a local database
  • Build a job alert system that polls list_jobs sorted by updatedAt to surface newly posted positions
  • Filter internship opportunities by job_type=INTERNSHIP and education_level=BACHELOR for student-facing apps
  • Display company-specific job counts and benefit summaries using the company object and benefits array from get_job_detail
  • Power a job recommendation engine by matching user-preferred specializations against the job_specialization filter
  • Track how many highlighted jobs exist in a given category by combining sort_by=isHighlighted with a specialization filter
  • Populate a freelance marketplace feed by continuously fetching job_type=FREELANCE listings with pagination
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 KitaLulus have an official public developer API?+
KitaLulus does not publish a documented public developer API or API portal. This Parse API provides structured programmatic access to the job data available on kitalulus.com.
What does `get_job_detail` return beyond what `list_jobs` provides?+
get_job_detail returns the full job record: the company object with employer details, a benefits array of perk names, gender and max_age candidate requirements, job_role, job_type, city, and skill tags. The list_jobs endpoint returns summary objects sufficient for browsing and slug extraction, but not the complete description or requirements.
Are there limitations on how `job_specialization` values are expressed?+
Yes. The job_specialization filter uses Indonesian-language category names as they appear on the platform (e.g. Akuntansi for accounting, Guru for teaching). Passing English translations or variations not in the accepted list will not match any results. Use only the exact enumerated values when constructing requests.
Does the API support searching jobs by keyword or company name?+
Not currently. The list_jobs endpoint filters by job_type, location_site, education_level, and job_specialization, but does not accept a free-text keyword or company name parameter. You can fork this API on Parse and revise it to add a keyword search endpoint.
Does the API expose salary or compensation data for job listings?+
The documented response fields for get_job_detail cover benefits, job_role, job_type, company, city, max_age, and gender, but do not include a dedicated salary or compensation field. Many KitaLulus listings omit salary details on the platform itself. You can fork this API on Parse and revise it to surface any salary fields that are present in individual listings.
Page content last updated . Spec covers 2 endpoints from kitalulus.com.
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.