PHPackages                             bitmicrosys/sharpsports-php - 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. bitmicrosys/sharpsports-php

ActiveLibrary[API Development](/categories/api)

bitmicrosys/sharpsports-php
===========================

PHP Laravel SDK for SharpSports API

1.0.1(9mo ago)09MITPHPPHP ^8.0

Since Aug 11Pushed 9mo agoCompare

[ Source](https://github.com/bitmicrosys/sharpsports-php)[ Packagist](https://packagist.org/packages/bitmicrosys/sharpsports-php)[ RSS](/packages/bitmicrosys-sharpsports-php/feed)WikiDiscussions main Synced 1mo ago

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

SharpSports PHP Laravel SDK (Unofficial)
========================================

[](#sharpsports-php-laravel-sdk-unofficial)

[![Latest Stable Version](https://camo.githubusercontent.com/9d0f6017a6cabf548d27f101414b7650e7ba382c864678b834cac7eda0664923/68747470733a2f2f706f7365722e707567782e6f72672f6269746d6963726f7379732f736861727073706f7274732d7068702f76)](https://packagist.org/packages/bitmicrosys/sharpsports-php)[![Total Downloads](https://camo.githubusercontent.com/76c58db052182a2557b20d53bfa7e70bdb3728591bc2c7955d17da048b899632/68747470733a2f2f706f7365722e707567782e6f72672f6269746d6963726f7379732f736861727073706f7274732d7068702f646f776e6c6f616473)](https://packagist.org/packages/bitmicrosys/sharpsports-php)[![License](https://camo.githubusercontent.com/eec4899d1d6d9d42c3128a94ea6395248afd4059f372bbe7deb26801ba68dd26/68747470733a2f2f706f7365722e707567782e6f72672f6269746d6963726f7379732f736861727073706f7274732d7068702f6c6963656e7365)](https://packagist.org/packages/bitmicrosys/sharpsports-php)

Hey there! 👋 This is an **unofficial** PHP/Laravel SDK for the [SharpSports API](https://docs.sharpsports.io/). Threw this together in a few hours because I needed it for a project. It works pretty well, but you know... it's not perfect.

⚠️ Disclaimer
-------------

[](#️-disclaimer)

This is **NOT** an official SharpSports product. I'm just some dev who needed to integrate their API. Use at your own risk! If something breaks, don't blame me (or SharpSports). If you find bugs, just open an issue or better yet, submit a PR!

Features
--------

[](#features)

- ✅ Covers most (all?) SharpSports API endpoints
- ✅ Laravel service provider and facade (fancy!)
- ✅ Model classes that make sense
- ✅ Handles those weird API responses pretty well
- ✅ Error handling that actually works
- ✅ Probably won't break your app (no promises though)

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

[](#installation)

Install the package via Composer:

```
composer require bitmicrosys/sharpsports-php
```

### Laravel Auto-Discovery

[](#laravel-auto-discovery)

The package supports Laravel's auto-discovery feature. If you're using Laravel 5.5+, the service provider and facade will be automatically registered.

### Manual Registration (Laravel &lt; 5.5)

[](#manual-registration-laravel--55)

Add the service provider to your `config/app.php`:

```
'providers' => [
    // ...
    Bitmicrosys\SharpsportsPhp\SharpsportsServiceProvider::class,
],
```

Add the facade to your `config/app.php`:

```
'aliases' => [
    // ...
    'SharpSports' => Bitmicrosys\SharpsportsPhp\Facades\SharpSports::class,
],
```

Configuration
-------------

[](#configuration)

Publish the configuration file:

```
php artisan vendor:publish --tag=sharpsports-config
```

Add your SharpSports API key to your `.env` file:

```
SHARPSPORTS_API_KEY=your_api_key_here
```

Usage
-----

[](#usage)

### Basic Usage

[](#basic-usage)

```
use Bitmicrosys\SharpsportsPhp\SharpSports;

// Initialize the client
$sharpSports = new SharpSports('your_api_key');

// Get all books
$books = $sharpSports->books()->list();

// Get active books only
$activeBooks = $sharpSports->books()->getActive();
```

### Using Laravel Facade

[](#using-laravel-facade)

```
use SharpSports;

// Get all books
$books = SharpSports::books()->list();

// Get a specific book
$book = SharpSports::books()->find('BOOK_pPg9ABaPSj2mL6qoMTKR1A');

// Get bettors
$bettors = SharpSports::bettors()->list();

// Get bet slips for a bettor
$betSlips = SharpSports::betSlips()->getByBettor('bettor_id');
```

### Using Dependency Injection

[](#using-dependency-injection)

```
use Bitmicrosys\SharpsportsPhp\SharpSports;

class BettingController extends Controller
{
    public function __construct(private SharpSports $sharpSports)
    {
        //
    }

    public function getBooks()
    {
        return $this->sharpSports->books()->getActive();
    }
}
```

Complete API Coverage
---------------------

[](#complete-api-coverage)

The SharpSports PHP SDK provides comprehensive coverage of all SharpSports API endpoints:

### Books

[](#books)

```
// Get all books
$books = $sharpSports->books()->list();

// Get active books
$activeBooks = $sharpSports->books()->getActive();

// Get books that require SDK
$sdkBooks = $sharpSports->books()->getSdkRequired();

// Find a specific book
$book = $sharpSports->books()->find('BOOK_ID');
```

### Bettors

[](#bettors)

```
// Get all bettors
$bettors = $sharpSports->bettors()->list();

// Get bettor details
$bettor = $sharpSports->bettors()->get('bettor_id');

// Get bettor metadata
$metadata = $sharpSports->bettors()->getMetadata('bettor_id');

// Refresh bettor data
$response = $sharpSports->bettors()->refresh('bettor_id');
```

### Bettor Accounts

[](#bettor-accounts)

```
// Get all bettor accounts
$accounts = $sharpSports->bettorAccounts()->list();

// Get accounts for a specific bettor
$accounts = $sharpSports->bettorAccounts()->getByBettor('bettor_id');

// Refresh an account
$response = $sharpSports->bettorAccounts()->refresh('account_id');

// Pause an account
$response = $sharpSports->bettorAccounts()->pause('account_id');
```

### Bet Slips

[](#bet-slips)

```
// Get all bet slips
$betSlips = $sharpSports->betSlips()->list();

// Get bet slips for a bettor
$betSlips = $sharpSports->betSlips()->getByBettor('bettor_id');

// Get bet slips for an account
$betSlips = $sharpSports->betSlips()->getByBettorAccount('account_id');

// Check bet slip availability
$availability = $sharpSports->betSlips()->checkAvailability($data);
```

### Context Operations

[](#context-operations)

```
// Sync bets
$response = $sharpSports->context()->betSync($data);

// Place bets
$response = $sharpSports->context()->betPlace($data);

// Get best price
$response = $sharpSports->context()->bestPrice($data);
```

### Events, Markets, Sports, etc.

[](#events-markets-sports-etc)

```
// Events
$events = $sharpSports->events()->list();
$event = $sharpSports->events()->get('event_id');

// Markets
$markets = $sharpSports->markets()->list();
$market = $sharpSports->markets()->get('market_id');

// Sports
$sports = $sharpSports->sports()->list();
$sport = $sharpSports->sports()->get('sport_id');

// Leagues
$leagues = $sharpSports->leagues()->list();

// Teams
$teams = $sharpSports->teams()->list();

// Players
$players = $sharpSports->players()->list();
```

### Webhooks

[](#webhooks)

```
// Subscribe to webhooks
$response = $sharpSports->webhooks()->subscribe($data);

// Get webhook logs
$logs = $sharpSports->webhooks()->getLogs();
```

Model Classes
-------------

[](#model-classes)

The SDK includes model classes for type-safe responses:

```
use Bitmicrosys\SharpsportsPhp\Models\Book;

$books = $sharpSports->books()->list();

foreach ($books as $book) {
    echo $book->name; // BetMGM
    echo $book->abbr; // mg
    echo $book->isActive(); // true/false
    echo $book->requiresSdk(); // true/false
}
```

Available models:

- `Book`
- `Bettor`
- `BettorAccount`
- `BetSlip`

Error Handling
--------------

[](#error-handling)

The SDK throws `SharpsportsException` for API errors:

```
use Bitmicrosys\SharpsportsPhp\SharpsportsException;

try {
    $books = $sharpSports->books()->list();
} catch (SharpsportsException $e) {
    echo "API Error: " . $e->getMessage();
    echo "Status Code: " . $e->getCode();
}
```

Configuration Options
---------------------

[](#configuration-options)

You can customize the HTTP client by passing options to the constructor:

```
$sharpSports = new SharpSports('your_api_key', [
    'timeout' => 60,
    'connect_timeout' => 10,
    'headers' => [
        'User-Agent' => 'MyApp/1.0',
    ],
]);
```

All Available Methods
---------------------

[](#all-available-methods)

### Complete API Coverage

[](#complete-api-coverage-1)

The SDK provides complete coverage of all SharpSports API objects:

- 📖 **Books** - Sportsbook information and status
- 📝 **Articles** - AI-generated SEO articles
- 🌎 **BookRegions** - Regional sportsbook availability
- 👤 **Bettors** - User accounts and profiles
- 📱 **BettorAccounts** - Connected sportsbook accounts
- 💰 **BetSlips** - Betting history and slips
- 🔄 **RefreshResponses** - Account refresh status
- 🎟️ **Events** - Sports events and games
- 📋 **Markets** - Betting markets
- 🏷️ **MarketSelections** - Market options
- 🛒 **MarketOffers** - Available offers
- 🏛️ **Prices** - Odds and pricing
- 🏈 **Sports** - Available sports
- 🏟️ **Leagues** - Sports leagues
- 🎽 **Teams** - Sports teams
- ⛹️‍♂️ **Players** - Player information
- 🕞 **Segments** - Market segments
- 🧮 **Metrics** - Performance metrics
- 🔗 **Context** - Bet placement context
- 🪝 **Webhooks** - Event subscriptions

Each service provides standard methods like `list()`, `get()`, and specialized methods for specific functionality.

Error Handling
--------------

[](#error-handling-1)

```
use Bitmicrosys\SharpsportsPhp\SharpsportsException;

try {
    $books = $sharpSports->books()->list();
} catch (SharpsportsException $e) {
    echo "API Error: " . $e->getMessage();
    echo "Status Code: " . $e->getCode();
}
```

Contributing
------------

[](#contributing)

Found a bug? Cool, fix it and send a PR. Want to add something? Go for it! This is open source, baby! 🚀

Known Issues
------------

[](#known-issues)

- Price API returns different response structures depending on parameters (single object vs array). Yeah, it's weird, but we handle it.
- Some endpoints need specific parameters or they'll yell at you
- Haven't tested everything extensively (who has time for that?)
- Probably other stuff I haven't found yet

License
-------

[](#license)

This package is open-sourced software licensed under the [MIT license](LICENSE). See the license file for the full "I'm not responsible for anything" legal text.

Support
-------

[](#support)

Having issues? Open a GitHub issue. Want to chat? Sorry, I'm probably coding. But seriously, just open an issue and I'll try to help when I can.

Credits
-------

[](#credits)

- SharpSports for having an API (even though their docs could be better 😅)
- Coffee for keeping me awake while coding this
- Stack Overflow for... you know why

API Documentation
-----------------

[](#api-documentation)

For the official API docs (good luck understanding them sometimes), visit [SharpSports API Reference](https://docs.sharpsports.io/reference/book).

---

**Remember**: This is unofficial. If SharpSports changes their API and this breaks, well... ¯\_(ツ)\_/¯

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance57

Moderate activity, may be stable

Popularity4

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

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

Total

2

Last Release

280d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9bcad9556e71a1e7d077d70745188c5886dd7f06ff18c87125e2fefcbfed1823?d=identicon)[bitmicrosys](/maintainers/bitmicrosys)

---

Tags

apilaravelsdksports-bettingsharpsports

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bitmicrosys-sharpsports-php/health.svg)

```
[![Health](https://phpackages.com/badges/bitmicrosys-sharpsports-php/health.svg)](https://phpackages.com/packages/bitmicrosys-sharpsports-php)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k7.6M74](/packages/openai-php-laravel)[smodav/mpesa

M-Pesa API implementation

16363.7k1](/packages/smodav-mpesa)[mozex/anthropic-laravel

Anthropic PHP for Laravel is a supercharged PHP API client that allows you to interact with the Anthropic API

71226.4k1](/packages/mozex-anthropic-laravel)

PHPackages © 2026

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