zapi.
APIsPricingDocsMCP
APIsPricingDocsMCP
Sign in
zapi.
APIsPricingDocsMCP
APIsPricingDocsMCP
Sign in
Jobs/Dealls
Logo Dealls

Dealls

Dealls job board — search by sector, employment type, city, company and salary band, with skills and company detail per job.

7 endpoints7 endpoints on this scraper99 calls99 calls so farupdated 23 days agoLast updated 9/2/2026, 11:46:24 AMBusy: 10+ calls so farllms.txt
Endpoints7

7/7 passing
checked 20 hours ago · daily 01:00 WIB

Job

Dealls single job by id — /v1/explore-job/job with `ids[]=<id>`. There is no detail route: /v1/explore-job/job/{id}, /job/slug/{slug} and /job/detail/{id} all 404.

GET/v1/jobs:dealls/job/:id10m cache1 paramchecking key…
Parameters
idstringrequired

Dealls job id, as returned in jobId.

·
Response
EXAMPLE
{
  "url": "https://dealls.com/loker/growth-strategy-manager~fintureid",
  "slug": "growth-strategy-manager",
  "jobId": "6a97ec54e2b28600127932b8",
  "stats": {
    "viewCount": 0,
    "applicantCount": 3,
    "nonCuratedCount": 3
  },
  "title": "Growth Strategy Manager",
  "skills": [
    {
      "id": "67573ddc8d8bcd001286b233",
      "name": "Growth Strategy"
    },
    {
      "id": "62ba6b677e07610012e5af8f",
      "name": "Performance Marketing"
    }
  ],
  "status": "active",
  "company": {
    "id": "6a4dcfe4417e2a001267622e",
    "logo": "https://cdn.sejutacita.id/6a4dcfe4e85dd30013306839/JobPortalCompanyLogo/5d93c034-f5b0-44a3-a6ac-94d48669bc5d.jpg",
    "name": "Finture",
    "slug": "fintureid",
    "benefits": [
      "Flexible working environment"
    ],
    "industry": "education",
    "verified": false,
    "createdAt": "2026-07-08T04:19:48.678Z",
    "workingPolicies": [
      "flexible"
    ]
  },
  "authorId": "6a4dd43b304e700013b38ea7",
  "function": "strategy-and-project-management",
  "isHybrid": false,
  "isRemote": false,
  "isUrgent": false,
  "location": {
    "city": "Jakarta Selatan",
    "cityId": 158,
    "country": "Indonesia",
    "countryId": 102
  },
  "postedAt": "2026-09-02T09:28:52.962Z",
  "taxonomy": {
    "jobRoleId": "69393facffb8a421e1efbba2",
    "jobRoleCategoryId": "6934fd532622eadf60779985",
    "jobRoleSubCategoryId": "69393fabffb8a421e1efbba1"
  },
  "createdAt": "2026-09-02T09:28:52.973Z",
  "recruiter": {
    "id": "6a4dd43b417e2a00126841dd",
    "name": "HR Finture",
    "email": "[email protected]"
  },
  "updatedAt": "2026-09-02T09:29:35.376Z",
  "isFeatured": false,
  "salaryType": "paid",
  "employmentType": "fullTime",
  "latestUpdatedAt": "2026-09-02T09:28:52.967Z",
  "workArrangement": "onSite",
  "hasFewApplicants": true,
  "candidatePreference": {
    "skillIds": [
      "67573ddc8d8bcd001286b233",
      "62ba6b677e07610012e5af8f"
    ],
    "educationLevelCodes": [
      6
    ]
  },
  "updatedAtByEmployer": "2026-09-02T09:29:34.295Z",
  "lastActivelyHiringAt": "2026-09-02T09:43:06.371Z",
  "applicantPrioritySlots": 8
}

Code

Job
index.ts
// npm i zpi-sdk
import { ZpiClient } from "zpi-sdk";

const client = new ZpiClient({ apiKey: "zpi_xxxxxxxxxxxxxxxxxxxxxxxx" });

const data = await client.run("jobs:dealls", "job", {
  "id": "6a97ec54e2b28600127932b8"
});
console.log(data);
Recommended · typed errors, safe retries and bulk jobsSDK reference

Full reference

7 endpoints · plain text
GET
Job/v1/jobs:dealls/job/:id
1 param

