Discover/Loker API
live

Loker APIloker.id

Search and retrieve Indonesian job postings from Loker.id. Filter by keyword, job type, and education level. Get full job details including salary, company, and qualifications.

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

What is the Loker API?

The Loker.id API exposes 2 endpoints for searching and retrieving job postings from Indonesia's Loker.id platform. The search_jobs endpoint returns paginated results of 21 listings per page, each including job title, company info, location, salary range, and category data. The get_job_detail endpoint returns the full posting — description, qualifications, responsibilities, and company profile — for a specific job identified by its slug and category.

Try it
Page number for pagination, starting from 1.
Search keyword to filter jobs (e.g. 'admin', 'marketing'). Omitting returns all jobs.
Filter by job type slug (e.g. 'purna-waktu' for Full Time, 'kontrak' for Contract). Omitting returns all types.
Filter by education level slug (e.g. 'sarjana-s1', 'sma-smk-stm'). Omitting returns all education levels.
api.parse.bot/scraper/e6dfe070-e6f5-4d14-b7a6-b01cf415800e/<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/e6dfe070-e6f5-4d14-b7a6-b01cf415800e/search_jobs?page=1&query=admin' \
  -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 loker-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.

"""
Loker.id Job Listings API Client

Get your API key from: https://parse.bot/settings
"""

from parse_apis.loker_id_job_listings_api import Loker, JobSummary, Job, Company

loker = Loker()

# Search for marketing jobs
for job_summary in loker.jobsummaries.search(query="marketing", limit=5):
    print(job_summary.title, job_summary.company_name, job_summary.salary_min, job_summary.location)

    # Get full details for each job
    detail = job_summary.details()
    print(detail.job_description, detail.salary_currency, detail.salary_unit)
    if detail.company:
        print(detail.company.name, detail.company.description)
All endpoints · 2 totalmissing one? ·

Search and list available job openings with optional keyword, job type, and education filters. Returns paginated results with 21 jobs per page. Each job includes salary range, location with region, job type, required skills, experience, education levels, gender preference, and work location type. Paginates via integer page number.

Input
ParamTypeDescription
pageintegerPage number for pagination, starting from 1.
querystringSearch keyword to filter jobs (e.g. 'admin', 'marketing'). Omitting returns all jobs.
job_typestringFilter by job type slug (e.g. 'purna-waktu' for Full Time, 'kontrak' for Contract). Omitting returns all types.
educationstringFilter by education level slug (e.g. 'sarjana-s1', 'sma-smk-stm'). Omitting returns all education levels.
Response
{
  "type": "object",
  "fields": {
    "jobs": "array of job listing objects with id, title, slug, company info, location, salary range, category, level, skills, and scheduling details",
    "total": "integer total number of matching jobs",
    "last_page": "integer total number of pages",
    "current_page": "integer current page number"
  },
  "sample": {
    "data": {
      "jobs": [
        {
          "id": 15887614,
          "slug": "marketing-kredit-pt-bpr-buana-dana-makmur-sidoarjo-3",
          "title": "Marketing Kredit",
          "types": [
            {
              "id": 7262,
              "name": "Full Time",
              "slug": "purna-waktu"
            }
          ],
          "gender": "Laki-Laki atau Perempuan",
          "category": "Penjualan & Relasi Perbankan",
          "job_type": "Full Time",
          "location": "Sidoarjo",
          "is_remote": false,
          "locations": [
            {
              "id": 6294,
              "name": "Sidoarjo",
              "slug": "sidoarjo",
              "parent": {
                "id": 6433,
                "name": "Jawa Timur",
                "slug": "jawa-timur"
              }
            }
          ],
          "categories": [
            {
              "id": 123379,
              "name": "Penjualan & Relasi Perbankan",
              "slug": "sales-relasi-perbankan",
              "parent": {
                "id": 5,
                "name": "Perbankan / Jasa Finansial",
                "slug": "perbankan-jasa-finansial"
              }
            }
          ],
          "company_id": 73762,
          "is_premium": true,
          "job_salary": "Rp.10 – 12 Juta",
          "salary_max": 10000000,
          "salary_min": 2000000,
          "need_urgent": false,
          "company_name": "PT. BPR Buana Dana Makmur",
          "company_slug": "pt-bpr-buana-dana-makmur-3",
          "published_at": "2026-06-05 13:19:42",
          "job_experience": "Freshgraduate - 5 Tahun",
          "child_category_slug": "sales-relasi-perbankan",
          "parent_category_slug": "perbankan-jasa-finansial"
        }
      ],
      "total": 406,
      "last_page": 20,
      "current_page": 1
    },
    "status": "success"
  }
}

About the Loker API

Searching Job Listings

The search_jobs endpoint accepts four optional parameters: query for keyword filtering (e.g. 'admin', 'marketing'), job_type and education for structured filtering by job type slug and education level slug respectively, and page for pagination starting at 1. Each page returns up to 21 job objects. Each job object includes an id, title, slug, company details, location, salary range, and a categories array that contains both child and parent category slugs. The pagination object in the response exposes current_page, last_page, from, to, and total so you can iterate through the full result set.

Retrieving Job Details

The get_job_detail endpoint requires the job_slug and parent_category fields sourced from search_jobs results, with an optional child_category. The response includes the full job title, salary object with range info, types array of job type objects, level object, is_remote boolean, and a company object containing the employer's name, description, city, industry, and company_size. Qualifications and responsibilities are included in the detailed response.

Data Coverage

All job data reflects Loker.id's Indonesia-focused listings. Categories follow Loker.id's own taxonomy — parent and child category slugs returned by search_jobs are the same values required by get_job_detail, so building a two-step fetch pipeline (search then detail) is straightforward. Education level and job type filters use Loker.id's slug conventions, which can be discovered by browsing search results first.

Reliability & maintenanceVerified

The Loker API is a managed, monitored endpoint for loker.id — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when loker.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 loker.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
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 job listings by category for a niche job board targeting local candidates
  • Monitor salary ranges for specific roles in Indonesia using the salary field from get_job_detail
  • Filter remote-eligible positions in Indonesia using the is_remote field on job detail responses
  • Build a company profile enrichment tool by extracting company.industry and company_size from job postings
  • Track job volume by education level by iterating search_jobs with different education slugs and summing pagination.total
  • Alert users to new postings in a target category by polling search_jobs with a query and comparing against known job IDs
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 Loker.id offer an official developer API?+
Loker.id does not publish a documented public developer API. This Parse API provides structured access to job listing and detail data from the platform.
What does the `search_jobs` endpoint return, and how granular is the filtering?+
Each result includes job id, title, slug, company name and location, salary range, and a categories array with parent and child slugs. Filtering is available by free-text query, job_type slug, and education slug. Results are paginated at 21 per page; the pagination object reports total, current_page, and last_page for full iteration.
Can I retrieve job application URLs or apply directly through the API?+
Not currently. The API covers job search results and detailed posting data including descriptions, qualifications, and company info, but does not expose application URLs or submission endpoints. You can fork this API on Parse and revise it to add an endpoint that extracts application link data.
How do I pass the right parameters to `get_job_detail`?+
The job_slug maps to the slug field on any search_jobs result. The parent_category comes from categories[0].parent.slug and child_category from categories[0].slug on the same result object. These three values together form the path components needed to fetch the full job detail.
Does the API cover job postings outside Indonesia or on sister sites?+
Coverage is limited to listings on Loker.id, which focuses on the Indonesian job market. Other regional job platforms are not included. You can fork this API on Parse and revise it to target additional Indonesian or Southeast Asian job listing sources.
Page content last updated . Spec covers 2 endpoints from loker.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.