{
  "openapi": "3.0.1",
  "info": {
    "title": "Tokopedia Scraper — Products & Suppliers, One for All",
    "description": "Search Tokopedia products over pure HTTP — no browser, no cookie, no login — and turn the results into a supplier list you can compare. Built for price research and supplier discovery in Indonesia.",
    "version": "0.0",
    "x-build-id": "Y8WiIwZNLfv3gbYbv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapenode~tokopedia-scraper-products-suppliers-one-for-all/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapenode-tokopedia-scraper-products-suppliers-one-for-all",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapenode~tokopedia-scraper-products-suppliers-one-for-all/runs": {
      "post": {
        "operationId": "runs-sync-scrapenode-tokopedia-scraper-products-suppliers-one-for-all",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapenode~tokopedia-scraper-products-suppliers-one-for-all/run-sync": {
      "post": {
        "operationId": "run-sync-scrapenode-tokopedia-scraper-products-suppliers-one-for-all",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchStrings": {
            "title": "Kata kunci pencarian",
            "type": "array",
            "description": "Satu atau beberapa kata kunci produk, contoh 'laptop', 'sepatu lari', 'kopi specialty'. Seluruh kata kunci digabung dalam satu run supaya sheet Toko langsung melihat semua penjual yang muncul.",
            "default": [
              "laptop"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maksimum hasil seluruh run",
            "minimum": 1,
            "maximum": 600,
            "type": "integer",
            "description": "Batas jumlah produk unik untuk seluruh run, dibagi rata ke tiap kata kunci. Server Tokopedia menerima maksimal 200 baris per request, jadi nilai di atas 200 berarti lebih dari satu request.",
            "default": 100
          },
          "orderBy": {
            "title": "Urutan hasil",
            "enum": [
              "23",
              "5"
            ],
            "type": "string",
            "description": "Cara server mengurutkan hasil. Relevansi adalah urutan bawaan Tokopedia; rating tertinggi dipakai kalau yang dicari adalah toko yang sudah terbukti.",
            "default": "23"
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Pilih proxy residensial dari akunmu sendiri, atau masukkan URL proxy custom milikmu. Kalau dibiarkan kosong, actor memakai proxy residensial dari environment APIFY_PROXY_PASSWORD milik akun yang menjalankan run. Kredensial tidak pernah ditulis di kode."
          },
          "minPrice": {
            "title": "Harga minimum (opsional)",
            "minimum": 0,
            "type": "integer",
            "description": "Buang produk dengan harga di bawah angka ini (Rupiah, tanpa titik). Contoh 50000 untuk menyaring produk di bawah Rp50.000. Produk tanpa harga ikut dibuang."
          },
          "maxPrice": {
            "title": "Harga maksimum (opsional)",
            "minimum": 0,
            "type": "integer",
            "description": "Buang produk dengan harga di atas angka ini (Rupiah, tanpa titik). Contoh 500000 untuk menyaring produk di atas Rp500.000. Produk tanpa harga ikut dibuang."
          },
          "minRating": {
            "title": "Rating minimum (opsional)",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Buang produk dengan rating di bawah angka ini (skala 0-5). Contoh 4.5. Produk yang belum punya ulasan (rating kosong) ikut dibuang."
          },
          "debugDump": {
            "title": "Simpan respons mentah",
            "type": "boolean",
            "description": "Simpan payload GraphQL apa adanya ke storage. Nyalakan hanya kalau hasil terlihat aneh atau parsing bermasalah.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}