PHPackages                             nestboxphp/macaw - 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. nestboxphp/macaw

ActiveLibrary[API Development](/categories/api)

nestboxphp/macaw
================

An interface for the Microsoft PlayFab REST API.

v0.0.3(2y ago)011AGPL-3.0PHP

Since May 12Pushed 1y agoCompare

[ Source](https://github.com/NestboxPHP/Macaw)[ Packagist](https://packagist.org/packages/nestboxphp/macaw)[ RSS](/packages/nestboxphp-macaw/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (2)Versions (5)Used By (0)

Titmouse
========

[](#titmouse)

An interface for the Microsoft [PlayFab REST API](https://learn.microsoft.com/en-us/gaming/playfab/api-references/).

Usage
-----

[](#usage)

Macaw requries Nestbox to function

```
$macaw = new Macaw(titleId: "abc123");
$leaderboard = $macaw->get_character_leaderboard(startPosition: 0, statisticName: "stat_name_here");
```

### Settings

[](#settings)

SettingDescriptionDefaultmacawStaleHoursNewsDefines the time in hours between cached news data updates.`1`macawStaleHoursTitleDataDefines the time in hours between cached title data updates.`1`macawStaleHoursCatalogDefines the time in hours between cached catalog data updates.`168`macawStaleHoursLeaderboardDefines the time in hours between cached leaderboard data updates.`24`macawClient2MinLimitDefines the maximum API request calls per 2 minute range for client.`1000`macawServer2MinLimitDefines the maximum API request calls per 2 minute range for server.`12000`macawSessionKeyDefines the `$_SESSION` key which is used to store and access PlayFab data.`playfab`Methods
-------

[](#methods)

### Session Tickets

[](#session-tickets)

Session tickets are used by the PlayFab API to authenticate each REST call. Once retrieved, they are persistent until they expire, after which the class must reauthenticate. The first time the class authenticates must be through one of the login functions:

- `login_with_email_address()`
- `login_with_google_account()`

After the class has been authenticated, the login details are stored to be reused once the session ticket has expired. Once the class detects the session ticket has expired (via `session_ticket_is_expired()`), it will use `relogin_user()`to reauthenticate and use the stored login details to pass the credentials without having to re-call the original login method.

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance26

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 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 ~6 days

Total

4

Last Release

716d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/759db8108809c477a3894c344aaf6a0c39645f3ed81c136f831bf68e1c6417ae?d=identicon)[supergnaw](/maintainers/supergnaw)

---

Top Contributors

[![supergnaw](https://avatars.githubusercontent.com/u/25543199?v=4)](https://github.com/supergnaw "supergnaw (16 commits)")

### Embed Badge

![Health badge](/badges/nestboxphp-macaw/health.svg)

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

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

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