# Resep Koki — Zapi reference > Scraper resep masakan Indonesia dari Resep Koki — pencarian, detail resep lengkap (bahan, langkah, durasi), dan resep terbaru. **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:** `{ status, message, content }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zpi.web.id/api/food/resepkoki - Endpoint catalog: https://zpi.web.id/category/food - Concise index: https://zpi.web.id/llms.txt - Full reference: https://zpi.web.id/llms-full.txt --- ## Resep Koki **Category:** food · **Slug:** `resepkoki` **Detail page:** https://zpi.web.id/api/food/resepkoki Scraper resep masakan Indonesia dari Resep Koki — pencarian, detail resep lengkap (bahan, langkah, durasi), dan resep terbaru. **Tags:** food, recipe, indonesia, masakan ### Search Cari resep berdasarkan keyword dengan pagination. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/food:resepkoki/search` - **Cache TTL:** 180s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `query` | string | query | yes | Keyword pencarian resep | | `page` | number | query | no | Halaman hasil (default 1, max 50) | **cURL:** ```bash curl "https://api.zpi.web.id/v1/food:resepkoki/search?query=ayam%20goreng&page=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/food:resepkoki/search?query=ayam%20goreng&page=1", { 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/food:resepkoki/search?query=ayam%20goreng&page=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 13, "items": [ { "url": "https://resepkoki.id/resep/resep-ayam-goreng-madu/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2021/12/Resep-Ayam-Goreng-Madu.jpg?fit=640%2C853&ssl=1", "title": "Ayam Goreng Madu", "source": "resepkoki.id" }, { "url": "https://resepkoki.id/resep/resep-ayam-goreng-oatmeal/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2021/03/Resep-Ayam-Goreng-Oatmeal.jpg?fit=640%2C853&ssl=1", "title": "Ayam Goreng Oatmeal", "source": "resepkoki.id" }, { "url": "https://resepkoki.id/resep/resep-ayam-goreng-sasando/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2020/02/Resep-Ayam-Goreng-Sasando.jpg?fit=640%2C742&ssl=1", "title": "Ayam Goreng Sasando", "source": "resepkoki.id" }, { "url": "https://resepkoki.id/resep/resep-ayam-goreng-cabe/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2020/01/Resep-Ayam-Goreng-Cabe.jpg?fit=640%2C642&ssl=1", "title": "Ayam Goreng Cabe", "source": "resepkoki.id" }, { "url": "https://resepkoki.id/resep/resep-ayam-goreng-terasi/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2020/01/Resep-Ayam-Goreng-Terasi.jpg?fit=640%2C800&ssl=1", "title": "Ayam Goreng Terasi", "source": "resepkoki.id" }, { "url": "https://resepkoki.id/resep/resep-ayam-goreng-bawang/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2018/01/Resep-Ayam-Goreng-Bawang.jpg?fit=640%2C794&ssl=1", "title": "Ayam Goreng Bawang", "source": "resepkoki.id" }, { "url": "https://resepkoki.id/resep/resep-ayam-goreng-kfc-krispi/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2016/12/Resep-Ayam-Goreng-KFC.jpg?fit=640%2C610&ssl=1", "title": "Ayam Goreng KFC Krispi", "source": "resepkoki.id" }, { "url": "https://resepkoki.id/resep/resep-ayam-goreng-kalasan/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2017/12/Resep-Ayam-kalasan.jpg?fit=640%2C800&ssl=1", "title": "Ayam Goreng Kalasan", "source": "resepkoki.id" }, { "url": "https://resepkoki.id/resep/resep-ayam-goreng-tulang-lunak/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2016/04/Resep-Ayam-goreng-tulang-lunak.jpg?fit=640%2C624&ssl=1", "title": "Ayam Goreng Tulang Lunak", "source": "resepkoki.id" }, { "url": "https://resepkoki.id/resep/resep-ayam-goreng-lengkuas/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2016/10/Resep-Ayam-Goreng-Lengkuas.jpg?fit=640%2C800&ssl=1", "title": "Ayam Goreng Lengkuas", "source": "resepkoki.id" }, { "url": "https://resepkoki.id/resep/resep-ayam-goreng-kecap/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2017/01/Resep-Ayam-Goreng-Kecap.jpg?fit=640%2C622&ssl=1", "title": "Ayam Goreng Kecap", "source": "resepkoki.id" }, { "url": "https://resepkoki.id/resep/resep-ayam-goreng-tepung/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2018/08/Resep-Ayam-Goreng-Tepung.jpg?fit=640%2C960&ssl=1", "title": "Ayam Goreng Tepung", "source": "resepkoki.id" }, { "url": "https://resepkoki.id/resep/resep-ayam-goreng-padang/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2018/08/Resep-Ayam-Goreng-Padang.jpg?fit=640%2C960&ssl=1", "title": "Ayam Goreng Padang", "source": "resepkoki.id" } ], "hasMore": true, "nextPage": 2 } ``` --- ### Detail Resep Ambil detail lengkap resep dari URL — bahan, langkah, durasi, porsi. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/food:resepkoki/detail` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `url` | string | query | yes | URL resep dari resepkoki.id | **cURL:** ```bash curl "https://api.zpi.web.id/v1/food:resepkoki/detail?url=https%3A%2F%2Fresepkoki.id%2Fresep%2Fresep-ayam-kecap%2F" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/food:resepkoki/detail?url=https%3A%2F%2Fresepkoki.id%2Fresep%2Fresep-ayam-kecap%2F", { 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/food:resepkoki/detail?url=https%3A%2F%2Fresepkoki.id%2Fresep%2Fresep-ayam-kecap%2F", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "url": "https://resepkoki.id/resep/resep-ayam-kecap/", "tags": [ "Resep Ayam Kecap" ], "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2019/11/Ayam-Kecap.jpg?fit=480%2C600&ssl=1", "steps": [ "Siapkan ayam yang sudah dicuci bersih. Kucuri jeruk nipis, beri garam, merica, diamkan 10-15 menit.", "Sambil menunggu marinasi, iris bawang merah, cincang halus bawang putih, potong tomat jadi 4-6 bagian, iris serong daun bawang.", "Panaskan minyak secukupnya (sedikit sedang). Dalam minyak yang sudah panas goreng ayam sampai setengah matang, sisihkan.", "Panaskan 3 sdm minyak, tumis bawang merah, bawang putih, jahe, sampai harum. Gunakan minyak sisa menggoreng ayam, jika minyak terlalu banyak bisa buang sebagian.", "Masukkan tomat, lalu ayam yang sudah digoreng, aduk rata.", "Kemudian masukkan air, beri kecap manis, kecap asin, merica bubuk, saus tiram, dan kecap inggris. Masak sampai mendidih, kemudian koreksi rasanya.", "Masak sampai mengental, sambil sesekali dibalik.", "Sesaat sebelum mematikan api, taburi dengan daun bawang.", "Siap disajikan." ], "title": "Resep Ayam Kecap", "author": "admin", "source": "resepkoki.id", "summary": "Manis gurih ayam kecap bisa bikin santapan keluarga jadi terasa spesial. Ayam kecap sebenarnya cukup mudah dibuat, bahan-bahannya juga sederhana saja. Kalau bosan dengan ayam goreng biasa, resep yang satu ini bisa jadi pilihan. Untuk rasa yang lebih lezat dan meresap, gunakan bagian paha atau paha atas.", "category": "Ayam - Daging", "servings": "6 Servings", "ingredients": [ "Ayam, potong sedang: 750 gram", "Bawang merah, iris tipis: 5 butir", "Bawang putih, cincang: 3 siung", "Daun bawang: 1 batang", "Jahe, geprek: 1 ruas", "Tomat, potong 8 bagian: 1 buah", "Kecap manis: 4 sdm", "Kecap asin: 1 sdm", "Garam: 1/2 sdt", "Saus tiram: 1 sdm", "Kecap inggris: 1 sdt", "Merica bubuk: 1/2 sdt", "Air: 250 ml", "Minyak goreng: secukupnya" ], "publishedAt": "2021-12-15" } ``` --- ### Resep Terbaru Daftar resep terbaru, optional filter kategori. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/food:resepkoki/latest` - **Cache TTL:** 180s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `category` | string | query | no | Slug kategori (opsional). Contoh: ayam-daging, ikan-seafood, sayur, kue-dessert. Kosongkan untuk homepage. | | `page` | number | query | no | Nomor halaman (default 1, max 50) | **cURL:** ```bash curl "https://api.zpi.web.id/v1/food:resepkoki/latest?category=ayam-daging&page=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/food:resepkoki/latest?category=ayam-daging&page=1", { 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/food:resepkoki/latest?category=ayam-daging&page=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 10, "items": [ { "url": "https://resepkoki.id/resep/resep-ayam-panidar/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2022/08/Resep-Ayam-Pinadar.jpg?fit=640%2C853&ssl=1", "title": "Ayam Panidar", "source": "resepkoki.id", "category": "ayam-daging" }, { "url": "https://resepkoki.id/resep/resep-toppa-lada/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2022/08/Resep-Toppa-Lada.jpg?fit=640%2C853&ssl=1", "title": "Toppa Lada", "source": "resepkoki.id", "category": "ayam-daging" }, { "url": "https://resepkoki.id/resep/resep-lawar-ayam/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2022/08/Resep-Lawar-Ayam.jpg?fit=640%2C853&ssl=1", "title": "Lawar Ayam", "source": "resepkoki.id", "category": "ayam-daging" }, { "url": "https://resepkoki.id/resep/resep-martabak-kari/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2022/08/Resep-Martabak-Kari.jpg?fit=640%2C853&ssl=1", "title": "Martabak Kari", "source": "resepkoki.id", "category": "ayam-daging" }, { "url": "https://resepkoki.id/resep/resep-sate-buntel/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2022/07/Resep-Sate-Buntel.jpg?fit=640%2C853&ssl=1", "title": "Sate Buntel", "source": "resepkoki.id", "category": "ayam-daging" }, { "url": "https://resepkoki.id/resep/resep-saus-barbeque/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2022/04/Resep-Saus-Barbeque.jpg?fit=640%2C853&ssl=1", "title": "Saus Barbeque", "source": "resepkoki.id", "category": "ayam-daging" }, { "url": "https://resepkoki.id/resep/resep-sosis-asam-manis/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2022/04/Resep-Sosis-Asam-Manis.jpg?fit=640%2C853&ssl=1", "title": "Sosis Asam Manis", "source": "resepkoki.id", "category": "ayam-daging" }, { "url": "https://resepkoki.id/resep/resep-ayam-bacem/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2022/04/Resep-Ayam-Bacem.jpg?fit=640%2C799&ssl=1", "title": "Ayam Bacem", "source": "resepkoki.id", "category": "ayam-daging" }, { "url": "https://resepkoki.id/resep/resep-ayam-bumbu-merah/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2022/03/Resep-Ayam-Bumbu-Merah.jpg?fit=640%2C853&ssl=1", "title": "Ayam Bumbu Merah", "source": "resepkoki.id", "category": "ayam-daging" }, { "url": "https://resepkoki.id/resep/resep-ayam-suwir-kecap/", "image": "https://i0.wp.com/resepkoki.id/wp-content/uploads/2022/03/Resep-Ayam-Suwir-Kecap.jpg?fit=640%2C897&ssl=1", "title": "Ayam Suwir Kecap", "source": "resepkoki.id", "category": "ayam-daging" } ], "hasMore": true, "nextPage": 2 } ``` --- _Generated: 2026-08-02T14:31:57.746Z_