{
  "openapi": "3.0.1",
  "info": {
    "title": "RSS Feed Reader & Scraper: Atom, JSON Feed & New-Item Monitor",
    "description": "RSS feed reader and scraper. Read any RSS, Atom or JSON Feed, or give a website and it finds the feed. Clean items with dates, authors, summaries, images and podcast enclosures. Schedule it with \"Only new items\" to get only what you have not seen before. USD 1.50 per 1,000 items.",
    "version": "1.0",
    "x-build-id": "p7h4hcs8UDQ5ipYbp"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jtpalms~rss-feed-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jtpalms-rss-feed-monitor",
        "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/jtpalms~rss-feed-monitor/runs": {
      "post": {
        "operationId": "runs-sync-jtpalms-rss-feed-monitor",
        "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/jtpalms~rss-feed-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-jtpalms-rss-feed-monitor",
        "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",
        "required": [
          "feeds"
        ],
        "properties": {
          "feeds": {
            "title": "Feeds or websites",
            "type": "array",
            "description": "Feed URLs (RSS, Atom or JSON Feed) or plain website URLs, one per line. For a website the actor finds the feed itself: first from the page's <link rel=\"alternate\"> tag, then at /feed, /rss, /rss.xml, /atom.xml, /feed.xml and /index.xml. Duplicates are removed.",
            "items": {
              "type": "string"
            }
          },
          "onlyNewItems": {
            "title": "Only new items",
            "type": "boolean",
            "description": "Remember which items each feed has shown and output only items that were not seen in earlier runs. Schedule the actor (hourly, daily) to use this as a monitor: runs with nothing new output nothing and cost nothing. The memory is kept in your \"rss-feed-monitor\" key-value store (the latest 5,000 item IDs per feed).",
            "default": false
          },
          "firstRunOutput": {
            "title": "First run with \"Only new items\"",
            "enum": [
              "all",
              "none"
            ],
            "type": "string",
            "description": "What the first run for a feed outputs. All: the items currently in the feed (up to the maximum per feed). None: nothing, it only records what is there now, so you get only items published after today.",
            "default": "all"
          },
          "maxItemsPerFeed": {
            "title": "Max items per feed",
            "minimum": 0,
            "type": "integer",
            "description": "At most this many items per feed per run, newest first. 0 means no limit. With \"Only new items\", new items beyond this limit are kept for the next run.",
            "default": 100
          },
          "publishedWithinDays": {
            "title": "Published within (days)",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Only items published in the last N days. Items without any date are left out when this is set."
          },
          "keywords": {
            "title": "Keywords (any of)",
            "type": "array",
            "description": "Optional. Keep only items whose title or summary contains at least one of these. Whole words, not case-sensitive: \"AI\" does not match \"said\". End a word with * for any ending (\"startup*\"), or write /pattern/ for a regular expression.",
            "items": {
              "type": "string"
            }
          },
          "includeContent": {
            "title": "Include full text",
            "type": "boolean",
            "description": "Add contentText: the item's full text as the feed provides it, HTML removed, up to 10,000 characters. Handy for AI and search indexing. Many feeds carry only a summary.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Feeds in parallel",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many feeds to read at the same time.",
            "default": 10
          },
          "monitorId": {
            "title": "Monitor name",
            "type": "string",
            "description": "Optional. Keeps a separate memory of seen items. Use a different name for each schedule that watches the same feeds with different keywords, so they do not share what counts as new."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. Only needed if a site blocks requests from data centers (HTTP 403 or 429 errors)."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}