PHPackages                             tentaclefeed/feedreader - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. tentaclefeed/feedreader

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

tentaclefeed/feedreader
=======================

A Simple Feed Reader Laravel Package

0.10.0(4y ago)1421MITPHPPHP ^8.0CI failing

Since May 1Pushed 4y ago2 watchersCompare

[ Source](https://github.com/tentaclefeed/feedreader)[ Packagist](https://packagist.org/packages/tentaclefeed/feedreader)[ GitHub Sponsors](https://github.com/marcreichel)[ RSS](/packages/tentaclefeed-feedreader/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (10)Dependencies (7)Versions (23)Used By (0)

> **Please note:** This package is still under development and not yet intended for productive usage but feel free to contribute.

Tentaclefeed FeedReader
=======================

[](#tentaclefeed-feedreader)

[![tests](https://github.com/tentaclefeed/feedreader/actions/workflows/tests.yml/badge.svg?event=push)](https://github.com/tentaclefeed/feedreader/actions/workflows/tests.yml)[![CodeFactor](https://camo.githubusercontent.com/9eba413092e9707741bfa365e0eba20cc3161c989e788731a3210f6021ed86af/68747470733a2f2f7777772e636f6465666163746f722e696f2f7265706f7369746f72792f6769746875622f74656e7461636c65666565642f666565647265616465722f6261646765)](https://www.codefactor.io/repository/github/tentaclefeed/feedreader)[![Packagist Version](https://camo.githubusercontent.com/80b223435abc5701e6fc686efe4540dc3bdd06b5b958756b7855293dd7d55e3a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f74656e7461636c65666565642f66656564726561646572)](https://packagist.org/packages/tentaclefeed/feedreader)[![Packagist Downloads](https://camo.githubusercontent.com/ab8b5e412f1375e1e065f5b6e1fbe60332d1e58cc7a2d2cce291137b77b90bc9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f74656e7461636c65666565642f66656564726561646572)](https://packagist.org/packages/tentaclefeed/feedreader)[![Gitmoji](https://camo.githubusercontent.com/c93f2672fae073162950404b6f9d6e92615f1701010e6fb43a871bde024db7ea/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6769746d6f6a692d2532302546302539462539382539432532302546302539462539382538442d4646444436372e737667)](https://gitmoji.dev)[![Packagist License](https://camo.githubusercontent.com/01960aac4f4492cef139ceaa7018704ea090ceef581ca7cc80130ebd0ec00180/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f74656e7461636c65666565642f66656564726561646572)](https://packagist.org/packages/tentaclefeed/feedreader)

With this package it is easy to discover, read and parse RSS and ATOM feeds.

Installation
------------

[](#installation)

You can install this package via composer using:

```
composer require tentaclefeed/feedreader
```

The package will automatically register itself.

Publish configuration
---------------------

[](#publish-configuration)

To publish the FeedReader config file run:

```
php artisan vendor:publish --provider="Tentaclefeed\Feedreader\FeedreaderServiceProvider" --tag="config"
```

The default config file contains the following:

```
return [
    /*
    |--------------------------------------------------------------------------
    | Cache configuration
    |--------------------------------------------------------------------------
    |
    | The FeedReader and Explorer can cache requests automatically for you to
    | increase performance.
    |
    */
    'cache' => [
        'explorer' => [
            'seconds' => 86400, // One day
        ],
        'reader' => [
            'seconds' => 1800, // 30 minutes
        ],
    ],
];
```

Usage
-----

[](#usage)

### Discover Feeds

[](#discover-feeds)

```
use Tentaclefeed\Feedreader\Facades\FeedReader;

$feeds = FeedReader::discover('https://www.nytimes.com/');

/*
Illuminate\Support\Collection {#491
  #items: array:1 [
    0 => array:3 [
      "title" => "RSS",
      "icon" => "http://nytimes.com/vi-assets/static-assets/apple-touch-icon-28865b72953380a40aa43318108876cb.png"
      "type" => "application/rss+xml",
      "href" => "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml"
    ]
  ]
}
*/
```

### Read Feed

[](#read-feed)

```
use Tentaclefeed\Feedreader\Facades\FeedReader;

$feed = FeedReader::read('https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml');

/*
Tentaclefeed\Feedreader\Models\Feed {#430
  -title: "NYT > Top Stories"
  -subtitle: ""
  -icon: null
  -updated_at: Carbon\Carbon @1619976397 {#485}
  -author: null
  -rights: "Copyright 2021 The New York Times Company"
  -items: Illumin…\Collection {#487}
}
*/
```

### API

[](#api)

#### `Tentaclefeed\Feedreader\Models\Feed`

[](#tentaclefeedfeedreadermodelsfeed)

MethodReturn typeDescription`$feed->getTitle()``string`The title of the feed.`$feed->getSubtitle()``string`The subtitle/description of the feed.`$feed->getUpdatedAt()``Carbon\Carbon`The last modification date of the feed.`$feed->getAuthor()``Tentaclefeed\Feedreader\Models\Author`The author of the feed.`$feed->getRights()``string`Copyright notices.`$feed->getItems()``Illuminate\Support\Collection`Articles from the feed.#### `Tentaclefeed\Feedreader\Models\Author`

[](#tentaclefeedfeedreadermodelsauthor)

MethodReturn typeDescription`$author->getName()``string`The name of the author.`$author->getUri()``string` or `null`The uri of the author.#### `Tentaclefeed\Feedreader\Models\FeedItem`

[](#tentaclefeedfeedreadermodelsfeeditem)

MethodReturn typeDescription`$item->getId()``string`The id of the item.`$item->getTitle()``string`The title of the item.`$item->getCreatedAt()``Carbon\Carbon`The datetime the item was published/created.`$item->getUrl()``string`The url of the item.`$item->getSummary()``string`The content summary of the item.Testing
-------

[](#testing)

Run the tests with:

```
composer test
```

TODO
----

[](#todo)

- Improve `IconScraper` to recognize more icons

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

22

Last Release

1789d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/78a42c456514ed2ca00a19ba61baa3280b9e5c9294c6f63ca549cc3346839d65?d=identicon)[marcreichel](/maintainers/marcreichel)

---

Top Contributors

[![marcreichel](https://avatars.githubusercontent.com/u/7645035?v=4)](https://github.com/marcreichel "marcreichel (46 commits)")

---

Tags

atomatom-readerfeedfeedreaderlaravellaravel-packagephpphp8rssrss-readerphplaravelatomfeedrsslaravel-packagereaderphp8feedreaderrss-readeratom-reader

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tentaclefeed-feedreader/health.svg)

```
[![Health](https://phpackages.com/badges/tentaclefeed-feedreader/health.svg)](https://phpackages.com/packages/tentaclefeed-feedreader)
```

###  Alternatives

[stevebauman/location

Retrieve a user's location by their IP Address

1.3k7.6M65](/packages/stevebauman-location)[rumenx/php-feed

Framework-agnostic PHP Feed generator for Laravel, Symfony, and more.

3652.3k](/packages/rumenx-php-feed)[flarum/core

Delightfully simple forum software.

211.3M1.9k](/packages/flarum-core)[sbsaga/toon

🧠 TOON for Laravel — a compact, human-readable, and token-efficient data format for AI prompts &amp; LLM contexts. Perfect for ChatGPT, Gemini, Claude, Mistral, and OpenAI integrations (JSON ⇄ TOON).

6115.6k](/packages/sbsaga-toon)[waad/laravel-profanity-filter

Laravel Profanity Filter - Powerful PHP package for detecting, filtering, and masking profanity in multiple languages. Supports leet speak, custom word lists, case sensitivity, and seamless Laravel integration.

202.9k](/packages/waad-laravel-profanity-filter)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
