PHPackages                             owlycode/streaming-bird - 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. [API Development](/categories/api)
4. /
5. owlycode/streaming-bird

AbandonedArchivedLibrary[API Development](/categories/api)

owlycode/streaming-bird
=======================

A PHP client for the Twitter Streaming APIs inspired from Phirehose.

v0.1.1(8y ago)924.6k2LGPL-2.0-onlyPHPPHP ~5.6|~7.0

Since Mar 18Pushed 8y ago2 watchersCompare

[ Source](https://github.com/OwlyCode/StreamingBird)[ Packagist](https://packagist.org/packages/owlycode/streaming-bird)[ Docs](https://github.com/OwlyCode/StreamingBird)[ RSS](/packages/owlycode-streaming-bird/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (2)Versions (3)Used By (0)

StreamingBird is an automatically tested, PSR-4 compliant client for Twitter's streaming API.

[![Build Status](https://camo.githubusercontent.com/058bd90688aced367faa1890da9e85a9d0833309523c6d7f3a60262a868566b0/68747470733a2f2f7472617669732d63692e6f72672f4f776c79436f64652f53747265616d696e67426972642e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/OwlyCode/StreamingBird)

How to install
--------------

[](#how-to-install)

With composer : `composer require owlycode/streaming-bird`.

Example usage
-------------

[](#example-usage)

```
use OwlyCode\StreamingBird\StreamReader;
use OwlyCode\StreamingBird\StreamingBird;

 // Change these with yours.
$oauthToken = 'my token';
$oauthSecret = 'secret';
$consumerKey = 'my key';
$consumerSecret = 'secret';

$bird = new StreamingBird($consumerKey, $consumerSecret, $oauthToken, $oauthSecret);

$bird
    ->createStreamReader(StreamReader::METHOD_FILTER)
    ->setTrack(['hello', 'hola', 'bonjour']) // Fetch every tweet containing one of the following words
    ->consume(function ($tweet) { // Now we provide a callback to execute on every received tweet.
        echo '------------------------' . "\n";
        echo $tweet['text'] . "\n";
    })
;
```

Monitoring
----------

[](#monitoring)

StreamingBird comes with some statistics about the stream that you can access. At the moment it is an early approach with few informations but it is meant to grow in the future.

```
$reader->consume(function ($tweet, $monitor) use ($output) {
    echo '------------------------' . "\n";
    echo $monitor->get('tweets') . "\n"; // The total number of received tweets
    echo $monitor->get('idle_time') . "\n"; // Elapsed seconds between the last two tweets.
    echo $monitor->get('max_idle_time') . "\n"; // The maximum idle time since the beginning.
    echo $tweet['text'] . "\n";
});
```

Running the tests
-----------------

[](#running-the-tests)

Simply run :

```
composer install
./bin/vendor/phpunit
```

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 93.3% 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 ~695 days

Total

2

Last Release

3062d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/95352e0b7023eef954a0902948970e3d5824f7637f544582e99f7bf381f66fac?d=identicon)[tmaindron](/maintainers/tmaindron)

---

Top Contributors

[![OwlyCode](https://avatars.githubusercontent.com/u/1631270?v=4)](https://github.com/OwlyCode "OwlyCode (14 commits)")[![iangcarroll](https://avatars.githubusercontent.com/u/1280719?v=4)](https://github.com/iangcarroll "iangcarroll (1 commits)")

---

Tags

twittertwitter-streaming-apiphpapistreamingtwitter

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/owlycode-streaming-bird/health.svg)

```
[![Health](https://phpackages.com/badges/owlycode-streaming-bird/health.svg)](https://phpackages.com/packages/owlycode-streaming-bird)
```

###  Alternatives

[fennb/phirehose

A PHP interface to the Twitter Streaming API.

698407.4k4](/packages/fennb-phirehose)[noweh/twitter-api-v2-php

This library provides methods for sending messages to Twitter and receiving statuses.

128248.1k1](/packages/noweh-twitter-api-v2-php)[mozex/anthropic-laravel

Laravel integration for the Anthropic API: facade, config publishing, install command, testing fakes, messages, streaming, tool use, thinking, and batches.

74331.3k1](/packages/mozex-anthropic-laravel)[mozex/anthropic-php

PHP client for the Anthropic API: messages, streaming, tool use, thinking, web search, code execution, batches, and more.

49552.5k16](/packages/mozex-anthropic-php)[redwebcreation/twitter-stream-api

Consume the Twitter Stream API in real-time.

3220.9k1](/packages/redwebcreation-twitter-stream-api)

PHPackages © 2026

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