AI Web FeedsAI Web FeedsOpen web AI reader
  • Features
    Documentation

    Platform Integrations

    Native support for Reddit, Medium, YouTube, GitHub, and more

    Source: apps/web/content/docs/features/platform-integrations.mdx

    Platform Integrations

    AI Web Feeds provides native support for popular content platforms, automatically converting URLs to their RSS/Atom feed equivalents.

    Supported Platforms

    Reddit

    Convert subreddit and user URLs to RSS feeds.

    URL Formats:

    • Subreddit: https://reddit.com/r/{subreddit}
    • User: https://reddit.com/u/{username}

    Configuration:

    - id: "machinelearning-subreddit"
      site: "https://www.reddit.com/r/MachineLearning"
      title: "r/MachineLearning"
      source_type: "reddit"
      topics: ["ml", "community"]
      platform_config:
        platform: "reddit"
        reddit:
          subreddit: "MachineLearning"
          sort: "hot" # hot, new, top, rising
          time: "day" # hour, day, week, month, year, all (for top)

    Auto-generated feed:

    • hot: https://www.reddit.com/r/MachineLearning/hot/.rss
    • top: https://www.reddit.com/r/MachineLearning/top/.rss?t=day
    • new: https://www.reddit.com/r/MachineLearning/new/.rss

    Medium

    Convert Medium publications and user profiles to RSS feeds.

    URL Formats:

    • Publication: https://medium.com/{publication}
    • User: https://medium.com/@{username}
    • Tag: https://medium.com/tag/{tag}

    Configuration:

    - id: "towards-data-science"
      site: "https://towardsdatascience.com"
      title: "Towards Data Science"
      source_type: "medium"
      topics: ["ml", "data-science"]
      platform_config:
        platform: "medium"
        medium:
          publication: "towards-data-science"

    Auto-generated feed:

    • Publication: https://medium.com/feed/towards-data-science
    • User: https://medium.com/feed/@username
    • Tag: https://medium.com/feed/tag/ai

    YouTube

    Convert YouTube channels and playlists to RSS feeds.

    URL Formats:

    • Channel: https://youtube.com/channel/{channel_id}
    • User: https://youtube.com/@{username}
    • Playlist: https://youtube.com/playlist?list={playlist_id}

    Configuration:

    - id: "two-minute-papers"
      site: "https://www.youtube.com/@TwoMinutePapers"
      title: "Two Minute Papers"
      source_type: "youtube"
      topics: ["research", "video"]
      platform_config:
        platform: "youtube"
        youtube:
          channel_id: "UCbfYPyITQ-7l4upoX8nvctg"

    Auto-generated feed:

    • Channel: https://www.youtube.com/feeds/videos.xml?channel_id=UCbfYPyITQ-7l4upoX8nvctg
    • Playlist: https://www.youtube.com/feeds/videos.xml?playlist_id=PLxxxxxx

    GitHub

    Convert GitHub repositories to Atom feeds for releases, commits, and tags.

    URL Format:

    • Repository: https://github.com/{owner}/{repo}

    Configuration:

    - id: "pytorch-releases"
      site: "https://github.com/pytorch/pytorch"
      title: "PyTorch Releases"
      source_type: "github"
      topics: ["frameworks", "ml"]
      platform_config:
        platform: "github"
        github:
          owner: "pytorch"
          repo: "pytorch"
          feed_type: "releases" # releases, commits, tags, activity
          branch: "main" # optional, for commits feed

    Auto-generated feeds:

    • Releases: https://github.com/pytorch/pytorch/releases.atom
    • Commits: https://github.com/pytorch/pytorch/commits.atom
    • Tags: https://github.com/pytorch/pytorch/tags.atom
    • Activity: https://github.com/pytorch/pytorch/activity.atom

    Substack

    Convert Substack publications to RSS feeds.

    URL Format:

    • Publication: https://{publication}.substack.com

    Configuration:

    - id: "import-ai"
      site: "https://importai.substack.com"
      title: "Import AI"
      source_type: "substack"
      topics: ["newsletters", "industry"]
      platform_config:
        platform: "substack"
        substack:
          publication: "importai"

    Auto-generated feed:

    • https://importai.substack.com/feed

    Dev.to

    Convert Dev.to users, organizations, and tags to RSS feeds.

    URL Formats:

    • User: https://dev.to/{username}
    • Organization: https://dev.to/{org}
    • Tag: https://dev.to/t/{tag}

    Configuration:

    - id: "devto-ml-tag"
      site: "https://dev.to/t/machinelearning"
      title: "Dev.to - ML Tag"
      source_type: "devto"
      topics: ["blogs", "tutorials"]
      platform_config:
        platform: "devto"
        devto:
          tag: "machinelearning"

    Auto-generated feeds:

    • User: https://dev.to/feed/username
    • Tag: https://dev.to/feed/tag/machinelearning

    Hacker News

    Access Hacker News RSS feeds.

    Configuration:

    - id: "hackernews-frontpage"
      site: "https://news.ycombinator.com"
      title: "Hacker News - Front Page"
      source_type: "hackernews"
      topics: ["tech", "news"]
      platform_config:
        platform: "hackernews"
        hackernews:
          feed_type: "frontpage" # frontpage, newest, best, ask, show, jobs

    Auto-generated feeds:

    • Frontpage: https://news.ycombinator.com/rss
    • Newest: https://news.ycombinator.com/newest.rss
    • Best: https://news.ycombinator.com/best.rss
    • Ask HN: https://news.ycombinator.com/ask.rss
    • Show HN: https://news.ycombinator.com/show.rss

    How It Works

    Automatic Detection

    When you provide a site URL, the system:

    1. Detects the platform from the URL domain
    2. Extracts identifiers (subreddit, username, channel ID, etc.)
    3. Generates the feed URL using platform-specific patterns
    4. Validates the feed before saving

    Manual Configuration

    For more control, use platform_config:

    - id: "custom-reddit"
      site: "https://www.reddit.com/r/MachineLearning"
      platform_config:
        platform: "reddit"
        reddit:
          subreddit: "MachineLearning"
          sort: "top"
          time: "week"

    Enrichment Metadata

    Auto-generated feeds include metadata:

    meta:
      platform: "reddit" # Platform name
      platform_generated: true # Feed URL was auto-generated
      format: "rss" # Detected feed format
      last_validated: "2025-10-15T12:00:00"

    Complete Example

    Here's a complete feeds.yaml with platform integrations:

    schema_version: "feeds-1.0.0"
    
    sources:
      # Reddit subreddit
      - id: "ml-subreddit"
        site: "https://www.reddit.com/r/MachineLearning"
        title: "r/MachineLearning"
        source_type: "reddit"
        topics: ["ml", "community"]
        platform_config:
          platform: "reddit"
          reddit:
            subreddit: "MachineLearning"
            sort: "hot"
    
      # Medium publication
      - id: "tds-medium"
        site: "https://towardsdatascience.com"
        title: "Towards Data Science"
        source_type: "medium"
        topics: ["ml", "data-science"]
        platform_config:
          platform: "medium"
          medium:
            publication: "towards-data-science"
    
      # YouTube channel
      - id: "yt-2min-papers"
        site: "https://www.youtube.com/@TwoMinutePapers"
        title: "Two Minute Papers"
        source_type: "youtube"
        topics: ["research", "video"]
        platform_config:
          platform: "youtube"
          youtube:
            channel_id: "UCbfYPyITQ-7l4upoX8nvctg"
    
      # GitHub releases
      - id: "pytorch-gh"
        site: "https://github.com/pytorch/pytorch"
        title: "PyTorch Releases"
        source_type: "github"
        topics: ["frameworks", "ml"]
        platform_config:
          platform: "github"
          github:
            owner: "pytorch"
            repo: "pytorch"
            feed_type: "releases"
    
      # Substack newsletter
      - id: "importai-newsletter"
        site: "https://importai.substack.com"
        title: "Import AI"
        source_type: "substack"
        topics: ["newsletters"]
        platform_config:
          platform: "substack"
          substack:
            publication: "importai"

    CLI Usage

    Generate feeds with platform auto-detection:

    # Enrich feeds (auto-generates platform feed URLs)
    uv run ai-web-feeds enrich all
    
    # View the enriched YAML with generated feed URLs
    cat data/feeds.enriched.yaml
    
    # Generate OPML with platform feeds
    uv run ai-web-feeds opml all

    Python API

    Use platform integrations programmatically:

    from ai_web_feeds.utils import (
        detect_platform,
        generate_platform_feed_url,
        enrich_feed_source,
    )
    
    # Detect platform
    platform = detect_platform("https://www.reddit.com/r/MachineLearning")
    # Returns: "reddit"
    
    # Generate feed URL
    feed_url = generate_platform_feed_url(
        "https://www.reddit.com/r/MachineLearning",
        "reddit",
        {"reddit": {"subreddit": "MachineLearning", "sort": "hot"}}
    )
    # Returns: "https://www.reddit.com/r/MachineLearning/hot/.rss"
    
    # Enrich with platform detection
    feed_data = {
        "id": "ml-reddit",
        "site": "https://www.reddit.com/r/MachineLearning",
        "platform_config": {
            "platform": "reddit",
            "reddit": {"subreddit": "MachineLearning"}
        }
    }
    
    enriched = await enrich_feed_source(feed_data)
    # enriched["feed"] will contain the auto-generated RSS URL

    Benefits

    • No manual feed URL lookup - Just provide the platform URL
    • Consistent formatting - All feeds follow platform standards
    • Validation - Auto-generated URLs are validated before saving
    • Metadata tracking - Know which feeds were auto-generated
    • Easy maintenance - Update platform configs, not URLs

    Limitations

    • Platform changes - If platforms change their feed URL patterns, updates needed
    • Rate limiting - Some platforms may rate-limit feed access
    • Authentication - Private/authenticated feeds not supported
    • Custom domains - Some platforms use custom domains that may not auto-detect

    Next Steps

    Platform Integrations | AI Web Feeds