{
  "description": "Search Google News by keyword or browse topics, convert Google News URLs, read RSS feeds, or extract full text from article URLs.",
  "properties": {
    "articleUrls": {
      "default": [],
      "description": "Publisher article URLs or Google News article URLs. Every page is fetched and full text is extracted, with a per-record status when a publisher blocks or paywalls it.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": [],
      "title": "Article URLs (mode=articleUrls)",
      "type": "array"
    },
    "country": {
      "default": "US",
      "description": "Country edition for Google News. The actor always pins the edition so results do not change with the machine's IP.",
      "editor": "select",
      "enum": [
        "US",
        "GB",
        "CA",
        "AU",
        "NZ",
        "IE",
        "IN",
        "PK",
        "BD",
        "LK",
        "NP",
        "DE",
        "FR",
        "ES",
        "IT",
        "PT",
        "NL",
        "BE",
        "AT",
        "CH",
        "SE",
        "NO",
        "DK",
        "FI",
        "IS",
        "PL",
        "CZ",
        "SK",
        "HU",
        "RO",
        "BG",
        "GR",
        "HR",
        "RS",
        "SI",
        "UA",
        "RU",
        "TR",
        "IL",
        "SA",
        "AE",
        "EG",
        "QA",
        "KW",
        "BH",
        "OM",
        "JO",
        "LB",
        "IQ",
        "IR",
        "MA",
        "DZ",
        "TN",
        "NG",
        "KE",
        "ZA",
        "GH",
        "ET",
        "TZ",
        "UG",
        "MX",
        "BR",
        "AR",
        "CL",
        "CO",
        "PE",
        "VE",
        "EC",
        "UY",
        "PY",
        "BO",
        "CR",
        "PA",
        "DO",
        "GT",
        "HN",
        "SV",
        "NI",
        "PR",
        "JP",
        "KR",
        "CN",
        "HK",
        "TW",
        "SG",
        "MY",
        "ID",
        "TH",
        "VN",
        "PH",
        "KH",
        "MM",
        "LA",
        "MN",
        "KZ",
        "UZ",
        "AZ",
        "GE",
        "AM"
      ],
      "enumTitles": [
        "United States",
        "United Kingdom",
        "Canada",
        "Australia",
        "New Zealand",
        "Ireland",
        "India",
        "Pakistan",
        "Bangladesh",
        "Sri Lanka",
        "Nepal",
        "Germany",
        "France",
        "Spain",
        "Italy",
        "Portugal",
        "Netherlands",
        "Belgium",
        "Austria",
        "Switzerland",
        "Sweden",
        "Norway",
        "Denmark",
        "Finland",
        "Iceland",
        "Poland",
        "Czechia",
        "Slovakia",
        "Hungary",
        "Romania",
        "Bulgaria",
        "Greece",
        "Croatia",
        "Serbia",
        "Slovenia",
        "Ukraine",
        "Russia",
        "Turkey",
        "Israel",
        "Saudi Arabia",
        "United Arab Emirates",
        "Egypt",
        "Qatar",
        "Kuwait",
        "Bahrain",
        "Oman",
        "Jordan",
        "Lebanon",
        "Iraq",
        "Iran",
        "Morocco",
        "Algeria",
        "Tunisia",
        "Nigeria",
        "Kenya",
        "South Africa",
        "Ghana",
        "Ethiopia",
        "Tanzania",
        "Uganda",
        "Mexico",
        "Brazil",
        "Argentina",
        "Chile",
        "Colombia",
        "Peru",
        "Venezuela",
        "Ecuador",
        "Uruguay",
        "Paraguay",
        "Bolivia",
        "Costa Rica",
        "Panama",
        "Dominican Republic",
        "Guatemala",
        "Honduras",
        "El Salvador",
        "Nicaragua",
        "Puerto Rico",
        "Japan",
        "South Korea",
        "China",
        "Hong Kong",
        "Taiwan",
        "Singapore",
        "Malaysia",
        "Indonesia",
        "Thailand",
        "Vietnam",
        "Philippines",
        "Cambodia",
        "Myanmar",
        "Laos",
        "Mongolia",
        "Kazakhstan",
        "Uzbekistan",
        "Azerbaijan",
        "Georgia",
        "Armenia"
      ],
      "prefill": "US",
      "title": "Country / edition",
      "type": "string"
    },
    "dateRange": {
      "default": "any",
      "description": "Recency window. Every item is post-filtered by its real publication time, so items newer than the window never leak. 'custom' uses startDate/endDate. Multi-day ranges can be walked day by day to collect more than one feed page.",
      "editor": "select",
      "enum": [
        "any",
        "1h",
        "6h",
        "12h",
        "1d",
        "7d",
        "30d",
        "1y",
        "custom"
      ],
      "enumTitles": [
        "Any time",
        "Past hour",
        "Past 6 hours",
        "Past 12 hours",
        "Past day",
        "Past week",
        "Past 30 days",
        "Past year",
        "Custom dates"
      ],
      "prefill": "any",
      "title": "Date range",
      "type": "string"
    },
    "endDate": {
      "description": "Custom range end (YYYY-MM-DD, inclusive). Items published after the end are dropped client-side.",
      "editor": "textfield",
      "title": "End date",
      "type": "string"
    },
    "extractFullText": {
      "default": false,
      "description": "Fetch each publisher page and extract its article body, description, author, and image. Default off for fast metadata-only runs. The articleUrls mode always extracts.",
      "prefill": false,
      "title": "Extract full text",
      "type": "boolean"
    },
    "language": {
      "default": "en",
      "description": "Language of the Google News edition. Combined with country in the edition token (for example US:en, DE:de, JP:ja).",
      "editor": "select",
      "enum": [
        "en",
        "de",
        "fr",
        "es",
        "it",
        "pt",
        "nl",
        "pl",
        "ru",
        "uk",
        "tr",
        "ar",
        "he",
        "fa",
        "hi",
        "bn",
        "ur",
        "ta",
        "te",
        "ml",
        "mr",
        "gu",
        "kn",
        "pa",
        "ja",
        "ko",
        "zh",
        "th",
        "vi",
        "id",
        "ms",
        "fil",
        "sv",
        "no",
        "da",
        "fi",
        "cs",
        "sk",
        "hu",
        "ro",
        "bg",
        "el",
        "hr",
        "sr",
        "sl",
        "lt",
        "lv",
        "et",
        "ca",
        "eu",
        "gl",
        "af",
        "sw",
        "am",
        "az",
        "kk",
        "uz",
        "ne",
        "si",
        "my",
        "km",
        "lo",
        "mn",
        "ka",
        "hy",
        "is",
        "ga",
        "mt",
        "mk",
        "sq",
        "bs",
        "be",
        "ky",
        "tg"
      ],
      "enumTitles": [
        "English",
        "German",
        "French",
        "Spanish",
        "Italian",
        "Portuguese",
        "Dutch",
        "Polish",
        "Russian",
        "Ukrainian",
        "Turkish",
        "Arabic",
        "Hebrew",
        "Persian",
        "Hindi",
        "Bengali",
        "Urdu",
        "Tamil",
        "Telugu",
        "Malayalam",
        "Marathi",
        "Gujarati",
        "Kannada",
        "Punjabi",
        "Japanese",
        "Korean",
        "Chinese",
        "Thai",
        "Vietnamese",
        "Indonesian",
        "Malay",
        "Filipino",
        "Swedish",
        "Norwegian",
        "Danish",
        "Finnish",
        "Czech",
        "Slovak",
        "Hungarian",
        "Romanian",
        "Bulgarian",
        "Greek",
        "Croatian",
        "Serbian",
        "Slovenian",
        "Lithuanian",
        "Latvian",
        "Estonian",
        "Catalan",
        "Basque",
        "Galician",
        "Afrikaans",
        "Swahili",
        "Amharic",
        "Azerbaijani",
        "Kazakh",
        "Uzbek",
        "Nepali",
        "Sinhala",
        "Burmese",
        "Khmer",
        "Lao",
        "Mongolian",
        "Georgian",
        "Armenian",
        "Icelandic",
        "Irish",
        "Maltese",
        "Macedonian",
        "Albanian",
        "Bosnian",
        "Belarusian",
        "Kyrgyz",
        "Tajik"
      ],
      "prefill": "en",
      "title": "Language",
      "type": "string"
    },
    "maxFullText": {
      "default": 100,
      "description": "Maximum pages fetched for full text per run (1-500). Records beyond this cap are still returned with fullTextStatus=skipped_cap.",
      "maximum": 500,
      "minimum": 1,
      "prefill": 100,
      "title": "Max full-text extractions",
      "type": "integer"
    },
    "maxItems": {
      "default": 500,
      "description": "Hard cap on unique records emitted by the run (1-5000).",
      "maximum": 5000,
      "minimum": 1,
      "prefill": 3,
      "title": "Max items",
      "type": "integer"
    },
    "maxResultsPerQuery": {
      "default": 20,
      "description": "Maximum records taken from each Google News feed request (1-100, Google's own cap is about 100). When a date range spans several days, the actor walks day windows and can collect more than 100 for one query, up to maxItems.",
      "maximum": 100,
      "minimum": 1,
      "prefill": 3,
      "title": "Max results per query window",
      "type": "integer"
    },
    "mode": {
      "default": "keyword",
      "description": "What to scrape. Each mode reads its own list field below.",
      "editor": "select",
      "enum": [
        "keyword",
        "topic",
        "newsUrl",
        "rss",
        "articleUrls"
      ],
      "enumTitles": [
        "Keyword search",
        "Browse a topic",
        "Google News URL",
        "RSS / Atom feed",
        "Direct article URLs (full text)"
      ],
      "prefill": "keyword",
      "title": "Mode",
      "type": "string"
    },
    "newsUrls": {
      "default": [],
      "description": "Google News search URLs, topic URLs, RSS search/topic URLs, or RSS/Atom feed URLs to convert into a feed.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": [],
      "title": "Google News URLs (mode=newsUrl)",
      "type": "array"
    },
    "proxyConfiguration": {
      "default": {
        "useApifyProxy": false
      },
      "description": "Optional. No proxy is needed by default; Google News RSS and publisher pages work without one. Residential proxies can make Google rate-limit more, so leave this off unless you need it.",
      "editor": "proxy",
      "prefill": {
        "useApifyProxy": false
      },
      "title": "Proxy configuration",
      "type": "object"
    },
    "queries": {
      "default": [],
      "description": "One or more keyword queries. Google operators such as site:, intitle: and OR are supported. Results are deduplicated across queries.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": [
        "artificial intelligence"
      ],
      "title": "Search queries (mode=keyword)",
      "type": "array"
    },
    "rssUrls": {
      "default": [],
      "description": "Any public RSS or Atom feed. Google News links inside the feed are resolved to publisher URLs automatically.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": [],
      "title": "RSS / Atom feeds (mode=rss)",
      "type": "array"
    },
    "startDate": {
      "description": "Custom range start (YYYY-MM-DD, inclusive). Also used when dateRange=custom.",
      "editor": "textfield",
      "title": "Start date",
      "type": "string"
    },
    "topics": {
      "default": [],
      "description": "Topic names (WORLD, NATION, BUSINESS, TECHNOLOGY, ENTERTAINMENT, SPORTS, SCIENCE, HEALTH), TOP for top stories, Google News topic hashes/section URLs, or topic URLs. Topic feeds ignore server-side date filters; results are filtered after download.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": [],
      "title": "Topics (mode=topic)",
      "type": "array"
    }
  },
  "required": [
    "mode"
  ],
  "schemaVersion": 1,
  "title": "Google News Scraper Input",
  "type": "object"
}