Dealls single job by id — /v1/explore-job/job with `ids[]=<id>`. There is no detail route: /v1/explore-job/job/{id}, /job/slug/{slug} and /job/detail/{id} all 404.

Parameters

idstringrequiredin path
Dealls job id, as returned in jobId.

Request

curl -X GET "https://api.zapi.ink/v1/jobs:dealls/job/6a97ec54e2b28600127932b8" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "url": "https://dealls.com/loker/growth-strategy-manager~fintureid",
  "slug": "growth-strategy-manager",
  "jobId": "6a97ec54e2b28600127932b8",
  "stats": {
    "viewCount": 0,
    "applicantCount": 3,
    "nonCuratedCount": 3
  },
  "title": "Growth Strategy Manager",
  "skills": [
    {
      "id": "67573ddc8d8bcd001286b233",
      "name": "Growth Strategy"
    },
    {
      "id": "62ba6b677e07610012e5af8f",
      "name": "Performance Marketing"
    }
  ],
  "status": "active",
  "company": {
    "id": "6a4dcfe4417e2a001267622e",
    "logo": "https://cdn.sejutacita.id/6a4dcfe4e85dd30013306839/JobPortalCompanyLogo/5d93c034-f5b0-44a3-a6ac-94d48669bc5d.jpg",
    "name": "Finture",
    "slug": "fintureid",
    "benefits": [
      "Flexible working environment"
    ],
    "industry": "education",
    "verified": false,
    "createdAt": "2026-07-08T04:19:48.678Z",
    "workingPolicies": [
      "flexible"
    ]
  },
  "authorId": "6a4dd43b304e700013b38ea7",
  "function": "strategy-and-project-management",
  "isHybrid": false,
  "isRemote": false,
  "isUrgent": false,
  "location": {
    "city": "Jakarta Selatan",
    "cityId": 158,
    "country": "Indonesia",
    "countryId": 102
  },
  "postedAt": "2026-09-02T09:28:52.962Z",
  "taxonomy": {
    "jobRoleId": "69393facffb8a421e1efbba2",
    "jobRoleCategoryId": "6934fd532622eadf60779985",
    "jobRoleSubCategoryId": "69393fabffb8a421e1efbba1"
  },
  "createdAt": "2026-09-02T09:28:52.973Z",
  "recruiter": {
    "id": "6a4dd43b417e2a00126841dd",
    "name": "HR Finture",
    "email": "[email protected]"
  },
  "updatedAt": "2026-09-02T09:29:35.376Z",
  "isFeatured": false,
  "salaryType": "paid",
  "employmentType": "fullTime",
  "latestUpdatedAt": "2026-09-02T09:28:52.967Z",
  "workArrangement": "onSite",
  "hasFewApplicants": true,
  "candidatePreference": {
    "skillIds": [
      "67573ddc8d8bcd001286b233",
      "62ba6b677e07610012e5af8f"
    ],
    "educationLevelCodes": [
      6
    ]
  },
  "updatedAtByEmployer": "2026-09-02T09:29:34.295Z",
  "lastActivelyHiringAt": "2026-09-02T09:43:06.371Z",
  "applicantPrioritySlots": 8
}
GET
Jobs By City/v1/jobs:dealls/jobs-by-city
14 params

Dealls openings in one city — pre-binds `cityIds=<id>` on /v1/explore-job/job. Measured against the 1229-job baseline: cityIds=158 (Jakarta Selatan) → 254.

Parameters

citynumberrequired
City id, as returned in location.cityId.
querystringoptional
Free-text search across job titles.
companystringoptional
Company id, as returned in company.id.
sectorstringoptional
Company sector, spelled as company.industry returns it.
benefitstringoptional
Company benefit, spelled as company.benefits returns it.
employmentTypeenumoptional
Employment type. Values: fullTime, partTime, internship, contract, freelance, projectBased, volunteer, temporary.
workArrangementenumoptional
Where the role is worked from. Values: onSite, hybrid, remote.
educationLevelnumberoptional
Dealls' numeric education-level code, as returned in candidatePreference.educationLevelCodes.
highSalaryenumoptional
Only roles paying above 30 million IDR. Values: true, false.
statusenumoptional
Posting status. Default active. Values: active, paused.
sortenumoptional
Sort key. Default mostRelevant. Values: mostRelevant, createdAt, updatedAt, mostRecentAndLeastApplicant, highestSalary, publishedAt.
sortDirectionenumoptional
Sort direction. Default desc. Values: asc, desc.
pagenumberoptional
Page number. Default 1.
limitnumberoptional
Results per page. Default 20, max 50.

