{
  "title": "Google Maps Business Leads Input",
  "description": "Find local businesses on Google Maps and read their own websites for emails, phone numbers and social profiles.",
  "type": "object",
  "schemaVersion": 1,
  "required": [],
  "properties": {
    "mode": {
      "title": "What do you want to do?",
      "type": "string",
      "description": "Search Google Maps, look up specific places, or enrich a list of websites you already have.",
      "editor": "select",
      "enum": [
        "searchPlaces",
        "specificPlaces",
        "enrichWebsites"
      ],
      "enumTitles": [
        "Search Google Maps for businesses",
        "Look up specific Google Maps places",
        "Get contacts from a list of websites"
      ],
      "default": "searchPlaces",
      "prefill": "searchPlaces",
      "sectionCaption": "How to find businesses"
    },
    "searchQueries": {
      "title": "Search phrases",
      "type": "array",
      "description": "Natural-language searches such as 'coffee shops in Austin TX'. Include the place in each phrase, or use the location field below.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "sectionCaption": "Search Google Maps",
      "sectionDescription": "Used when the selected mode is 'Search Google Maps for businesses'.",
      "prefill": []
    },
    "locationQuery": {
      "title": "Location (optional)",
      "type": "string",
      "description": "Adds a shared location to every search phrase, for example 'Austin, TX, USA'. Leave empty when your phrases already name the place.",
      "editor": "textfield",
      "prefill": ""
    },
    "category": {
      "title": "Category",
      "type": "string",
      "description": "Business category such as bakery, dentist or plumber. Used when keyword and search phrases are empty.",
      "editor": "textfield",
      "prefill": "bakery",
      "default": "bakery"
    },
    "keyword": {
      "title": "Keyword (overrides category)",
      "type": "string",
      "description": "Custom search term such as 'boutique coffee' or 'pet grooming'. Takes priority over category.",
      "editor": "textfield"
    },
    "state": {
      "title": "US state",
      "type": "string",
      "description": "US state for the search. Choose 'All' for nationwide. Ignored for non-US countries.",
      "editor": "select",
      "enum": [
        "All",
        "AL",
        "AK",
        "AZ",
        "AR",
        "CA",
        "CO",
        "CT",
        "DE",
        "FL",
        "GA",
        "HI",
        "ID",
        "IL",
        "IN",
        "IA",
        "KS",
        "KY",
        "LA",
        "ME",
        "MD",
        "MA",
        "MI",
        "MN",
        "MS",
        "MO",
        "MT",
        "NE",
        "NV",
        "NH",
        "NJ",
        "NM",
        "NY",
        "NC",
        "ND",
        "OH",
        "OK",
        "OR",
        "PA",
        "RI",
        "SC",
        "SD",
        "TN",
        "TX",
        "UT",
        "VT",
        "VA",
        "WA",
        "WV",
        "WI",
        "WY"
      ],
      "enumTitles": [
        "All (nationwide)",
        "Alabama",
        "Alaska",
        "Arizona",
        "Arkansas",
        "California",
        "Colorado",
        "Connecticut",
        "Delaware",
        "Florida",
        "Georgia",
        "Hawaii",
        "Idaho",
        "Illinois",
        "Indiana",
        "Iowa",
        "Kansas",
        "Kentucky",
        "Louisiana",
        "Maine",
        "Maryland",
        "Massachusetts",
        "Michigan",
        "Minnesota",
        "Mississippi",
        "Missouri",
        "Montana",
        "Nebraska",
        "Nevada",
        "New Hampshire",
        "New Jersey",
        "New Mexico",
        "New York",
        "North Carolina",
        "North Dakota",
        "Ohio",
        "Oklahoma",
        "Oregon",
        "Pennsylvania",
        "Rhode Island",
        "South Carolina",
        "South Dakota",
        "Tennessee",
        "Texas",
        "Utah",
        "Vermont",
        "Virginia",
        "Washington",
        "West Virginia",
        "Wisconsin",
        "Wyoming"
      ],
      "default": "All",
      "prefill": "CA"
    },
    "country": {
      "title": "Country",
      "type": "string",
      "description": "Country for the search. Other countries can be named directly in a search phrase.",
      "editor": "select",
      "enum": [
        "US",
        "GB",
        "CA",
        "AU",
        "DE",
        "FR",
        "IN",
        "BR",
        "MX",
        "JP",
        "KR",
        "CN",
        "AE",
        "SG"
      ],
      "enumTitles": [
        "United States",
        "United Kingdom",
        "Canada",
        "Australia",
        "Germany",
        "France",
        "India",
        "Brazil",
        "Mexico",
        "Japan",
        "South Korea",
        "China",
        "United Arab Emirates",
        "Singapore"
      ],
      "default": "US",
      "prefill": "US"
    },
    "websites": {
      "title": "Business websites",
      "type": "array",
      "description": "Websites to read for contact details, one per line. Bare domains such as example.com are accepted.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": [],
      "sectionCaption": "Enrich a list of websites",
      "sectionDescription": "Used when the selected mode is 'Get contacts from a list of websites'."
    },
    "placeUrls": {
      "title": "Google Maps place URLs",
      "type": "array",
      "description": "Google Maps place links copied from the address bar or a previous export.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": [],
      "sectionCaption": "Look up specific places",
      "sectionDescription": "Used when the selected mode is 'Look up specific Google Maps places'. Provide links, Place IDs, or both."
    },
    "placeIds": {
      "title": "Google Place IDs",
      "type": "array",
      "description": "Canonical Google Place IDs starting with 'ChIJ'.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": []
    },
    "max_results": {
      "title": "Maximum leads",
      "type": "integer",
      "description": "Maximum number of leads to save. Google returns a ranked window of roughly 150-220 businesses per search phrase, so a larger request may end when that window ends.",
      "minimum": 1,
      "maximum": 100000,
      "default": 100,
      "prefill": 3,
      "sectionCaption": "Limits and language"
    },
    "minRating": {
      "title": "Minimum rating",
      "type": "number",
      "description": "Keep only businesses rated at least this value (1.0-5.0). Leave empty for any rating.",
      "minimum": 1,
      "maximum": 5
    },
    "extractEmails": {
      "title": "Find emails and social profiles",
      "type": "boolean",
      "description": "Visit each business website for public emails, phone numbers and social profiles. Turn off for a faster Maps-only run.",
      "default": true,
      "prefill": true,
      "sectionCaption": "Contact extraction"
    },
    "maxEmailsPerWebsite": {
      "title": "Emails per website",
      "type": "integer",
      "description": "Maximum email addresses to keep for one business website.",
      "minimum": 1,
      "maximum": 20,
      "default": 5,
      "prefill": 3
    },
    "maxContactPagesPerWebsite": {
      "title": "Pages checked per website",
      "type": "integer",
      "description": "Homepage plus contact, about, legal, privacy or careers pages to read. More pages find more contacts but take longer.",
      "minimum": 1,
      "maximum": 10,
      "default": 3,
      "prefill": 2,
      "sectionCaption": "Filters and results"
    },
    "onlySaveResults": {
      "title": "Which places to save",
      "type": "string",
      "description": "Save every business, only businesses with an email, or only businesses with any contact detail.",
      "editor": "select",
      "enum": [
        "allPlaces",
        "onlyWithEmails",
        "onlyWithContacts"
      ],
      "enumTitles": [
        "All matching businesses",
        "Only businesses with an email",
        "Only businesses with any contact detail"
      ],
      "default": "allPlaces",
      "prefill": "allPlaces"
    },
    "categoryFilter": {
      "title": "Category filter words",
      "type": "array",
      "description": "Keep places whose Google Maps category contains all words of at least one entry. Leave empty for no category filter.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": []
    },
    "websiteFilter": {
      "title": "Website filter",
      "type": "string",
      "description": "Keep all places, only places with a website, or only places without one.",
      "editor": "select",
      "enum": [
        "allPlaces",
        "withWebsite",
        "withoutWebsite"
      ],
      "enumTitles": [
        "All places",
        "Only places with a website",
        "Only places without a website"
      ],
      "default": "allPlaces",
      "prefill": "allPlaces"
    },
    "skipClosedPlaces": {
      "title": "Skip closed places",
      "type": "boolean",
      "description": "Check Google's public status and leave out permanently or temporarily closed places.",
      "default": false,
      "prefill": false
    },
    "language": {
      "title": "Language",
      "type": "string",
      "description": "Language of the Google Maps interface and listing text.",
      "editor": "select",
      "enum": [
        "en",
        "af",
        "az",
        "id",
        "ms",
        "bs",
        "ca",
        "cs",
        "da",
        "de",
        "et",
        "es",
        "es-419",
        "eu",
        "fil",
        "fr",
        "gl",
        "hr",
        "zu",
        "is",
        "it",
        "sw",
        "lv",
        "lt",
        "hu",
        "nl",
        "no",
        "uz",
        "pl",
        "pt-BR",
        "pt-PT",
        "ro",
        "sq",
        "sk",
        "sl",
        "fi",
        "sv",
        "vi",
        "tr",
        "el",
        "bg",
        "ky",
        "kk",
        "mk",
        "mn",
        "ru",
        "sr",
        "uk",
        "ka",
        "hy",
        "iw",
        "ur",
        "ar",
        "fa",
        "am",
        "ne",
        "hi",
        "mr",
        "bn",
        "pa",
        "gu",
        "ta",
        "te",
        "kn",
        "ml",
        "si",
        "th",
        "lo",
        "my",
        "km",
        "ko",
        "ja",
        "zh-CN",
        "zh-TW",
        "zh",
        "pt"
      ],
      "enumTitles": [
        "English",
        "Afrikaans",
        "azərbaycan",
        "Bahasa Indonesia",
        "Bahasa Melayu",
        "bosanski",
        "català",
        "Čeština",
        "Dansk",
        "Deutsch",
        "eesti",
        "Español",
        "Español (Latinoamérica)",
        "euskara",
        "Filipino",
        "Français",
        "galego",
        "Hrvatski",
        "isiZulu",
        "íslenska",
        "Italiano",
        "Kiswahili",
        "latviešu",
        "lietuvių",
        "magyar",
        "Nederlands",
        "norsk",
        "oʻzbekcha",
        "polski",
        "Português (Brasil)",
        "Português (Portugal)",
        "română",
        "shqip",
        "Slovenčina",
        "slovenščina",
        "Suomi",
        "Svenska",
        "Tiếng Việt",
        "Türkçe",
        "Ελληνικά",
        "български",
        "кыргызча",
        "қазақ тілі",
        "македонски",
        "монгол",
        "Русский",
        "српски",
        "Українська",
        "ქართული",
        "հայերեն",
        "עברית",
        "اردو",
        "العربية",
        "فارسی",
        "አማርኛ",
        "नेपाली",
        "हिन्दी",
        "मराठी",
        "বাংলা",
        "ਪੰਜਾਬੀ",
        "ગુજરાતી",
        "தமிழ்",
        "తెలుగు",
        "ಕನ್ನಡ",
        "മലയാളം",
        "සිංහල",
        "ไทย",
        "ລາວ",
        "ဗမာ",
        "ខ្មែរ",
        "한국어",
        "日本語",
        "简体中文",
        "繁體中文",
        "中文 (Chinese)",
        "Português"
      ],
      "default": "en",
      "prefill": "en"
    }
  }
}
