# KitaLulus — Zapi reference > KitaLulus job board — keyword and location search plus location, specialisation, industry, type and education facet routes. **Base URL:** `https://api.zpi.web.id` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a free key at https://zpi.web.id/dashboard/keys. **Response envelope:** `{ content, message, errors }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zpi.web.id/api/jobs/kitalulus - Endpoint catalog: https://zpi.web.id/category/jobs - Concise index: https://zpi.web.id/llms.txt - Full reference: https://zpi.web.id/llms-full.txt --- ## KitaLulus **Category:** jobs · **Slug:** `kitalulus` **Detail page:** https://zpi.web.id/api/jobs/kitalulus KitaLulus job board — keyword and location search plus location, specialisation, industry, type and education facet routes. **Tags:** kitalulus, lowongan, karir, indonesia ### Filters The facet vocabulary KitaLulus publishes in its own sitemaps. Rung 1 (direct). - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/jobs:kitalulus/filters` - **Cache TTL:** 600s **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zpi.web.id/v1/jobs:kitalulus/filters" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/jobs:kitalulus/filters", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/jobs:kitalulus/filters", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 570, "items": [ { "path": "/lowongan/in-jakarta-barat", "facet": "city", "value": "jakarta-barat" }, { "path": "/lowongan/in-jakarta-pusat", "facet": "city", "value": "jakarta-pusat" }, { "path": "/lowongan/in-jakarta-selatan", "facet": "city", "value": "jakarta-selatan" }, { "path": "/lowongan/in-jakarta-timur", "facet": "city", "value": "jakarta-timur" }, { "path": "/lowongan/in-jakarta-utara", "facet": "city", "value": "jakarta-utara" }, { "path": "/lowongan/in-kabupaten-aceh-barat", "facet": "city", "value": "kabupaten-aceh-barat" } ], "provider": "kitalulus" } ``` --- ### Job KitaLulus job detail. Rung 1 (direct), 170-210ms. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/jobs:kitalulus/job/:slug` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `slug` | string | path | yes | Job slug, exactly as `search` returns it. | **cURL:** ```bash curl "https://api.zpi.web.id/v1/jobs:kitalulus/job/:slug" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/jobs:kitalulus/job/:slug", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/jobs:kitalulus/job/:slug", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "url": "https://www.kitalulus.com/lowongan/detail/outlet-crew-ynhr", "slug": "outlet-crew-ynhr", "perks": [ "Gaji Pokok", "Bonus kinerja", "BPJS", "Upah lembur", "Pelatihan/kursus", "Lainnya" ], "title": "Outlet Crew", "salary": { "max": 3100000, "min": 2500000, "label": "Rp 2.500.000 - Rp 3.100.000", "shown": true, "currency": "IDR" }, "skills": [ "Kepatuhan terhadap Standar Kebersihan", "Keterampilan Pelayanan Minuman Dingin", "Keterampilan Layanan Pelanggan", "Keterampilan Pelayanan Makanan dan Minuman", "Kontrol Stok Bahan Baku" ], "company": { "url": "https://www.kitalulus.com/company/moi-grup-5liv", "code": "moi-grup-5liv", "name": "Langkah Kecil Group" }, "isClosed": false, "location": { "city": "Kota Surabaya", "region": "Jawa Timur" }, "provider": "kitalulus", "workDays": "Senin - Minggu", "workHours": "07:00 - 23:00", "description": "TENTANG PERUSAHAAN\nKami adalah perusahaan F&B nasional dengan jaringan outlet digital yang berkembang pesat di berbagai kota besar Indonesia. Kami percaya pertumbuhan besar dimulai dari hasil kecil yang konsisten setiap hari. Kami mencari Crew yang disiplin, cepat belajar, dan siap memberikan hasil nyata melalui pelayanan pelanggan berkualitas.\n-\nPOSISI\nOutlet Crew – Operations Division\nLevel: Melapor ke Outlet Leader\nLokasi: Outlet\nStatus: Daily Worker / Paruh Waktu (maks. 20 hari kerja/bulan)\nCakupan: ±1–3 outlet\n-\nPERAN UTAMA\nMenjadi bagian dari tim outlet yang menghasilkan produk dan layanan berkualitas setiap hari. Fokus pada kecepatan, ketepatan, dan kepuasan pelanggan, bukan sekadar menjalankan rutinitas.\n-\nKEY RESULT AREAS (KRA)\nKualitas Produk & Layanan (Operational Impact, Harian)\nMenyajikan produk dengan standar rasa dan tampilan konsisten, serta melayani pelanggan dan driver dengan cepat dan ramah. Indikator: Rating ≥4.7/5, kesalahan pesanan <1%, waktu penyajian ≤5 menit.\nKepatuhan & Kebersihan Outlet {System Adherence, Mingguan)\nMenjaga kebersihan area kerja dan menjalankan SOP setiap shift. Indikator: Audit kebersihan ≥90%, kepatuhan SOP 100%, kehadiran tepat waktu ≥95%.\n-\nPROFIL KANDIDAT IDEAL\nPengalaman min. 6 bulan di operasional F&B atau retail.\nPendidikan min. SMA/SMK atau sederajat.\nDisiplin, tanggap, dan mampu bekerja cepat.\nSiap bekerja dalam sistem shift.\nBerorientasi pada hasil dan kepuasan pelanggan.\nMemiliki semangat belajar dan komitmen terhadap kualitas.\n-\nNILAI & BUDAYA KERJA\nDisiplin Setiap Hari – Datang tepat waktu, fokus bekerja.\nSpeed & Service – Cepat eksekusi, ramah melayani.\nResponsibility – Menjaga kualitas seolah milik sendiri.\nTeam Spirit – Saling bantu demi hasil terbaik outlet.\n-\nTUJUAN POSISI\nMemberikan hasil terbaik setiap hari melalui pelayanan cepat, produk berkualitas, dan kebersihan area kerja, sehingga outlet mencapai target penjualan dan mempertahankan kepuasan pelanggan.", "educationLevel": "Minimal SMA/SMK/Sederajat", "employmentType": "Full-Time", "qualifications": [ "Semua jenis kelamin", "Maksimal 28 Tahun", "Min. 1 tahun pengalaman" ], "workArrangement": "Kerja di lapangan (Fieldwork)" } ``` --- ### Jobs By Facet KitaLulus jobs pre-bound to one facet. Rung 1 (direct), ~270ms. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/jobs:kitalulus/jobs-by-facet/:facet/:value` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `facet` | enum(city|province|position|industry|employmentType|education) | path | yes | Which facet to narrow by. | | `value` | string | path | yes | Facet value, without its path prefix. Call `filters` for the accepted values. | | `query` | string | query | no | Free-text search within the facet. | **cURL:** ```bash curl "https://api.zpi.web.id/v1/jobs:kitalulus/jobs-by-facet/:facet/:value?query=manager" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/jobs:kitalulus/jobs-by-facet/:facet/:value?query=manager", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/jobs:kitalulus/jobs-by-facet/:facet/:value?query=manager", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 30, "facet": "position", "items": [ { "url": "https://www.kitalulus.com/lowongan/detail/outlet-manager-aga3", "slug": "outlet-manager-aga3", "title": "OUTLET MANAGER", "salary": { "label": "Dapat Dinegosiasikan", "shown": false }, "company": { "name": "Piccadilly Dine & Brew" }, "location": { "city": "Kota Surabaya", "region": "Jawa Timur" }, "isFeatured": false, "updatedLabel": "hari ini", "educationLevel": "Minimal S1" }, { "url": "https://www.kitalulus.com/lowongan/detail/account-manager-bt8s", "slug": "account-manager-bt8s", "title": "Account Manager", "salary": { "max": 12000000, "min": 10000000, "label": "Rp 10.000.000 - Rp 12.000.000", "shown": true, "currency": "IDR" }, "company": { "name": "PT Anakmuda Doyan Kerja" }, "location": { "city": "Kabupaten Tangerang", "region": "Banten" }, "isFeatured": false, "updatedLabel": "1 minggu yang lalu", "educationLevel": "Minimal S1" }, { "url": "https://www.kitalulus.com/lowongan/detail/marketing-manager-8oa8", "slug": "marketing-manager-8oa8", "title": "Marketing Manager", "salary": { "label": "Dapat Dinegosiasikan", "shown": false }, "company": { "name": "PT CREATIVE SOLUTION INDONESIA" }, "location": { "city": "Kota Surabaya", "region": "Jawa Timur" }, "updatedAt": "2026-08-23", "isFeatured": false, "updatedLabel": "pada 23 Aug 2026", "educationLevel": "Minimal SMA/SMK/Sederajat" }, { "url": "https://www.kitalulus.com/lowongan/detail/sales-manager-b4mj", "slug": "sales-manager-b4mj", "title": "Sales Manager", "salary": { "label": "Dapat Dinegosiasikan", "shown": false }, "company": { "name": "Forte Fitness Club" }, "location": { "city": "Kota Bogor", "region": "Jawa Barat" }, "updatedAt": "2026-08-08", "isFeatured": false, "updatedLabel": "pada 8 Aug 2026", "educationLevel": "Minimal S1" }, { "url": "https://www.kitalulus.com/lowongan/detail/account-manager-mvwd", "slug": "account-manager-mvwd", "title": "Account Manager", "salary": { "label": "Dapat Dinegosiasikan", "shown": false }, "company": { "name": "Nextrans" }, "location": { "city": "Jakarta Barat", "region": "DKI Jakarta" }, "updatedAt": "2026-08-07", "isFeatured": false, "updatedLabel": "pada 7 Aug 2026", "educationLevel": "Minimal S1" }, { "url": "https://www.kitalulus.com/lowongan/detail/sales-manager-5jiz", "slug": "sales-manager-5jiz", "title": "SALES MANAGER", "salary": { "label": "Dapat Dinegosiasikan", "shown": false }, "company": { "name": "PT. Subuh Utama Willindo" }, "location": { "city": "Kota Palembang", "region": "Sumatra Selatan" }, "updatedAt": "2026-08-05", "isFeatured": false, "updatedLabel": "pada 5 Aug 2026", "educationLevel": "Minimal D3/D4" } ], "query": "manager", "value": "sales", "provider": "kitalulus" } ``` --- ### Search KitaLulus job search. Rung 1 (direct), 130-280ms. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/jobs:kitalulus/search` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `query` | string | query | no | Free-text search across job titles. | | `location` | string | query | no | City or province name. | **cURL:** ```bash curl "https://api.zpi.web.id/v1/jobs:kitalulus/search?query=sales&location=jakarta" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/jobs:kitalulus/search?query=sales&location=jakarta", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/jobs:kitalulus/search?query=sales&location=jakarta", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 31, "items": [ { "url": "https://www.kitalulus.com/lowongan/detail/misi-seru-remote-hadiah-puluhan-ribu-freelance-dar-xxja", "slug": "misi-seru-remote-hadiah-puluhan-ribu-freelance-dar-xxja", "title": "Lowongan Admin Freelance WFH – Penghasilan hingga Rp200 Ribu - WAF", "salary": { "label": "Dapat Dinegosiasikan", "shown": false }, "company": { "name": "Misi Seru - KitaLulus" }, "location": { "city": "Jakarta Selatan", "region": "DKI Jakarta" }, "isFeatured": true, "updatedLabel": "hari ini", "educationLevel": "Minimal SMA/SMK/Sederajat" }, { "url": "https://www.kitalulus.com/lowongan/detail/sales-marketing-ft0e", "slug": "sales-marketing-ft0e", "title": "Sales & Marketing", "salary": { "max": 5500000, "min": 4500000, "label": "Rp 4.500.000 - Rp 5.500.000", "shown": true, "currency": "IDR" }, "company": { "name": "GOUTAMA WEIGHT & TESTING" }, "location": { "city": "Jakarta Timur", "region": "DKI Jakarta" }, "isFeatured": false, "updatedLabel": "hari ini", "educationLevel": "Minimal SMA/SMK/Sederajat" }, { "url": "https://www.kitalulus.com/lowongan/detail/sales-marketing-ewry", "slug": "sales-marketing-ewry", "title": "Sales Marketing", "salary": { "max": 10000000, "min": 6000000, "label": "Rp 6.000.000 - Rp 10.000.000", "shown": true, "currency": "IDR" }, "company": { "name": "Arrow Cargo" }, "location": { "city": "Jakarta Utara", "region": "DKI Jakarta" }, "isFeatured": false, "updatedLabel": "1 hari yang lalu", "educationLevel": "Minimal S1" }, { "url": "https://www.kitalulus.com/lowongan/detail/sales-marketing-4gbw", "slug": "sales-marketing-4gbw", "title": "Sales Marketing", "salary": { "label": "Dapat Dinegosiasikan", "shown": false }, "company": { "name": "Bumbee Collection" }, "location": { "city": "Jakarta Timur", "region": "DKI Jakarta" }, "isFeatured": false, "updatedLabel": "4 hari yang lalu", "educationLevel": "Minimal SMA/SMK/Sederajat" }, { "url": "https://www.kitalulus.com/lowongan/detail/sales-marketing-5x06", "slug": "sales-marketing-5x06", "title": "Sales Marketing", "salary": { "label": "Dapat Dinegosiasikan", "shown": false }, "company": { "name": "PT Bintang Emas Sukses Terang (PT. BEST)" }, "location": { "city": "Jakarta Barat", "region": "DKI Jakarta" }, "updatedAt": "2026-08-08", "isFeatured": false, "updatedLabel": "pada 8 Aug 2026", "educationLevel": "Minimal SMA/SMK/Sederajat" }, { "url": "https://www.kitalulus.com/lowongan/detail/sales-marketing-lo0k", "slug": "sales-marketing-lo0k", "title": "Sales Marketing", "salary": { "label": "Dapat Dinegosiasikan", "shown": false }, "company": { "name": "AT Gadget" }, "location": { "city": "Jakarta Selatan", "region": "DKI Jakarta" }, "updatedAt": "2025-03-02", "isFeatured": false, "updatedLabel": "pada 2 Mar 2025", "educationLevel": "Minimal SMA/SMK/Sederajat" } ], "query": "sales", "location": "jakarta", "provider": "kitalulus" } ``` --- _Generated: 2026-09-02T14:23:46.970Z_