Dealls job board — search by sector, employment type, city, company and salary band, with skills and company detail per job.
jobnot measuredjobs-by-citynot measuredjobs-by-companynot measuredjobs-by-employment-typenot measuredjobs-by-sectornot measuredremote-jobsnot measuredsearchnot measured/v1/jobs:dealls/job/:id10m cache1 paramchecking key…// 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);curl -X GET "https://api.zpi.web.id/v1/jobs:dealls/job/6a97ec54e2b28600127932b8" \
-H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"/v1/jobs:dealls/job/:idDealls 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.idstringrequiredin pathjobId.curl -X GET "https://api.zpi.web.id/v1/jobs:dealls/job/6a97ec54e2b28600127932b8" \
-H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"{
"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
}/v1/jobs:dealls/jobs-by-cityDealls openings in one city — pre-binds `cityIds=<id>` on /v1/explore-job/job. Measured against the 1229-job baseline: cityIds=158 (Jakarta Selatan) → 254.citynumberrequiredlocation.cityId.querystringoptionalcompanystringoptionalcompany.id.sectorstringoptionalcompany.industry returns it.benefitstringoptionalcompany.benefits returns it.employmentTypeenumoptionalworkArrangementenumoptionaleducationLevelnumberoptionalcandidatePreference.educationLevelCodes.highSalaryenumoptionalstatusenumoptionalsortenumoptionalsortDirectionenumoptionalpagenumberoptionallimitnumberoptionalcurl -X GET "https://api.zpi.web.id/v1/jobs:dealls/jobs-by-city?city=158&query=marketing&company=6a4dcfe4417e2a001267622e§or=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"{
"city": 158,
"page": 1,
"count": 0,
"items": [],
"limit": 5,
"query": "marketing",
"total": 0,
"hasMore": false,
"nextPage": null,
"provider": "dealls"
}/v1/jobs:dealls/jobs-by-companyDealls openings at one company — pre-binds `companyIds[]=<id>` on /v1/explore-job/job. Measured against the 1229-job baseline: companyIds[]=6a4dcfe4417e2a001267622e → 6.companystringrequiredcompany.id.querystringoptionalcitynumberoptionallocation.cityId.sectorstringoptionalcompany.industry returns it.benefitstringoptionalcompany.benefits returns it.employmentTypeenumoptionalworkArrangementenumoptionaleducationLevelnumberoptionalcandidatePreference.educationLevelCodes.highSalaryenumoptionalstatusenumoptionalsortenumoptionalsortDirectionenumoptionalpagenumberoptionallimitnumberoptionalcurl -X GET "https://api.zpi.web.id/v1/jobs:dealls/jobs-by-company?company=6a4dcfe4417e2a001267622e&query=marketing&city=158§or=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"{
"page": 1,
"count": 0,
"items": [],
"limit": 5,
"query": "marketing",
"total": 0,
"company": "6a4dcfe4417e2a001267622e",
"hasMore": false,
"nextPage": null,
"provider": "dealls"
}/v1/jobs:dealls/jobs-by-employment-typeDealls openings of one employment type — pre-binds `employmentTypes=<type>` on /v1/explore-job/job. Measured against the 1229-job baseline: fullTime → 863, internship → 101.employmentTypeenumrequiredquerystringoptionalcitynumberoptionallocation.cityId.companystringoptionalcompany.id.sectorstringoptionalcompany.industry returns it.benefitstringoptionalcompany.benefits returns it.workArrangementenumoptionaleducationLevelnumberoptionalcandidatePreference.educationLevelCodes.highSalaryenumoptionalstatusenumoptionalsortenumoptionalsortDirectionenumoptionalpagenumberoptionallimitnumberoptionalcurl -X GET "https://api.zpi.web.id/v1/jobs:dealls/jobs-by-employment-type?employmentType=internship&query=marketing&city=158&company=6a4dcfe4417e2a001267622e§or=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"{
"page": 1,
"count": 0,
"items": [],
"limit": 5,
"query": "marketing",
"total": 0,
"hasMore": false,
"nextPage": null,
"provider": "dealls",
"employmentType": "internship"
}/v1/jobs:dealls/jobs-by-sectorDealls 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.sectorstringrequiredcompany.industry returns it.querystringoptionalcitynumberoptionallocation.cityId.companystringoptionalcompany.id.benefitstringoptionalcompany.benefits returns it.employmentTypeenumoptionalworkArrangementenumoptionaleducationLevelnumberoptionalcandidatePreference.educationLevelCodes.highSalaryenumoptionalstatusenumoptionalsortenumoptionalsortDirectionenumoptionalpagenumberoptionallimitnumberoptionalcurl -X GET "https://api.zpi.web.id/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"{
"page": 1,
"count": 0,
"items": [],
"limit": 5,
"query": "marketing",
"total": 0,
"sector": "Banking",
"hasMore": false,
"nextPage": null,
"provider": "dealls"
}/v1/jobs:dealls/remote-jobsDealls 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 arequerystringoptionalcitynumberoptionallocation.cityId.companystringoptionalcompany.id.sectorstringoptionalcompany.industry returns it.benefitstringoptionalcompany.benefits returns it.employmentTypeenumoptionaleducationLevelnumberoptionalcandidatePreference.educationLevelCodes.highSalaryenumoptionalstatusenumoptionalsortenumoptionalsortDirectionenumoptionalpagenumberoptionallimitnumberoptionalcurl -X GET "https://api.zpi.web.id/v1/jobs:dealls/remote-jobs?query=marketing&city=158&company=6a4dcfe4417e2a001267622e§or=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"{
"page": 1,
"count": 0,
"items": [],
"limit": 5,
"query": "marketing",
"total": 0,
"hasMore": false,
"nextPage": null,
"provider": "dealls"
}/v1/jobs:dealls/searchDealls 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}.querystringoptionalcitynumberoptionallocation.cityId.companystringoptionalcompany.id.sectorstringoptionalcompany.industry returns it.benefitstringoptionalcompany.benefits returns it.employmentTypeenumoptionalworkArrangementenumoptionaleducationLevelnumberoptionalcandidatePreference.educationLevelCodes.highSalaryenumoptionalstatusenumoptionalsortenumoptionalsortDirectionenumoptionalpagenumberoptionallimitnumberoptionalcurl -X GET "https://api.zpi.web.id/v1/jobs:dealls/search?query=marketing&city=158&company=6a4dcfe4417e2a001267622e§or=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"{
"page": 1,
"count": 0,
"items": [],
"limit": 5,
"query": "marketing",
"total": 0,
"hasMore": false,
"nextPage": null,
"provider": "dealls"
}