{
  "openapi": "3.1.0",
  "info": {
    "title": "Feedpeck API",
    "version": "1.0.0",
    "summary": "Free RSS feed finder API and MCP server: give a website, get its validated RSS, Atom and JSON feeds with title, type, last post date and latest posts.",
    "description": "Type a website, get every real RSS, Atom and JSON feed it publishes, checked and parsed, with its newest posts. Works for blogs, news sites, Reddit, Medium, YouTube channels and GitHub releases.\n\nFree tier: 20 calls per minute per IP address. Up to 5 sites per call. Up to 10 latest posts per feed, up to 5 feeds per site. About 15 seconds per call at most; slow sites come back as \"failed\" with the reason. Free, no key, no sign-up. Feeds are fetched live on every call. No key needed. Remote MCP server: https://feedpeck.cybermax-tools.workers.dev/mcp",
    "contact": {
      "name": "CyberMax",
      "url": "https://cybermax-tools-cybermax.static.hf.space/"
    },
    "license": {
      "name": "Proprietary (free to call)",
      "identifier": "LicenseRef-CyberMax"
    }
  },
  "servers": [
    {
      "url": "https://feedpeck.cybermax-tools.workers.dev"
    }
  ],
  "paths": {
    "/api/feeds": {
      "get": {
        "tags": [
          "Feedpeck"
        ],
        "summary": "Find and read the feeds of up to 5 websites",
        "description": "Discovers feeds from <link rel=\"alternate\"> tags, page links, common paths and platform rules, downloads and parses each candidate (RSS 2.0, RSS 1.0, Atom, JSON Feed) and returns only real feeds, main feed first, with the latest posts.",
        "operationId": "findFeedsGet",
        "parameters": [
          {
            "name": "site",
            "in": "query",
            "required": true,
            "description": "Up to 5 websites or feed URLs, comma separated",
            "schema": {
              "type": "string"
            },
            "example": "github.blog,xkcd.com"
          },
          {
            "name": "items",
            "in": "query",
            "required": false,
            "description": "Latest posts per feed (0-10, default 5)",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 5
            }
          },
          {
            "name": "maxFeeds",
            "in": "query",
            "required": false,
            "description": "Feeds per site (1-5, default 3)",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5,
              "default": 3
            }
          },
          {
            "name": "includeComments",
            "in": "query",
            "required": false,
            "description": "Also return WordPress comment feeds",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                },
                "example": {
                  "results": [
                    {
                      "site": "github.blog",
                      "feedUrl": "https://github.blog/feed/",
                      "feedTitle": "The GitHub Blog",
                      "feedType": "rss 2.0",
                      "siteUrl": "https://github.blog/",
                      "discoveredVia": "link-tag",
                      "lastItemAt": "2026-09-25T18:00:00.000Z",
                      "itemCount": 10,
                      "status": "ok",
                      "description": "Updates, ideas, and inspiration from GitHub to help developers build and design software.",
                      "language": "en-US",
                      "firstItemAt": "2026-09-10T21:31:19.000Z",
                      "latestItems": [
                        {
                          "title": "GitHub Copilot app for Beginners: How to build custom workflows with canvases",
                          "url": "https://github.blog/ai-and-ml/github-copilot/github-copilot-app-for-beginners-how-to-build-custom-workflows-with-canvases/",
                          "id": "https://github.blog/?p=99027",
                          "published": "2026-09-25T18:00:00.000Z",
                          "updated": null,
                          "author": "Kayla Cinnamon",
                          "summary": "Describe the interface you need in plain English, then let the agent build a live surface you can both use and update—so you spend less time adapting to tools and more time getting work done. The post GitHub Copilot app for Beginners: How to build custom workflows with canvases appeared first on Th…",
                          "categories": [
                            "AI & ML",
                            "GitHub Copilot",
                            "GitHub Copilot app",
                            "GitHub Copilot app for Beginners"
                          ],
                          "image": null
                        },
                        {
                          "title": "Improving site performance by shipping more CSS",
                          "url": "https://github.blog/engineering/architecture-optimization/improving-site-performance-by-shipping-more-css/",
                          "id": "https://github.blog/?p=99030",
                          "published": "2026-09-25T15:00:00.000Z",
                          "updated": null,
                          "author": "Josh Black",
                          "summary": "How we fully migrated github.com away from CSS-in-JS. The post Improving site performance by shipping more CSS appeared first on The GitHub Blog .",
                          "categories": [
                            "Architecture & optimization",
                            "Engineering",
                            "User experience",
                            "automation",
                            "CSS",
                            "design systems",
                            "performance engineering",
                            "Primer",
                            "scripting"
                          ],
                          "image": null
                        },
                        {
                          "title": "When chat is the wrong UI",
                          "url": "https://github.blog/ai-and-ml/github-copilot/when-chat-is-the-wrong-ui/",
                          "id": "https://github.blog/?p=98939",
                          "published": "2026-09-24T20:00:00.000Z",
                          "updated": null,
                          "author": "Burke Holland",
                          "summary": "What is a developer to do when they need something more tangible than a chat box? Enter canvases. The post When chat is the wrong UI appeared first on The GitHub Blog .",
                          "categories": [
                            "AI & ML",
                            "GitHub Copilot",
                            "canvases",
                            "GitHub Copilot app"
                          ],
                          "image": null
                        }
                      ],
                      "fetchedAt": "2026-09-25T23:03:20.553Z"
                    },
                    {
                      "site": "xkcd.com",
                      "feedUrl": "https://xkcd.com/atom.xml",
                      "feedTitle": "xkcd.com",
                      "feedType": "atom",
                      "siteUrl": "https://xkcd.com/",
                      "discoveredVia": "link-tag",
                      "lastItemAt": "2026-09-25T00:00:00.000Z",
                      "itemCount": 4,
                      "status": "ok",
                      "description": null,
                      "language": "en",
                      "firstItemAt": "2026-09-18T00:00:00.000Z",
                      "latestItems": [
                        {
                          "title": "Slab Graveyard",
                          "url": "https://xkcd.com/3303/",
                          "id": "https://xkcd.com/3303/",
                          "published": null,
                          "updated": "2026-09-25T00:00:00.000Z",
                          "author": null,
                          "summary": null,
                          "categories": [],
                          "image": null
                        },
                        {
                          "title": "Voyager Instruments",
                          "url": "https://xkcd.com/3302/",
                          "id": "https://xkcd.com/3302/",
                          "published": null,
                          "updated": "2026-09-23T00:00:00.000Z",
                          "author": null,
                          "summary": null,
                          "categories": [],
                          "image": null
                        },
                        {
                          "title": "Stargazing 5",
                          "url": "https://xkcd.com/3301/",
                          "id": "https://xkcd.com/3301/",
                          "published": null,
                          "updated": "2026-09-21T00:00:00.000Z",
                          "author": null,
                          "summary": null,
                          "categories": [],
                          "image": null
                        }
                      ],
                      "fetchedAt": "2026-09-25T23:03:20.553Z"
                    },
                    {
                      "site": "reddit.com/r/programming",
                      "feedUrl": "https://www.reddit.com/r/programming/.rss",
                      "feedTitle": "programming",
                      "feedType": "atom",
                      "siteUrl": "https://www.reddit.com/r/programming/",
                      "discoveredVia": "platform-rule",
                      "lastItemAt": "2026-09-25T23:02:12.000Z",
                      "itemCount": 25,
                      "status": "ok",
                      "description": "Computer Programming",
                      "language": null,
                      "firstItemAt": "2026-09-22T01:52:13.000Z",
                      "latestItems": [
                        {
                          "title": "A Lean Proof Printing Python Union Find",
                          "url": "https://www.reddit.com/r/programming/comments/1wqan1r/a_lean_proof_printing_python_union_find/",
                          "id": "t3_1wqan1r",
                          "published": "2026-09-25T23:02:12.000Z",
                          "updated": "2026-09-25T23:02:12.000Z",
                          "author": "/u/mttd",
                          "summary": "&#32; submitted by &#32; /u/mttd [link] &#32; [comments]",
                          "categories": [
                            "programming"
                          ],
                          "image": null
                        },
                        {
                          "title": "Microservices are organizational debt disguised as architecture.",
                          "url": "https://www.reddit.com/r/programming/comments/1wq8nbw/microservices_are_organizational_debt_disguised/",
                          "id": "t3_1wq8nbw",
                          "published": "2026-09-25T21:35:37.000Z",
                          "updated": "2026-09-25T21:35:37.000Z",
                          "author": "/u/Mustela__",
                          "summary": "Every time I’ve seen microservices pitched, it sounds great on paper. Independent teams, clean ownership, scale only what you need. Then a year later you’ve got dozens of services, three different deployment patterns, tracing everywhere, and nobody really understands the whole thing anymore. Maybe…",
                          "categories": [
                            "programming"
                          ],
                          "image": null
                        },
                        {
                          "title": "phrack-72.pdf",
                          "url": "https://www.reddit.com/r/programming/comments/1wq4df5/phrack72pdf/",
                          "id": "t3_1wq4df5",
                          "published": "2026-09-25T18:44:53.000Z",
                          "updated": "2026-09-25T18:44:53.000Z",
                          "author": "/u/TinuvielTaco",
                          "summary": "&#32; submitted by &#32; /u/TinuvielTaco [link] &#32; [comments]",
                          "categories": [
                            "programming"
                          ],
                          "image": null
                        }
                      ],
                      "fetchedAt": "2026-09-25T23:03:20.553Z"
                    }
                  ],
                  "count": 3,
                  "sitesChecked": 3
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited (see the Retry-After header)",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Feedpeck"
        ],
        "summary": "Find and read the feeds of up to 5 websites",
        "description": "Discovers feeds from <link rel=\"alternate\"> tags, page links, common paths and platform rules, downloads and parses each candidate (RSS 2.0, RSS 1.0, Atom, JSON Feed) and returns only real feeds, main feed first, with the latest posts.",
        "operationId": "findFeedsPost",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sites": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 1,
                    "maxItems": 5,
                    "description": "Websites, domains, section URLs (example.com/blog), Reddit/Medium/YouTube-channel/GitHub-repo URLs, or a feed URL. Up to 5."
                  },
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 10
                  },
                  "maxFeeds": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 5
                  },
                  "includeComments": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "sites"
                ]
              },
              "example": {
                "sites": [
                  "github.blog",
                  "xkcd.com"
                ],
                "items": 3
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                },
                "example": {
                  "results": [
                    {
                      "site": "github.blog",
                      "feedUrl": "https://github.blog/feed/",
                      "feedTitle": "The GitHub Blog",
                      "feedType": "rss 2.0",
                      "siteUrl": "https://github.blog/",
                      "discoveredVia": "link-tag",
                      "lastItemAt": "2026-09-25T18:00:00.000Z",
                      "itemCount": 10,
                      "status": "ok",
                      "description": "Updates, ideas, and inspiration from GitHub to help developers build and design software.",
                      "language": "en-US",
                      "firstItemAt": "2026-09-10T21:31:19.000Z",
                      "latestItems": [
                        {
                          "title": "GitHub Copilot app for Beginners: How to build custom workflows with canvases",
                          "url": "https://github.blog/ai-and-ml/github-copilot/github-copilot-app-for-beginners-how-to-build-custom-workflows-with-canvases/",
                          "id": "https://github.blog/?p=99027",
                          "published": "2026-09-25T18:00:00.000Z",
                          "updated": null,
                          "author": "Kayla Cinnamon",
                          "summary": "Describe the interface you need in plain English, then let the agent build a live surface you can both use and update—so you spend less time adapting to tools and more time getting work done. The post GitHub Copilot app for Beginners: How to build custom workflows with canvases appeared first on Th…",
                          "categories": [
                            "AI & ML",
                            "GitHub Copilot",
                            "GitHub Copilot app",
                            "GitHub Copilot app for Beginners"
                          ],
                          "image": null
                        },
                        {
                          "title": "Improving site performance by shipping more CSS",
                          "url": "https://github.blog/engineering/architecture-optimization/improving-site-performance-by-shipping-more-css/",
                          "id": "https://github.blog/?p=99030",
                          "published": "2026-09-25T15:00:00.000Z",
                          "updated": null,
                          "author": "Josh Black",
                          "summary": "How we fully migrated github.com away from CSS-in-JS. The post Improving site performance by shipping more CSS appeared first on The GitHub Blog .",
                          "categories": [
                            "Architecture & optimization",
                            "Engineering",
                            "User experience",
                            "automation",
                            "CSS",
                            "design systems",
                            "performance engineering",
                            "Primer",
                            "scripting"
                          ],
                          "image": null
                        },
                        {
                          "title": "When chat is the wrong UI",
                          "url": "https://github.blog/ai-and-ml/github-copilot/when-chat-is-the-wrong-ui/",
                          "id": "https://github.blog/?p=98939",
                          "published": "2026-09-24T20:00:00.000Z",
                          "updated": null,
                          "author": "Burke Holland",
                          "summary": "What is a developer to do when they need something more tangible than a chat box? Enter canvases. The post When chat is the wrong UI appeared first on The GitHub Blog .",
                          "categories": [
                            "AI & ML",
                            "GitHub Copilot",
                            "canvases",
                            "GitHub Copilot app"
                          ],
                          "image": null
                        }
                      ],
                      "fetchedAt": "2026-09-25T23:03:20.553Z"
                    },
                    {
                      "site": "xkcd.com",
                      "feedUrl": "https://xkcd.com/atom.xml",
                      "feedTitle": "xkcd.com",
                      "feedType": "atom",
                      "siteUrl": "https://xkcd.com/",
                      "discoveredVia": "link-tag",
                      "lastItemAt": "2026-09-25T00:00:00.000Z",
                      "itemCount": 4,
                      "status": "ok",
                      "description": null,
                      "language": "en",
                      "firstItemAt": "2026-09-18T00:00:00.000Z",
                      "latestItems": [
                        {
                          "title": "Slab Graveyard",
                          "url": "https://xkcd.com/3303/",
                          "id": "https://xkcd.com/3303/",
                          "published": null,
                          "updated": "2026-09-25T00:00:00.000Z",
                          "author": null,
                          "summary": null,
                          "categories": [],
                          "image": null
                        },
                        {
                          "title": "Voyager Instruments",
                          "url": "https://xkcd.com/3302/",
                          "id": "https://xkcd.com/3302/",
                          "published": null,
                          "updated": "2026-09-23T00:00:00.000Z",
                          "author": null,
                          "summary": null,
                          "categories": [],
                          "image": null
                        },
                        {
                          "title": "Stargazing 5",
                          "url": "https://xkcd.com/3301/",
                          "id": "https://xkcd.com/3301/",
                          "published": null,
                          "updated": "2026-09-21T00:00:00.000Z",
                          "author": null,
                          "summary": null,
                          "categories": [],
                          "image": null
                        }
                      ],
                      "fetchedAt": "2026-09-25T23:03:20.553Z"
                    },
                    {
                      "site": "reddit.com/r/programming",
                      "feedUrl": "https://www.reddit.com/r/programming/.rss",
                      "feedTitle": "programming",
                      "feedType": "atom",
                      "siteUrl": "https://www.reddit.com/r/programming/",
                      "discoveredVia": "platform-rule",
                      "lastItemAt": "2026-09-25T23:02:12.000Z",
                      "itemCount": 25,
                      "status": "ok",
                      "description": "Computer Programming",
                      "language": null,
                      "firstItemAt": "2026-09-22T01:52:13.000Z",
                      "latestItems": [
                        {
                          "title": "A Lean Proof Printing Python Union Find",
                          "url": "https://www.reddit.com/r/programming/comments/1wqan1r/a_lean_proof_printing_python_union_find/",
                          "id": "t3_1wqan1r",
                          "published": "2026-09-25T23:02:12.000Z",
                          "updated": "2026-09-25T23:02:12.000Z",
                          "author": "/u/mttd",
                          "summary": "&#32; submitted by &#32; /u/mttd [link] &#32; [comments]",
                          "categories": [
                            "programming"
                          ],
                          "image": null
                        },
                        {
                          "title": "Microservices are organizational debt disguised as architecture.",
                          "url": "https://www.reddit.com/r/programming/comments/1wq8nbw/microservices_are_organizational_debt_disguised/",
                          "id": "t3_1wq8nbw",
                          "published": "2026-09-25T21:35:37.000Z",
                          "updated": "2026-09-25T21:35:37.000Z",
                          "author": "/u/Mustela__",
                          "summary": "Every time I’ve seen microservices pitched, it sounds great on paper. Independent teams, clean ownership, scale only what you need. Then a year later you’ve got dozens of services, three different deployment patterns, tracing everywhere, and nobody really understands the whole thing anymore. Maybe…",
                          "categories": [
                            "programming"
                          ],
                          "image": null
                        },
                        {
                          "title": "phrack-72.pdf",
                          "url": "https://www.reddit.com/r/programming/comments/1wq4df5/phrack72pdf/",
                          "id": "t3_1wq4df5",
                          "published": "2026-09-25T18:44:53.000Z",
                          "updated": "2026-09-25T18:44:53.000Z",
                          "author": "/u/TinuvielTaco",
                          "summary": "&#32; submitted by &#32; /u/TinuvielTaco [link] &#32; [comments]",
                          "categories": [
                            "programming"
                          ],
                          "image": null
                        }
                      ],
                      "fetchedAt": "2026-09-25T23:03:20.553Z"
                    }
                  ],
                  "count": 3,
                  "sitesChecked": 3
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited (see the Retry-After header)",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "retryAfterSeconds": {
            "type": "integer"
          },
          "limits": {
            "type": "object"
          }
        },
        "required": [
          "error",
          "message"
        ]
      }
    }
  },
  "x-mcp-server": "https://feedpeck.cybermax-tools.workers.dev/mcp"
}