{
  "openapi": "3.1.0",
  "info": {
    "title": "Zapi — Web Tools",
    "description": "Every Web Tools endpoint on Zapi. Rendered catalog: https://zpi.web.id/category/web-tools",
    "version": "1.0.0",
    "license": {
      "name": "Zapi Terms of Service",
      "url": "https://zpi.web.id/terms"
    }
  },
  "servers": [
    {
      "url": "https://api.zpi.web.id"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key"
      }
    },
    "schemas": {
      "Envelope": {
        "type": "object",
        "required": [
          "status",
          "message"
        ],
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "success",
              "error"
            ]
          },
          "message": {
            "type": "string"
          },
          "content": {}
        }
      }
    },
    "responses": {
      "Error": {
        "description": "Invalid key, rate limit, or upstream failure",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Envelope"
            }
          }
        }
      }
    }
  },
  "externalDocs": {
    "url": "https://zpi.web.id/category/web-tools/llms.txt"
  },
  "paths": {
    "/v1/web-tools:bin-lookup/lookup": {
      "get": {
        "operationId": "web_tools_bin_lookup_lookup",
        "summary": "Lookup BIN",
        "description": "Retrieve issuer and card metadata for a BIN prefix.",
        "tags": [
          "BIN Lookup"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/web-tools/bin-lookup#reference-lookup"
        },
        "parameters": [
          {
            "name": "bin",
            "in": "query",
            "required": true,
            "description": "Card BIN/IIN (6-8 digit pertama nomor kartu)",
            "schema": {
              "type": "string",
              "example": "45717360"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "ok": true,
                    "bin": "45717360",
                    "bank": {
                      "name": "Jyske Bank A/S"
                    },
                    "type": "debit",
                    "brand": "Visa Classic/Dankort",
                    "scheme": "visa",
                    "country": {
                      "name": "Denmark",
                      "emoji": "🇩🇰",
                      "alpha2": "DK",
                      "numeric": "208",
                      "currency": "DKK",
                      "latitude": 56,
                      "longitude": 10
                    }
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/web-tools:builtwith/detect": {
      "get": {
        "operationId": "web_tools_builtwith_detect",
        "summary": "Detect",
        "description": "",
        "tags": [
          "BuiltWith Analyzer"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/web-tools/builtwith#reference-detect"
        },
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": true,
            "description": "Domain atau URL target (http/https opsional, www opsional)",
            "schema": {
              "type": "string",
              "example": "https://cakinvestmentclub.com"
            }
          },
          {
            "name": "scanRobots",
            "in": "query",
            "required": false,
            "description": "Scan /robots.txt juga. Default true",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "url": "https://cakinvestmentclub.com/",
                    "title": "Cak Investment Club",
                    "domain": "cakinvestmentclub.com",
                    "categories": [
                      {
                        "items": [
                          {
                            "icon": "https://raw.githubusercontent.com/enthec/webappanalyzer/main/src/images/icons/CloudFlare.svg",
                            "name": "Cloudflare Browser Insights",
                            "version": "",
                            "website": "https://www.cloudflare.com",
                            "evidence": [
                              "scriptSrc: https://static.cloudflareinsights.com/beacon.min.js/v833ccba"
                            ],
                            "confidence": 100
                          },
                          {
                            "icon": "https://raw.githubusercontent.com/enthec/webappanalyzer/main/src/images/icons/Facebook.svg",
                            "name": "Facebook Pixel",
                            "version": "",
                            "website": "https://facebook.com",
                            "evidence": [
                              "inline script"
                            ],
                            "confidence": 100
                          },
                          {
                            "icon": "https://raw.githubusercontent.com/enthec/webappanalyzer/main/src/images/icons/Google Analytics.svg",
                            "name": "Google Analytics",
                            "version": "GA4",
                            "website": "https://google.com/analytics",
                            "evidence": [
                              "inline script"
                            ],
                            "confidence": 100
                          },
                          {
                            "icon": "https://raw.githubusercontent.com/enthec/webappanalyzer/main/src/images/icons/Microsoft Clarity.svg",
                            "name": "Microsoft Clarity",
                            "version": "",
                            "website": "https://clarity.microsoft.com",
                            "evidence": [
                              "js prop clarity"
                            ],
                            "confidence": 100
                          }
                        ],
                        "category": "Analytics"
                      },
                      {
                        "items": [
                          {
                            "icon": "https://raw.githubusercontent.com/enthec/webappanalyzer/main/src/images/icons/CloudFlare.svg",
                            "name": "Cloudflare",
                            "version": "",
                            "website": "https://www.cloudflare.com",
                            "evidence": [
                              "header server",
                              "header cf-cache-status",
                              "header cf-ray"
                            ],
                            "confidence": 100
                          }
                        ],
                        "category": "CDN"
                      },
                      {
                        "items": [
                          {
                            "icon": "https://raw.githubusercontent.com/enthec/webappanalyzer/main/src/images/icons/Next.js.svg",
                            "name": "Next.js",
                            "version": "",
                            "website": "https://nextjs.org",
                            "evidence": [
                              "header x-powered-by"
                            ],
                            "confidence": 100
                          },
                          {
                            "icon": "https://raw.githubusercontent.com/enthec/webappanalyzer/main/src/images/icons/React.svg",
                            "name": "React",
                            "implied": true,
                            "version": "",
                            "website": "https://reactjs.org",
                            "evidence": [
                              "implied by Next.js"
                            ],
                            "confidence": 100
                          }
                        ],
                        "category": "JavaScript frameworks"
                      },
                      {
                        "items": [
                          {
                            "icon": "https://raw.githubusercontent.com/enthec/webappanalyzer/main/src/images/icons/HTTP3.svg",
                            "name": "HTTP/3",
                            "version": "",
                            "website": "https://httpwg.org/",
                            "evidence": [
                              "header alt-svc"
                            ],
                            "confidence": 100
                          },
                          {
                            "icon": "https://raw.githubusercontent.com/enthec/webappanalyzer/main/src/images/icons/Webpack.svg",
                            "name": "Webpack",
                            "implied": true,
                            "version": "",
                            "website": "https://webpack.js.org/",
                            "evidence": [
                              "implied by Next.js"
                            ],
                            "confidence": 100
                          }
                        ],
                        "category": "Miscellaneous"
                      }
                    ],
                    "statusCode": 200,
                    "signatureCount": 7518,
                    "totalTechnologies": 9
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/web-tools:cek-email-leak/check": {
      "get": {
        "operationId": "web_tools_cek_email_leak_check",
        "summary": "Check Email",
        "description": "",
        "tags": [
          "Cek Email Leak"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/web-tools/cek-email-leak#reference-check"
        },
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": true,
            "description": "Alamat email yang ingin dicek kebocoran datanya",
            "schema": {
              "type": "string",
              "example": "admin@google.com"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "email": "admin@google.com",
                    "isSafe": false,
                    "message": "[email&#160;protected] telah menjadi korban &nbsp; 107 &nbsp;peristiwa kebocoran data",
                    "breaches": [
                      {
                        "date": "",
                        "source": "Adobe",
                        "leakedData": "Email, Password hints, Password dll",
                        "totalExposed": "152,445,165"
                      },
                      {
                        "date": "",
                        "source": "Pokémon Creed",
                        "leakedData": "Email, Jenis kelamin, Alamat IP dll",
                        "totalExposed": "116,465"
                      },
                      {
                        "date": "",
                        "source": "Domino's",
                        "leakedData": "Email, Nama Lengkap, Password dll",
                        "totalExposed": "648,231"
                      },
                      {
                        "date": "",
                        "source": "Lizard Squad",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "13,451"
                      },
                      {
                        "date": "",
                        "source": "000webhost",
                        "leakedData": "Email, Alamat IP, Nama Lengkap dll",
                        "totalExposed": "14,936,670"
                      },
                      {
                        "date": "",
                        "source": "Gamigo",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "8,243,604"
                      },
                      {
                        "date": "",
                        "source": "LinkedIn",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "164,611,595"
                      },
                      {
                        "date": "",
                        "source": "tumblr",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "65,469,298"
                      },
                      {
                        "date": "",
                        "source": "MySpace",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "359,420,698"
                      },
                      {
                        "date": "",
                        "source": "VK",
                        "leakedData": "Email, Nama Lengkap, Password dll",
                        "totalExposed": "93,338,602"
                      },
                      {
                        "date": "",
                        "source": "WHMCS",
                        "leakedData": "Email, Pesan email, Pemberi kerja dll",
                        "totalExposed": "134,047"
                      },
                      {
                        "date": "",
                        "source": "Tianya",
                        "leakedData": "Email, Nama Lengkap, Username dll",
                        "totalExposed": "29,020,808"
                      },
                      {
                        "date": "",
                        "source": "iMesh",
                        "leakedData": "Email, Alamat IP, Password dll",
                        "totalExposed": "49,467,477"
                      },
                      {
                        "date": "",
                        "source": "Neopets",
                        "leakedData": "Tanggal lahir, Email, Jenis kelamin dll",
                        "totalExposed": "26,892,897"
                      },
                      {
                        "date": "",
                        "source": "Dropbox",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "68,648,009"
                      },
                      {
                        "date": "",
                        "source": "Last.fm",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "37,217,682"
                      },
                      {
                        "date": "",
                        "source": "Leet",
                        "leakedData": "Email, Alamat IP, Password dll",
                        "totalExposed": "5,081,689"
                      },
                      {
                        "date": "",
                        "source": "NetEase",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "234,842,089"
                      },
                      {
                        "date": "",
                        "source": "GeekedIn",
                        "leakedData": "Email, Lokasi geografis, Nama Lengkap dll",
                        "totalExposed": "1,073,164"
                      },
                      {
                        "date": "",
                        "source": "QIP",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "26,183,992"
                      },
                      {
                        "date": "",
                        "source": "River City Media Spam List",
                        "leakedData": "Email, Alamat IP, Nama Lengkap dll",
                        "totalExposed": "393,430,309"
                      },
                      {
                        "date": "",
                        "source": "Evony",
                        "leakedData": "Email, Alamat IP, Password dll",
                        "totalExposed": "29,396,116"
                      },
                      {
                        "date": "",
                        "source": "Youku",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "91,890,110"
                      },
                      {
                        "date": "",
                        "source": "Anti Public Combo List",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "457,962,538"
                      },
                      {
                        "date": "",
                        "source": "Exploit.In",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "593,427,119"
                      },
                      {
                        "date": "",
                        "source": "Programming Forums",
                        "leakedData": "Email, Alamat IP, Password dll",
                        "totalExposed": "707,432"
                      },
                      {
                        "date": "",
                        "source": "Dailymotion",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "85,176,234"
                      },
                      {
                        "date": "",
                        "source": "Onliner Spambot",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "711,477,622"
                      },
                      {
                        "date": "",
                        "source": "7k7k",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "9,121,434"
                      },
                      {
                        "date": "",
                        "source": "Bitly",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "9,313,136"
                      },
                      {
                        "date": "",
                        "source": "Kickstarter",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "5,176,463"
                      },
                      {
                        "date": "",
                        "source": "Disqus",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "17,551,044"
                      },
                      {
                        "date": "",
                        "source": "2,844 Separate Data Breaches",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "80,115,532"
                      },
                      {
                        "date": "",
                        "source": "Pemiblanc",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "110,964,206"
                      },
                      {
                        "date": "",
                        "source": "League of Legends",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "339,487"
                      },
                      {
                        "date": "",
                        "source": "Apollo",
                        "leakedData": "Email, Pemberi kerja, Lokasi geografis dll",
                        "totalExposed": "125,929,660"
                      },
                      {
                        "date": "",
                        "source": "Collection #1",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "772,904,991"
                      },
                      {
                        "date": "",
                        "source": "MyHeritage",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "91,991,358"
                      },
                      {
                        "date": "",
                        "source": "MyFitnessPal",
                        "leakedData": "Email, Alamat IP, Password dll",
                        "totalExposed": "143,606,147"
                      },
                      {
                        "date": "",
                        "source": "Dubsmash",
                        "leakedData": "Email, Lokasi geografis, Nama Lengkap dll",
                        "totalExposed": "161,749,950"
                      },
                      {
                        "date": "",
                        "source": "ShareThis",
                        "leakedData": "Tanggal lahir, Email, Nama Lengkap dll",
                        "totalExposed": "40,960,499"
                      },
                      {
                        "date": "",
                        "source": "Verifications.io",
                        "leakedData": "Tanggal lahir, Email, Pemberi kerja dll",
                        "totalExposed": "763,117,241"
                      },
                      {
                        "date": "",
                        "source": "500px",
                        "leakedData": "Tanggal lahir, Email, Jenis kelamin dll",
                        "totalExposed": "14,867,999"
                      },
                      {
                        "date": "",
                        "source": "D3Scene",
                        "leakedData": "Email, Alamat IP, Password dll",
                        "totalExposed": "568,827"
                      },
                      {
                        "date": "",
                        "source": "Animoto",
                        "leakedData": "Tanggal lahir, Email, Lokasi geografis dll",
                        "totalExposed": "22,437,749"
                      },
                      {
                        "date": "",
                        "source": "GameSalad",
                        "leakedData": "Email, Alamat IP, Password dll",
                        "totalExposed": "1,506,242"
                      },
                      {
                        "date": "",
                        "source": "Canva",
                        "leakedData": "Email, Lokasi geografis, Nama Lengkap dll",
                        "totalExposed": "137,272,116"
                      },
                      {
                        "date": "",
                        "source": "Chegg",
                        "leakedData": "Email, Nama Lengkap, Password dll",
                        "totalExposed": "39,721,127"
                      },
                      {
                        "date": "",
                        "source": "Data Enrichment Exposure From PDL Customer",
                        "leakedData": "Email, Pemberi kerja, Lokasi geografis dll",
                        "totalExposed": "622,161,052"
                      },
                      {
                        "date": "",
                        "source": "Zynga",
                        "leakedData": "Email, Password, Nomor telepon dll",
                        "totalExposed": "172,869,660"
                      },
                      {
                        "date": "",
                        "source": "Covve",
                        "leakedData": "Email, Pekerjaan, Nama Lengkap dll",
                        "totalExposed": "22,802,117"
                      },
                      {
                        "date": "",
                        "source": "Artsy",
                        "leakedData": "Email, Alamat IP, Nama Lengkap dll",
                        "totalExposed": "1,079,970"
                      },
                      {
                        "date": "",
                        "source": "LiveJournal",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "26,372,781"
                      },
                      {
                        "date": "",
                        "source": "Lead Hunter",
                        "leakedData": "Email, Jenis kelamin, Alamat IP dll",
                        "totalExposed": "68,693,853"
                      },
                      {
                        "date": "",
                        "source": "Zoomcar",
                        "leakedData": "Email, Alamat IP, Nama Lengkap dll",
                        "totalExposed": "3,589,795"
                      },
                      {
                        "date": "",
                        "source": "Mathway",
                        "leakedData": "Informasi perangkat, Email, Nama Lengkap dll",
                        "totalExposed": "25,692,862"
                      },
                      {
                        "date": "",
                        "source": "Wattpad",
                        "leakedData": "Bios, Tanggal lahir, Email dll",
                        "totalExposed": "268,765,495"
                      },
                      {
                        "date": "",
                        "source": "Appen",
                        "leakedData": "Email, Pemberi kerja, Alamat IP dll",
                        "totalExposed": "5,888,405"
                      },
                      {
                        "date": "",
                        "source": "StarTribune",
                        "leakedData": "Tanggal lahir, Email, Jenis kelamin dll",
                        "totalExposed": "2,192,857"
                      },
                      {
                        "date": "",
                        "source": "Animal Jam",
                        "leakedData": "Tanggal lahir, Email, Jenis kelamin dll",
                        "totalExposed": "7,104,998"
                      },
                      {
                        "date": "",
                        "source": "Cit0day",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "226,883,414"
                      },
                      {
                        "date": "",
                        "source": "Nitro",
                        "leakedData": "Email, Nama Lengkap, Password dll",
                        "totalExposed": "77,159,696"
                      },
                      {
                        "date": "",
                        "source": "ShopBack",
                        "leakedData": "Email, Lokasi geografis, Nama Lengkap dll",
                        "totalExposed": "20,529,819"
                      },
                      {
                        "date": "",
                        "source": "JD",
                        "leakedData": "Email, Password, Nomor telepon dll",
                        "totalExposed": "77,449,341"
                      },
                      {
                        "date": "",
                        "source": "Domino's India",
                        "leakedData": "Email, Nama Lengkap, Nomor telepon dll",
                        "totalExposed": "22,527,655"
                      },
                      {
                        "date": "",
                        "source": "Raychat",
                        "leakedData": "User agent, Email, Alamat IP dll",
                        "totalExposed": "938,981"
                      },
                      {
                        "date": "",
                        "source": "SubaGames",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "6,137,666"
                      },
                      {
                        "date": "",
                        "source": "Epik",
                        "leakedData": "Email, Nama Lengkap, Nomor telepon dll",
                        "totalExposed": "15,003,961"
                      },
                      {
                        "date": "",
                        "source": "Gravatar",
                        "leakedData": "Email, Nama Lengkap, Username dll",
                        "totalExposed": "113,990,759"
                      },
                      {
                        "date": "",
                        "source": "RedLine Stealer",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "441,657"
                      },
                      {
                        "date": "",
                        "source": "CDEK",
                        "leakedData": "Email, Nama Lengkap, Nomor telepon dll",
                        "totalExposed": "19,218,203"
                      },
                      {
                        "date": "",
                        "source": "PayHere",
                        "leakedData": "Email, Alamat IP, Nama Lengkap dll",
                        "totalExposed": "1,580,249"
                      },
                      {
                        "date": "",
                        "source": "SitePoint",
                        "leakedData": "Bios, Email, Alamat IP dll",
                        "totalExposed": "1,021,790"
                      },
                      {
                        "date": "",
                        "source": "CoinTracker",
                        "leakedData": "Email, Partial phone numbers,  dll",
                        "totalExposed": "1,557,153"
                      },
                      {
                        "date": "",
                        "source": "Deezer",
                        "leakedData": "Tanggal lahir, Email, Jenis kelamin dll",
                        "totalExposed": "229,037,936"
                      },
                      {
                        "date": "",
                        "source": "SlideTeam",
                        "leakedData": "Email, Nama Lengkap, Password dll",
                        "totalExposed": "1,464,271"
                      },
                      {
                        "date": "",
                        "source": "Instant Checkmate",
                        "leakedData": "Email, Nama Lengkap, Password dll",
                        "totalExposed": "11,943,887"
                      },
                      {
                        "date": "",
                        "source": "Eye4Fraud",
                        "leakedData": "Email, Alamat IP, Nama Lengkap dll",
                        "totalExposed": "16,000,591"
                      },
                      {
                        "date": "",
                        "source": "Luxottica",
                        "leakedData": "Tanggal lahir, Email, Jenis kelamin dll",
                        "totalExposed": "77,093,812"
                      },
                      {
                        "date": "",
                        "source": "Duolingo",
                        "leakedData": "Email, Nama Lengkap, Bahasa lisan dll",
                        "totalExposed": "2,676,696"
                      },
                      {
                        "date": "",
                        "source": "Phished Data via CERT Poland",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "67,943"
                      },
                      {
                        "date": "",
                        "source": "GameSprite",
                        "leakedData": "Email, Alamat IP, Password dll",
                        "totalExposed": "6,164,643"
                      },
                      {
                        "date": "",
                        "source": "Naz.API",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "70,840,771"
                      },
                      {
                        "date": "",
                        "source": "Trello",
                        "leakedData": "Email, Nama Lengkap, Username dll",
                        "totalExposed": "15,111,945"
                      },
                      {
                        "date": "",
                        "source": "MyPertamina",
                        "leakedData": "Tanggal lahir, Email, Jenis kelamin dll",
                        "totalExposed": "5,970,416"
                      },
                      {
                        "date": "",
                        "source": "Kaspersky Club",
                        "leakedData": "Email, Alamat IP, Password dll",
                        "totalExposed": "55,971"
                      },
                      {
                        "date": "",
                        "source": "Operation Endgame",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "16,466,858"
                      },
                      {
                        "date": "",
                        "source": "Combolists Posted to Telegram",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "361,468,099"
                      },
                      {
                        "date": "",
                        "source": "Stealer Logs Posted to Telegram",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "26,105,473"
                      },
                      {
                        "date": "",
                        "source": "Internet Archive",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "31,081,179"
                      },
                      {
                        "date": "",
                        "source": "VimeWorld",
                        "leakedData": "Email, Alamat IP, Password dll",
                        "totalExposed": "3,118,964"
                      },
                      {
                        "date": "",
                        "source": "Z-lib",
                        "leakedData": "Cryptocurrency wallet addresses, Email, Lokasi geografis dll",
                        "totalExposed": "9,737,374"
                      },
                      {
                        "date": "",
                        "source": "Stealer Logs, Jan 2025",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "71,039,833"
                      },
                      {
                        "date": "",
                        "source": "Zacks (2024)",
                        "leakedData": "Email, Alamat IP, Nama Lengkap dll",
                        "totalExposed": "11,994,223"
                      },
                      {
                        "date": "",
                        "source": "Storenvy",
                        "leakedData": "Tanggal lahir, Email, Jenis kelamin dll",
                        "totalExposed": "11,052,071"
                      },
                      {
                        "date": "",
                        "source": "ALIEN TXTBASE Stealer Logs",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "284,132,969"
                      },
                      {
                        "date": "",
                        "source": "Operation Endgame 2.0",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "15,436,844"
                      },
                      {
                        "date": "",
                        "source": "Data Troll Stealer Logs",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "109,532,219"
                      },
                      {
                        "date": "",
                        "source": "Synthient Stealer Log Threat Data",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "182,962,095"
                      },
                      {
                        "date": "",
                        "source": "Synthient Credential Stuffing Threat Data",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "1,957,476,021"
                      },
                      {
                        "date": "",
                        "source": "Operation Endgame 3.0",
                        "leakedData": "Email, Password,  dll",
                        "totalExposed": "2,046,030"
                      },
                      {
                        "date": "",
                        "source": "China Software Developer Network",
                        "leakedData": "Email, Password, Username dll",
                        "totalExposed": "6,414,990"
                      },
                      {
                        "date": "",
                        "source": "WIRED",
                        "leakedData": "Tanggal lahir, Display names, Email dll",
                        "totalExposed": "2,364,431"
                      },
                      {
                        "date": "",
                        "source": "BreachForums (2025)",
                        "leakedData": "Email, Forum posts, Password dll",
                        "totalExposed": "672,247"
                      },
                      {
                        "date": "",
                        "source": "Under Armour",
                        "leakedData": "Tanggal lahir, Email, Jenis kelamin dll",
                        "totalExposed": "72,742,892"
                      },
                      {
                        "date": "",
                        "source": "SoundCloud",
                        "leakedData": "Avatar, Email, Lokasi geografis dll",
                        "totalExposed": "29,815,722"
                      },
                      {
                        "date": "",
                        "source": "Canadian Tire",
                        "leakedData": "Tanggal lahir, Email, Jenis kelamin dll",
                        "totalExposed": "38,306,562"
                      }
                    ],
                    "checkedAt": "2026-05-22T23:39:24.090Z",
                    "breachCount": 160
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/web-tools:jina-reader/read": {
      "get": {
        "operationId": "web_tools_jina_reader_read",
        "summary": "Read",
        "description": "Fetch & extract content sebagai markdown.",
        "tags": [
          "Jina Reader"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/web-tools/jina-reader#reference-read"
        },
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "URL lengkap halaman yang akan di-extract menjadi Markdown bersih",
            "schema": {
              "type": "string",
              "example": "https://example.com"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "url": "https://example.com",
                    "title": "Example Domain",
                    "source": "r.jina.ai",
                    "content": "This domain is for use in documentation examples without needing permission. Avoid use in operations.\n\n[Learn more](https://iana.org/domains/example)",
                    "finalUrl": "https://example.com/",
                    "wordCount": 17,
                    "publishedTime": "Fri, 22 May 2026 08:19:40 GMT"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/web-tools:qr-generate/encode": {
      "get": {
        "operationId": "web_tools_qr_generate_encode",
        "summary": "Encode QR",
        "description": "Encode input text into a QR code image.",
        "tags": [
          "QR Generator"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/web-tools/qr-generate#reference-encode"
        },
        "parameters": [
          {
            "name": "data",
            "in": "query",
            "required": true,
            "description": "Text/URL to encode (max 2KB)",
            "schema": {
              "type": "string",
              "example": "https://zpi.web.id"
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "description": "Image size in pixels (100-1000). Default 300",
            "schema": {
              "type": "number",
              "example": "500"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "Output format. Default png",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "jpg"
              ],
              "example": "png"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "ok": true,
                    "size": 500,
                    "format": "png",
                    "imageUrl": "https://api.qrserver.com/v1/create-qr-code/?data=https%3A%2F%2Fzpi.web.id&size=500x500&format=png"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/web-tools:rdap/availability": {
      "get": {
        "operationId": "web_tools_rdap_availability",
        "summary": "Check Availability",
        "description": "Check if a domain is registered or available.",
        "tags": [
          "Domain Availability"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/web-tools/rdap#reference-availability"
        },
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": true,
            "description": "Domain name (akan di-normalize: strip protocol, www, path)",
            "schema": {
              "type": "string",
              "example": "google.com"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "ok": true,
                    "domain": "google.com",
                    "expires": "2028-09-14T04:00:00Z",
                    "available": false,
                    "registrar": "MarkMonitor Inc.",
                    "registered": "1997-09-15T04:00:00Z"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/web-tools:translate/translate": {
      "get": {
        "operationId": "web_tools_translate_translate",
        "summary": "Translate Text",
        "description": "Translate input text from a source to a target language.",
        "tags": [
          "Translate"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/web-tools/translate#reference-translate"
        },
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "description": "Text to translate (max 5KB)",
            "schema": {
              "type": "string",
              "example": "Hello world"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Source language (ISO 639-1). Default en",
            "schema": {
              "type": "string",
              "example": "en"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Target language (ISO 639-1). Default id",
            "schema": {
              "type": "string",
              "example": "id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "ok": true,
                    "match": 0.99,
                    "sourceText": "Hello world",
                    "translatedText": "Halo dunia"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/web-tools:wayback/snapshot": {
      "get": {
        "operationId": "web_tools_wayback_snapshot",
        "summary": "Snapshot",
        "description": "Lookup archived snapshot.",
        "tags": [
          "Wayback Machine"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/web-tools/wayback#reference-snapshot"
        },
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "URL lengkap yang ingin dicari snapshot-nya",
            "schema": {
              "type": "string",
              "example": "https://example.com"
            }
          },
          {
            "name": "timestamp",
            "in": "query",
            "required": false,
            "description": "Tanggal target snapshot (YYYYMMDD atau YYYYMMDDhhmmss). Kosongkan untuk snapshot terbaru",
            "schema": {
              "type": "string",
              "example": "20230101"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "url": "https://example.com",
                    "found": true,
                    "source": "web.archive.org",
                    "snapshot": {
                      "url": "https://web.archive.org/web/20230101000811/https://example.com/",
                      "status": "200",
                      "available": true,
                      "timestamp": "20230101000811",
                      "timestampIso": "2023-01-01T00:08:11.000Z"
                    },
                    "requestedTimestamp": "20230101"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/web-tools:weather/forecast": {
      "get": {
        "operationId": "web_tools_weather_forecast",
        "summary": "Weather Forecast",
        "description": "Get current and forecast weather data for a location.",
        "tags": [
          "Weather Forecast"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/web-tools/weather#reference-forecast"
        },
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": true,
            "description": "Latitude (-90..90)",
            "schema": {
              "type": "number",
              "example": "-6.2088"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "required": true,
            "description": "Longitude (-180..180)",
            "schema": {
              "type": "number",
              "example": "106.8456"
            }
          },
          {
            "name": "days",
            "in": "query",
            "required": false,
            "description": "Forecast days (1-7). Default 3",
            "schema": {
              "type": "number",
              "example": "3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "ok": true,
                    "daily": {
                      "time": [
                        "2026-05-27",
                        "2026-05-28",
                        "2026-05-29"
                      ],
                      "precipitation_sum": [
                        0,
                        0,
                        0.7
                      ],
                      "temperature_2m_max": [
                        32.2,
                        32.7,
                        33.1
                      ],
                      "temperature_2m_min": [
                        24.1,
                        22.9,
                        23.9
                      ]
                    },
                    "current": {
                      "time": "2026-05-27T20:45",
                      "interval": 900,
                      "weather_code": 0,
                      "temperature_2m": 27.6,
                      "wind_speed_10m": 4.9,
                      "relative_humidity_2m": 82
                    },
                    "latitude": -6.221441,
                    "timezone": "Asia/Jakarta",
                    "elevation": 12,
                    "longitude": 106.856186,
                    "daily_units": {
                      "time": "iso8601",
                      "precipitation_sum": "mm",
                      "temperature_2m_max": "°C",
                      "temperature_2m_min": "°C"
                    },
                    "current_units": {
                      "time": "iso8601",
                      "interval": "seconds",
                      "weather_code": "wmo code",
                      "temperature_2m": "°C",
                      "wind_speed_10m": "km/h",
                      "relative_humidity_2m": "%"
                    },
                    "generationtime_ms": 0.1575946807861328,
                    "utc_offset_seconds": 25200,
                    "timezone_abbreviation": "GMT+7"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    }
  }
}