Request

curl -X GET "https://api.zapi.ink/v1/jobs:dealls/jobs-by-city?city=158&query=marketing&company=6a4dcfe4417e2a001267622e&sector=Banking&benefit=Flexible+working+environment&employmentType=internship&workArrangement=hybrid&educationLevel=6&highSalary=true&status=active&sort=publishedAt&sortDirection=desc&page=1&limit=20" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "city": 158,
  "page": 1,
  "count": 0,
  "items": [],
  "limit": 5,
  "query": "marketing",
  "total": 0,
  "hasMore": false,
  "nextPage": null,
  "provider": "dealls"
}
GET
Jobs By Company/v1/jobs:dealls/jobs-by-company
14 params

Dealls openings at one company — pre-binds `companyIds[]=<id>` on /v1/explore-job/job. Measured against the 1229-job baseline: companyIds[]=6a4dcfe4417e2a001267622e → 6.

Parameters

companystringrequired
Company id, as returned in company.id.
querystringoptional
Free-text search across job titles.
citynumberoptional
City id, as returned in location.cityId.
sectorstringoptional
Company sector, spelled as company.industry returns it.
benefitstringoptional
Company benefit, spelled as company.benefits returns it.
employmentTypeenumoptional
Employment type. Values: fullTime, partTime, internship, contract, freelance, projectBased, volunteer, temporary.
workArrangementenumoptional
Where the role is worked from. Values: onSite, hybrid, remote.
educationLevelnumberoptional
Dealls' numeric education-level code, as returned in candidatePreference.educationLevelCodes.
highSalaryenumoptional
Only roles paying above 30 million IDR. Values: true, false.
statusenumoptional
Posting status. Default active. Values: active, paused.
sortenumoptional
Sort key. Default mostRelevant. Values: mostRelevant, createdAt, updatedAt, mostRecentAndLeastApplicant, highestSalary, publishedAt.
sortDirectionenumoptional
Sort direction. Default desc. Values: asc, desc.
pagenumberoptional
Page number. Default 1.
limitnumberoptional
Results per page. Default 20, max 50.

Request

curl -X GET "https://api.zapi.ink/v1/jobs:dealls/jobs-by-company?company=6a4dcfe4417e2a001267622e&query=marketing&city=158&sector=Banking&benefit=Flexible+working+environment&employmentType=internship&workArrangement=hybrid&educationLevel=6&highSalary=true&status=active&sort=publishedAt&sortDirection=desc&page=1&limit=20" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 0,
  "items": [],
  "limit": 5,
  "query": "marketing",
  "total": 0,
  "company": "6a4dcfe4417e2a001267622e",
  "hasMore": false,
  "nextPage": null,
  "provider": "dealls"
}
GET
Jobs By Employment Type/v1/jobs:dealls/jobs-by-employment-type
14 params

Dealls openings of one employment type — pre-binds `employmentTypes=<type>` on /v1/explore-job/job. Measured against the 1229-job baseline: fullTime → 863, internship → 101.

Parameters

employmentTypeenumrequired
Employment type. Values: fullTime, partTime, internship, contract, freelance, projectBased, volunteer, temporary.
querystringoptional
Free-text search across job titles.
citynumberoptional
City id, as returned in location.cityId.
companystringoptional
Company id, as returned in company.id.
sectorstringoptional
Company sector, spelled as company.industry returns it.
benefitstringoptional
Company benefit, spelled as company.benefits returns it.
workArrangementenumoptional
Where the role is worked from. Values: onSite, hybrid, remote.
educationLevelnumberoptional
Dealls' numeric education-level code, as returned in candidatePreference.educationLevelCodes.
highSalaryenumoptional
Only roles paying above 30 million IDR. Values: true, false.
statusenumoptional
Posting status. Default active. Values: active, paused.
sortenumoptional
Sort key. Default mostRelevant. Values: mostRelevant, createdAt, updatedAt, mostRecentAndLeastApplicant, highestSalary, publishedAt.
sortDirectionenumoptional
Sort direction. Default desc. Values: asc, desc.
pagenumberoptional
Page number. Default 1.
limitnumberoptional
Results per page. Default 20, max 50.

