Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Tv Maze Php Api

Tv Maze Php Api Laravel Package

dariusiii/tv-maze-php-api

dariusiii/tv-maze-php-api is a lightweight PHP client for TVmaze, providing easy access to TV show schedules, episode guides, cast and crew details, and search endpoints. Designed for Laravel and plain PHP projects, it wraps API requests in a simple, readable interface.

View on GitHub
Deep Wiki
Context7

A lightweight PHP client for the TVmaze API, providing structured access to TV show, episode, person, and schedule data. It wraps HTTP requests in a clean, object-oriented interface so you can integrate TV metadata into Laravel or standalone PHP applications with minimal setup.

  • Query shows by ID, name, or search term
  • Retrieve episodes, seasons, and cast details
  • Access daily schedules and people data
  • Simple, consistent response handling
  • Install via Composer and use anywhere PHP runs
Frequently asked questions about Tv Maze Php Api
How do I install dariusiii/tv-maze-php-api with Composer?
Run composer require dariusiii/tv-maze-php-api in your project. The package is a plain PHP wrapper around the TVMaze REST API, so there is no Laravel auto-discovery service provider to configure. After installation, instantiate the client class and call its methods directly or behind your own adapter.
Does this package support Laravel out of the box?
No. The evaluation found no Laravel service provider, facade, config file, or publishable assets, so it should be treated as a plain PHP HTTP client. In Laravel, register your own service provider and bind a domain interface to an adapter that wraps the package. That keeps DariusIII classes out of controllers and jobs.
Which TVMaze endpoints can I call with this wrapper?
The blurb describes searching shows and people plus fetching episodes and schedules, and the evaluation mentions show metadata, episodes, cast, and schedule data. The exact endpoint coverage is not guaranteed by the package description, so spike each endpoint you need before committing. Confirm search, shows/:id, shows/:id/episodes, and schedule support in the source or tests.
Does it handle TVMaze rate limits and HTTP 429 responses?
There is no documented rate-limiting or backoff strategy in the provided assessment. TVMaze enforces roughly 20 requests per 10 seconds and can return HTTP 429, so you should add retry and backoff in your adapter. Do not assume the wrapper will protect your application from throttling.
Is the HTTP transport PSR-18/PSR-17 compliant or hard-wired to Guzzle?
The evaluation flags unclear HTTP client coupling between Guzzle and PSR-18/PSR-17. Check composer.json and the client constructor to see whether you can inject a PSR-18 client or whether Guzzle is hard-wired. This matters if your Laravel app standardizes on the Http facade or a specific transport.
Does this package cache TVMaze responses?
No caching story is stated in the assessment. TVMaze data changes slowly, so cache misses are likely your main cost driver. Cache your own DTOs in Laravel rather than serializing package objects, and add a TTL appropriate for show metadata, episodes, and schedules.
What PHP version does dariusiii/tv-maze-php-api require?
The provided context does not state a minimum PHP version or strict-types support. Verify the require section in composer.json against your runtime, especially if you are on PHP 8.2 or newer. Also check whether the code uses modern PHP features and whether it is tested on your target version.
Is this package safe to use in production with zero stars and a single maintainer?
The dominant risk is supply chain: zero stars, zero dependents, and one maintainer mean little community verification. A recent December 2025 release shows activity but not long-term durability. Mitigate by wrapping it behind your own interface, running composer audit, pinning versions, and keeping a cheap migration path to Laravel Http or Guzzle.
How should I integrate this TVMaze wrapper into a Laravel application?
Treat it as an outbound adapter in a hexagonal layout. Define a CatalogProvider or ShowCatalogClient interface in your domain, implement it with a class that uses this wrapper, and bind that implementation in a Laravel service provider you author. Map responses into your own DTOs so the package's internal shape never becomes your schema.
What are the alternatives if the wrapper lacks retry or typed responses?
Because the wrapper is thin and TVMaze is simple JSON over HTTP, replacing it is a contained refactor. You can implement the same interface directly with Laravel's Http facade using Http::retry(...), or use Guzzle or a PSR-18 client. Keep the interface as the durable artifact and drop the dependency if it adds friction.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console