{
  "openapi": "3.0.1",
  "info": {
    "title": "RSS & Google News Scraper — AI Summary + Sentiment",
    "description": "Monitor any RSS/Atom feed and Google News in real time. Get AI summaries, sentiment analysis, keyword alerts, and source analytics. Track brand mentions, competitors, and breaking news for PR, media monitoring, and market research. Multi-language, clean JSON.",
    "version": "2.2",
    "x-build-id": "gmgNi5MNfSGxNt9ed"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/viralanalyzer~rss-news-intelligence/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-viralanalyzer-rss-news-intelligence",
        "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/viralanalyzer~rss-news-intelligence/runs": {
      "post": {
        "operationId": "runs-sync-viralanalyzer-rss-news-intelligence",
        "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/viralanalyzer~rss-news-intelligence/run-sync": {
      "post": {
        "operationId": "run-sync-viralanalyzer-rss-news-intelligence",
        "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": {
          "feedUrls": {
            "title": "RSS/Atom Feed URLs",
            "type": "array",
            "description": "List of RSS or Atom feed URLs to monitor. Supports any valid RSS 2.0, RSS 1.0, or Atom feed.",
            "items": {
              "type": "string"
            }
          },
          "googleNewsQueries": {
            "title": "Google News Search Queries",
            "type": "array",
            "description": "Keywords or phrases to search in Google News. Each query generates a separate Google News RSS feed.",
            "items": {
              "type": "string"
            }
          },
          "googleNewsLanguage": {
            "title": "Google News Language",
            "enum": [
              "en",
              "pt-BR",
              "es",
              "fr",
              "de",
              "it",
              "ja",
              "ko",
              "zh-CN",
              "ar",
              "ru"
            ],
            "type": "string",
            "description": "Language for Google News results (ISO 639-1 code).",
            "default": "en"
          },
          "googleNewsRegion": {
            "title": "Google News Region",
            "enum": [
              "US",
              "BR",
              "GB",
              "CA",
              "AU",
              "DE",
              "FR",
              "ES",
              "IT",
              "JP",
              "KR",
              "IN",
              "MX",
              "AR",
              "PT"
            ],
            "type": "string",
            "description": "Country/region for Google News results (ISO 3166-1 alpha-2).",
            "default": "US"
          },
          "keywords": {
            "title": "Keyword Alerts",
            "type": "array",
            "description": "Only include articles matching at least one of these keywords (case-insensitive). Leave empty to include all articles.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxArticlesPerFeed": {
            "title": "Max Articles Per Feed",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of articles to collect from each RSS/Atom feed.",
            "default": 50
          },
          "maxArticlesPerQuery": {
            "title": "Max Articles Per Google News Query",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum number of articles from each Google News search query.",
            "default": 20
          },
          "dateFilter": {
            "title": "Date Filter",
            "enum": [
              "ANY",
              "LAST_1H",
              "LAST_6H",
              "LAST_24H",
              "LAST_7D",
              "LAST_30D"
            ],
            "type": "string",
            "description": "Only include articles published within this time window.",
            "default": "ANY"
          },
          "enableSentiment": {
            "title": "Enable Sentiment Analysis",
            "type": "boolean",
            "description": "Run basic sentiment analysis on each article (positive/negative/neutral). No API key required — uses built-in heuristic with 50+ sentiment words in EN, PT, ES.",
            "default": true
          },
          "enableAiBriefing": {
            "title": "Enable AI News Briefing",
            "type": "boolean",
            "description": "Generate an AI-powered news briefing summarizing all collected articles. Requires a Gemini API key.",
            "default": false
          },
          "geminiApiKey": {
            "title": "Gemini API Key",
            "type": "string",
            "description": "Google Gemini API key for AI briefing generation. Get one free at https://aistudio.google.com/app/apikey"
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Optional proxy for fetching feeds. Usually not needed since RSS feeds are public."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}