Request

curl -X GET "https://api.zapi.ink/v1/jobs:dealls/jobs-by-employment-type?employmentType=internship&query=marketing&city=158&company=6a4dcfe4417e2a001267622e&sector=Banking&benefit=Flexible+working+environment&workArrangement=hybrid&educationLevel=6&highSalary=true&status=active&sort=publishedAt&sortDirection=desc&page=1&limit=20" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 0,
  "items": [],
  "limit": 5,
  "query": "marketing",
  "total": 0,
  "hasMore": false,
  "nextPage": null,
  "provider": "dealls",
  "employmentType": "internship"
}
GET
Jobs By Sector/v1/jobs:dealls/jobs-by-sector
14 params

Dealls openings in one industry — pre-binds `sectors=<name>` on /v1/explore-job/job. Measured against the 1229-job baseline: sectors=Banking → 45, sectors=education → 72.

Parameters

sectorstringrequired
Company sector, spelled as company.industry returns it.
querystringoptional
Free-text search across job titles.
citynumberoptional
City id, as returned in location.cityId.
companystringoptional
Company id, as returned in company.id.
benefitstringoptional
Company benefit, spelled as company.benefits returns it.
employmentTypeenumoptional
Employment type. Values: fullTime, partTime, internship, contract, freelance, projectBased, volunteer, temporary.
workArrangementenumoptional
Where the role is worked from. Values: onSite, hybrid, remote.
educationLevelnumberoptional
Dealls' numeric education-level code, as returned in candidatePreference.educationLevelCodes.
highSalaryenumoptional
Only roles paying above 30 million IDR. Values: true, false.
statusenumoptional
Posting status. Default active. Values: active, paused.
sortenumoptional
Sort key. Default mostRelevant. Values: mostRelevant, createdAt, updatedAt, mostRecentAndLeastApplicant, highestSalary, publishedAt.
sortDirectionenumoptional
Sort direction. Default desc. Values: asc, desc.
pagenumberoptional
Page number. Default 1.
limitnumberoptional
Results per page. Default 20, max 50.

Request

curl -X GET "https://api.zapi.ink/v1/jobs:dealls/jobs-by-sector?sector=Banking&query=marketing&city=158&company=6a4dcfe4417e2a001267622e&benefit=Flexible+working+environment&employmentType=internship&workArrangement=hybrid&educationLevel=6&highSalary=true&status=active&sort=publishedAt&sortDirection=desc&page=1&limit=20" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 0,
  "items": [],
  "limit": 5,
  "query": "marketing",
  "total": 0,
  "sector": "Banking",
  "hasMore": false,
  "nextPage": null,
  "provider": "dealls"
}
GET
Remote Jobs/v1/jobs:dealls/remote-jobs
13 params

Dealls work-from-home openings — pre-binds `workplaceTypes=remote` on /v1/explore-job/job. Measured against the 1229-job baseline: 1229 → 15. Hybrid roles are a separate value (129) and are

Parameters

querystringoptional
Free-text search across job titles.
citynumberoptional
City id, as returned in location.cityId.
companystringoptional
Company id, as returned in company.id.
sectorstringoptional
Company sector, spelled as company.industry returns it.
benefitstringoptional
Company benefit, spelled as company.benefits returns it.
employmentTypeenumoptional
Employment type. Values: fullTime, partTime, internship, contract, freelance, projectBased, volunteer, temporary.
educationLevelnumberoptional
Dealls' numeric education-level code, as returned in candidatePreference.educationLevelCodes.
highSalaryenumoptional
Only roles paying above 30 million IDR. Values: true, false.
statusenumoptional
Posting status. Default active. Values: active, paused.
sortenumoptional
Sort key. Default mostRelevant. Values: mostRelevant, createdAt, updatedAt, mostRecentAndLeastApplicant, highestSalary, publishedAt.
sortDirectionenumoptional
Sort direction. Default desc. Values: asc, desc.
pagenumberoptional
Page number. Default 1.
limitnumberoptional
Results per page. Default 20, max 50.

