{
  "openapi": "3.0.1",
  "info": {
    "title": "Swiggy Email Scraper - Bulk Keywords, Decodes Hidden Emails",
    "description": "🍛 Swiggy Email Scraper extracts restaurant and merchant contact emails in bulk by keyword. 🔓 Decodes hidden addresses, filters by domain. 🇮🇳 Great for India restaurant tech sales, POS vendors & food delivery lead generation.",
    "version": "1.0",
    "x-build-id": "vb6w6qYthb2QgZRTc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/code-beat~swiggy-email-scraper-ultra-fast-and-precise/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-code-beat-swiggy-email-scraper-ultra-fast-and-precise",
        "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/code-beat~swiggy-email-scraper-ultra-fast-and-precise/runs": {
      "post": {
        "operationId": "runs-sync-code-beat-swiggy-email-scraper-ultra-fast-and-precise",
        "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/code-beat~swiggy-email-scraper-ultra-fast-and-precise/run-sync": {
      "post": {
        "operationId": "run-sync-code-beat-swiggy-email-scraper-ultra-fast-and-precise",
        "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": {
          "scrapeMode": {
            "title": "Scrape Mode",
            "enum": [
              "Find New Emails",
              "Clean My List"
            ],
            "type": "string",
            "description": "Find New Emails (default) searches Airbnb by keyword. Clean My List skips searching entirely and instead runs the emails you paste into Email List (below) through the same deliverability checks.",
            "default": "Find New Emails"
          },
          "keywords": {
            "title": "Keywords or Queries",
            "type": "array",
            "description": "A list of keywords or queries to search for.",
            "default": [
              "manager",
              "founder"
            ],
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Location to filter search results.",
            "default": ""
          },
          "customDomains": {
            "title": "Enter Custom Email Domains (e.g. @gmail.com, @yahoo.com)",
            "type": "array",
            "description": "List of custom email domains",
            "default": [
              "@gmail.com",
              "@yahoo.com"
            ],
            "items": {
              "type": "string"
            }
          },
          "emailList": {
            "title": "Email List (for Clean My List mode)",
            "type": "array",
            "description": "Paste the emails you want checked for deliverability. Only used when Scrape Mode is set to \"Clean My List\".",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxEmails": {
            "title": "Enter Max Emails",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of emails to collect. The scraper will stop once this limit is reached. Setting a higher limit allows for more potential results but doesn't guarantee reaching that number. This helps save costs by controlling scraping time.",
            "default": 20
          },
          "verificationMode": {
            "title": "Verification Mode",
            "enum": [
              "Off",
              "Quick Check",
              "Deep Check"
            ],
            "type": "string",
            "description": "Quick Check (default) validates syntax and MX records only - fast, no added latency. Deep Check additionally flags disposable-domain addresses and checks each domain against a public spam blocklist (Spamhaus DBL). Off skips validation entirely.",
            "default": "Quick Check"
          },
          "minQualityScore": {
            "title": "Minimum Quality Score",
            "minimum": 0,
            "maximum": 1,
            "type": "number",
            "description": "Drop any contact whose quality score (0.0-1.0) falls below this. Leave at 0 for no filter.",
            "default": 0
          },
          "excludeCatchAll": {
            "title": "Exclude Catch-All Domains",
            "type": "boolean",
            "description": "Drop contacts on domains confirmed to accept mail for any address (only applies when that signal is available).",
            "default": false
          },
          "requireMxValid": {
            "title": "Require Valid MX Record",
            "type": "boolean",
            "description": "Drop any contact whose domain has no valid mail server (MX record).",
            "default": false
          },
          "targetCountry": {
            "title": "Target Country",
            "enum": [
              "Global (no country filter)",
              "United States",
              "United Kingdom",
              "Canada",
              "Australia",
              "Germany",
              "France",
              "India",
              "Japan",
              "Brazil",
              "Italy",
              "Spain",
              "Netherlands",
              "Sweden",
              "Norway",
              "Denmark",
              "Finland",
              "Poland",
              "Czech Republic",
              "Hungary",
              "Romania",
              "Bulgaria",
              "Croatia",
              "Slovenia",
              "Slovakia",
              "Estonia",
              "Latvia",
              "Lithuania",
              "Portugal",
              "Greece",
              "Cyprus",
              "Malta",
              "Luxembourg",
              "Ireland",
              "Belgium",
              "Austria",
              "Switzerland",
              "Liechtenstein",
              "Iceland",
              "South Korea",
              "China",
              "Mexico",
              "Argentina",
              "Chile",
              "Colombia",
              "Peru",
              "Venezuela",
              "Ecuador",
              "Uruguay",
              "Paraguay",
              "Bolivia",
              "Guyana",
              "Suriname",
              "French Guiana",
              "Falkland Islands (Malvinas)",
              "South Georgia and the South Sandwich Islands",
              "Bonaire, Sint Eustatius and Saba",
              "Curaçao",
              "Aruba",
              "Sint Maarten (Dutch part)",
              "Turks and Caicos Islands",
              "British Virgin Islands",
              "Anguilla",
              "Montserrat",
              "Antigua and Barbuda",
              "Barbados",
              "Dominica",
              "Grenada",
              "Saint Kitts and Nevis",
              "Saint Lucia",
              "Saint Vincent and the Grenadines",
              "Trinidad and Tobago",
              "Jamaica",
              "Bahamas",
              "Belize",
              "Costa Rica",
              "Guatemala",
              "Honduras",
              "Nicaragua",
              "Panama",
              "El Salvador",
              "Cuba",
              "Dominican Republic",
              "Haiti",
              "Puerto Rico",
              "U.S. Virgin Islands",
              "American Samoa",
              "Guam",
              "Northern Mariana Islands",
              "Saudi Arabia",
              "United Arab Emirates",
              "Bahrain",
              "Iraq",
              "Iran, Islamic Republic of",
              "Israel",
              "Jordan",
              "Kuwait",
              "Lebanon",
              "Oman",
              "Qatar",
              "Syrian Arab Republic",
              "Yemen",
              "Afghanistan",
              "Bangladesh",
              "Bhutan",
              "Maldives",
              "Nepal",
              "Pakistan",
              "Sri Lanka",
              "Myanmar",
              "Cambodia",
              "Lao People's Democratic Republic",
              "Thailand",
              "Viet Nam",
              "Malaysia",
              "Singapore",
              "Brunei Darussalam",
              "Philippines",
              "Indonesia",
              "Timor-Leste",
              "Papua New Guinea",
              "Fiji",
              "New Zealand",
              "Solomon Islands",
              "Vanuatu",
              "New Caledonia",
              "French Polynesia",
              "Wallis and Futuna",
              "Samoa",
              "Tonga",
              "Tuvalu",
              "Kiribati",
              "Nauru",
              "Federated States of Micronesia",
              "Marshall Islands",
              "Palau",
              "Cook Islands",
              "Niue",
              "Tokelau"
            ],
            "type": "string",
            "description": "Ask Google to answer as if searching from this country. Leave on \"Global (no country filter)\" for worldwide results.",
            "default": "Global (no country filter)"
          },
          "strictCountry": {
            "title": "Strict country filter",
            "type": "boolean",
            "description": "Restrict results to pages Google attributes to the target country (cr=countryXX), instead of only preferring them. Much tighter targeting, noticeably fewer results.",
            "default": false
          },
          "searchLanguage": {
            "title": "Result Language",
            "enum": [
              "",
              "en",
              "es",
              "fr",
              "de",
              "it",
              "pt",
              "nl",
              "pl",
              "ru",
              "tr",
              "ar",
              "hi",
              "ja",
              "ko",
              "zh-CN",
              "id",
              "sv",
              "da",
              "no",
              "fi",
              "cs",
              "el",
              "he",
              "th",
              "vi"
            ],
            "type": "string",
            "description": "Restrict results to one language. Leave on \"Any language\" for no filter.",
            "default": ""
          },
          "timeRange": {
            "title": "Time Range",
            "enum": [
              "Any time",
              "Past hour",
              "Past 24 hours",
              "Past week",
              "Past month",
              "Past year",
              "Custom range"
            ],
            "type": "string",
            "description": "Only return pages Google indexed within this window. Recent pages are more likely to hold a mailbox that still works.",
            "default": "Any time"
          },
          "customDateFrom": {
            "title": "Custom range: from",
            "type": "string",
            "description": "Only used when Time Range is \"Custom range\". Format: YYYY-MM-DD.",
            "default": ""
          },
          "customDateTo": {
            "title": "Custom range: to",
            "type": "string",
            "description": "Only used when Time Range is \"Custom range\". Format: YYYY-MM-DD.",
            "default": ""
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}