PHPackages                             helgesverre/laravel-podscan - 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. helgesverre/laravel-podscan

ActiveLibrary[API Development](/categories/api)

helgesverre/laravel-podscan
===========================

Laravel Client for the Podscan.fm API

v2.0.0(6mo ago)17MITPHPPHP ^8.2|^8.3|^8.4

Since Mar 23Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/HelgeSverre/laravel-podscan)[ Packagist](https://packagist.org/packages/helgesverre/laravel-podscan)[ Docs](https://github.com/helgesverre/laravel-podscan)[ RSS](/packages/helgesverre-laravel-podscan/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (15)Versions (3)Used By (0)

[![](./art/header.png)](./art/header.png)

Laravel Client for the Podscan.fm API
=====================================

[](#laravel-client-for-the-podscanfm-api)

[![Latest Version on Packagist](https://camo.githubusercontent.com/3490337154936539904a6ee8ab78972d29cf8f9096720da7f05591485e79fb37/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f68656c67657376657272652f6c61726176656c2d706f647363616e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/helgesverre/laravel-podscan)[![Total Downloads](https://camo.githubusercontent.com/260e5b9651ac13594d7b924fab04ab5e52cd4de6a9807d710f330f91e92e3938/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f68656c67657376657272652f6c61726176656c2d706f647363616e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/helgesverre/laravel-podscan)

This package provides a simple and easy-to-use API client for the Podscan.fm API

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

[](#installation)

You can install the package via composer:

```
composer require helgesverre/laravel-podscan
```

You can publish the config file with:

```
php artisan vendor:publish --tag="podscan-config"
```

This is the contents of the published config file:

```
return [
    'api_key' => env('PODSCAN_API_KEY'),
];
```

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

```
PODSCAN_API_KEY=your_api_key_here
```

You can generate your API key at .

Rate Limits
-----------

[](#rate-limits)

The Podscan API enforces rate limits based on your subscription plan:

PlanDaily LimitPer Minute Limit**Trial**100 requests10 requests**Essential**1,000 requests60 requests**Premium**2,000 requests120 requests**Enterprise**5,000 requests120 requestsEvery API response includes the following headers:

- `X-RateLimit-Limit`: Maximum requests allowed in a 60-minute period
- `X-RateLimit-Remaining`: Requests remaining in the current rate limit window

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

[](#error-handling)

This package uses Saloon's `AlwaysThrowOnErrors` plugin, which automatically throws exceptions for 4xx and 5xx HTTP responses.

```
use Saloon\Exceptions\Request\FatalRequestException;
use Saloon\Exceptions\Request\RequestException;

try {
    $response = Podscan::podcasts()->get('podcast-id');
} catch (FatalRequestException $e) {
    // Handle 4xx errors (client errors)
    echo "Client error: " . $e->getMessage();
} catch (RequestException $e) {
    // Handle 5xx errors (server errors)
    echo "Server error: " . $e->getMessage();
}
```

Usage
-----

[](#usage)

### Client Instantiation

[](#client-instantiation)

Create an instance of the Podscan client to start interacting with the API. This instance will be your primary interface for sending requests to Podscan.AI.

```
use HelgeSverre\Podscan\Podscan;

// Instantiate the client
$podscan = new Podscan(apiKey: config('podscan.api_key'));

// Or use the Facade (Laravel)
Podscan::alerts();
Podscan::category();
Podscan::charts();
Podscan::episodes();
Podscan::podcasts();
Podscan::teams();
```

Resources
---------

[](#resources)

### Alerts

[](#alerts)

```
Podscan::alerts()->list();
Podscan::alerts()->create();
Podscan::alerts()->get();
Podscan::alerts()->update();
Podscan::alerts()->delete();
Podscan::alerts()->mentions();
Podscan::alerts()->mention();
```

### Categories

[](#categories)

```
Podscan::categories()->list();
```

### Charts

[](#charts)

```
// Get countries with current chart data
Podscan::charts()->availableCountries();

// Get all supported countries
Podscan::charts()->supportedCountries();

// Get available categories for a platform and country
Podscan::charts()->categories('apple', 'US');
Podscan::charts()->categories('spotify', 'GB');

// Get chart data for a specific category
Podscan::charts()->categoryData('apple', 'US', 'technology');
Podscan::charts()->categoryData('spotify', 'GB', 'comedy');
```

### Episodes

[](#episodes)

```
Podscan::episodes()->search();
Podscan::episodes()->paginatedSearch();
Podscan::episodes()->recent();
Podscan::episodes()->get();
```

### Podcasts

[](#podcasts)

```
Podscan::podcasts()->suggest();
Podscan::podcasts()->search();
Podscan::podcasts()->paginatedSearch();
Podscan::podcasts()->get();
Podscan::podcasts()->episodes();
Podscan::podcasts()->paginatedEpisodes();
```

### Teams

[](#teams)

```
Podscan::teams()->list();
```

Testing
-------

[](#testing)

```
cp .env.example .env
composer test
composer analyse src
```

License
-------

[](#license)

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

Disclaimer
----------

[](#disclaimer)

[Podscan](https://podscan.fm/) and the Podscan logo are trademarks of [Arvid Kahl](https://twitter.com/arvidkahl). This package is not affiliated with Podscan or Arvid Kahl in any way.

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance69

Regular maintenance activity

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity60

Established project with proven stability

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

Total

2

Last Release

181d ago

Major Versions

v1.0.0 → v2.0.02025-11-12

PHP version history (2 changes)v1.0.0PHP ^8.2

v2.0.0PHP ^8.2|^8.3|^8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/68f3958f40262d577ddc0596e4ba78b42c0409ebc7de948bab47edee392d5f68?d=identicon)[HelgeSverre](/maintainers/HelgeSverre)

---

Top Contributors

[![HelgeSverre](https://avatars.githubusercontent.com/u/1089652?v=4)](https://github.com/HelgeSverre "HelgeSverre (7 commits)")

---

Tags

apiclientlaravelsdkpodscan.fm

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/helgesverre-laravel-podscan/health.svg)

```
[![Health](https://phpackages.com/badges/helgesverre-laravel-podscan/health.svg)](https://phpackages.com/packages/helgesverre-laravel-podscan)
```

###  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)[google-gemini-php/laravel

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

614397.1k4](/packages/google-gemini-php-laravel)[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)[gemini-api-php/laravel

Gemini API client for Laravel

8915.7k](/packages/gemini-api-php-laravel)

PHPackages © 2026

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