Request

curl -X GET "https://api.zapi.ink/v1/jobs:dealls/remote-jobs?query=marketing&city=158&company=6a4dcfe4417e2a001267622e&sector=Banking&benefit=Flexible+working+environment&employmentType=internship&educationLevel=6&highSalary=true&status=active&sort=publishedAt&sortDirection=desc&page=1&limit=20" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 0,
  "items": [],
  "limit": 5,
  "query": "marketing",
  "total": 0,
  "hasMore": false,
  "nextPage": null,
  "provider": "dealls"
}
GET
Search/v1/jobs:dealls/search
14 params

Dealls job search — open JSON API, rung 1 (direct) per recon, 90-600ms. Upstream: api.sejutacita.id/v1/explore-job/job, envelope {data:{docs,totalDocs,totalPages,page},code}.

Parameters

querystringoptional
Free-text search across job titles.
citynumberoptional
City id, as returned in location.cityId.
companystringoptional
Company id, as returned in company.id.
sectorstringoptional
Company sector, spelled as company.industry returns it.
benefitstringoptional
Company benefit, spelled as company.benefits returns it.
employmentTypeenumoptional
Employment type. Values: fullTime, partTime, internship, contract, freelance, projectBased, volunteer, temporary.
workArrangementenumoptional
Where the role is worked from. Values: onSite, hybrid, remote.
educationLevelnumberoptional
Dealls' numeric education-level code, as returned in candidatePreference.educationLevelCodes.
highSalaryenumoptional
Only roles paying above 30 million IDR. Values: true, false.
statusenumoptional
Posting status. Default active. Values: active, paused.
sortenumoptional
Sort key. Default mostRelevant. Values: mostRelevant, createdAt, updatedAt, mostRecentAndLeastApplicant, highestSalary, publishedAt.
sortDirectionenumoptional
Sort direction. Default desc. Values: asc, desc.
pagenumberoptional
Page number. Default 1.
limitnumberoptional
Results per page. Default 20, max 50.

Request

curl -X GET "https://api.zapi.ink/v1/jobs:dealls/search?query=marketing&city=158&company=6a4dcfe4417e2a001267622e&sector=Banking&benefit=Flexible+working+environment&employmentType=internship&workArrangement=hybrid&educationLevel=6&highSalary=true&status=active&sort=publishedAt&sortDirection=desc&page=1&limit=20" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 0,
  "items": [],
  "limit": 5,
  "query": "marketing",
  "total": 0,
  "hasMore": false,
  "nextPage": null,
  "provider": "dealls"
}

Related APIs

More in jobs

LinkedIn Jobs

jobslinkedin

LinkedIn job search through its public guest API — search, job detail, company and location typeahead, no account required.

785785 calls so far10mResponses cached for 10m
Busy: 10+ calls so far

Jobstreet

jobsjobstreet

Jobstreet Indonesia via its GraphQL API — job search, detail, counts, classifications and location suggestions with the full filter surface.

205205 calls so far10mResponses cached for 10m
Busy: 10+ calls so far

Grab Careers

jobsgrab

Grab career vacancies across Southeast Asia — search, job detail and the live filter vocabulary, sourced from Grab's full job catalogue.

8383 calls so far1hResponses cached for 1h
Busy: 10+ calls so far

Glassdoor

jobsglassdoor

Glassdoor job search — salary bands, seniority, company rating and job-type filters, read from its structured page data.

170170 calls so far10mResponses cached for 10m
Busy: 10+ calls so far

Glints

jobsglints

Glints job board — keyword search plus a paged browse over its full listing set, with education, work-arrangement and experience filters.

118118 calls so far10mResponses cached for 10m
Busy: 10+ calls so far

Loker.id

jobsloker-id

Loker.id job board — search plus job-type and education path routes, with the filter vocabulary the site itself publishes.

102102 calls so far10mResponses cached for 10m
Busy: 10+ calls so far
zapi.

One key, one response shape. We keep the scrapers working.

Get an API key
ProductBrowse APIsPricingDocsMCP server
DevelopersSDK on npmGitHubOpenAPI specllms.txt
SupportReport an issueDiscord
LegalTermsPrivacyCookiesAUPRefunds
© 2026 ZapiPublic web data, one API.
zapi.