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
Igdb Laravel

Igdb Laravel Laravel Package

marcreichel/igdb-laravel

A Laravel wrapper for the IGDB (Internet Game Database) API that handles Twitch OAuth authentication automatically and provides a fluent query builder for fetching games, covers, genres, and more. Config and facade integrate cleanly with Laravel.

View on GitHub
Deep Wiki
Context7

Eloquent-style models and query builder for the IGDB API in Laravel, with Twitch authentication and webhook support handled for you.

Frequently asked questions about Igdb Laravel
How do I install and configure marcreichel/igdb-laravel in a Laravel app?
Install it with composer require marcreichel/igdb-laravel, then publish the package config file using Laravel's vendor:publish command. Add your Twitch application's client ID and secret to your .env file, since the package uses those credentials to obtain IGDB access tokens. The service provider and facade are auto-discovered, so you can issue your first query immediately. Check the repository's composer.json for the exact PHP and Laravel constraints before installing.
Does this package handle Twitch OAuth tokens automatically?
Yes. It runs the Twitch client-credentials flow for you, retrieves an access token and caches it, so you never build authorization headers by hand. In version 6.1.0 a rejected cached token is refreshed and the request retried instead of failing outright, which removes the most common operational failure mode of a naive IGDB integration. You only need to supply a valid Twitch client ID and client secret.
Which Laravel and PHP versions does marcreichel/igdb-laravel support?
The package is built as a standard Laravel package with a service provider, facade and publishable config, but the materials reviewed here do not list explicit PHP or Laravel version constraints. Check the composer.json and README of the exact tag you plan to use before adding it to your project. Pin the version you validated against rather than floating the constraint, because even minor releases have introduced behavioral changes.
Can I use this package as an Eloquent model or store games in my database with it?
No. The models it exposes are query objects and DTOs over IGDB's remote, read-only API; the package owns no tables, migrations or transaction boundaries and never writes locally. Treat it strictly as a read path to a third-party catalog. If you need to persist, search or serve game data reliably, build your own tables, cache or search index in front of it and budget for that layer separately.
Does it support caching IGDB responses?
Yes, response caching is an optional feature you enable in the published config file. It reduces repeated calls to IGDB, which helps you stay comfortably inside rate limits and lowers latency for frequently requested queries. It is not a substitute for a local serving layer when you need guaranteed availability. Combine it with your own persistence or cache for anything user-facing and latency-sensitive.
What happens when IGDB is slow or I hit rate limits in production?
IGDB rate limits and availability sit on the critical path of any feature built on top, so your uptime is capped by theirs unless you cache and degrade gracefully. Catch rate-limit and error responses in your own code and avoid calling IGDB synchronously on hot request paths. Queue or pre-warm expensive queries and serve results from your own cache. Design features so they still function, even in a reduced form, when IGDB is unreachable.
Can I write raw Apicalypse queries with this package?
Yes, it supports the full Apicalypse query language, so you can build fields, filters, sorting and limits through the fluent query builder or fall back to raw query syntax when the builder is not expressive enough. That flexibility means the package is rarely what blocks a query. Keep a plan for endpoints IGDB adds before the package ships models for them, since a raw HTTP escape hatch may still be needed occasionally.
What changed in version 6.1.0 and are the old enums deprecated?
6.1.0 adds models and Created, Updated and Deleted events for 25 previously missing endpoints, including Executable, Logo, Report and AgeRatingContentDescriptionV2, plus lookup tables replacing IGDB's deprecated enums such as GameType, GameStatus, PlatformType, WebsiteType, ExternalGameSource and DateFormat. The old enums and Webhook\Category are marked @deprecated with unchanged case values, so nothing breaks today, but migrating is scheduled work you should assign an owner. The release also changes behavior: $game->tags is a plain attribute again rather than a relation collection, and the GameTimeToBeat.game cast was removed. Run a deliberate regression pass on every bump instead of updating blindly in CI.
Can I receive IGDB webhooks with this package?
Yes, the package supports webhooks and exposes an IGDB_WEBHOOK_BASE_URL setting that decouples webhook ingress from your APP_URL. That lets you place a relay or proxy such as a queue front door in front of deliveries without forking the package. IGDB itself provides no durable delivery guarantee, so durability, retries and idempotency remain your responsibility. Route the endpoint through your queue if you need reliable processing.
Is marcreichel/igdb-laravel safe to depend on in production?
It is a small MIT-licensed package from a single maintainer with a modest adoption signal, so treat it as a supported-but-small dependency rather than a platform commitment. Recent, well-described releases are a positive sign, but verify tag provenance, diff the release and pin exact versions. Budget for ongoing work, since IGDB's enum-to-lookup-table migration creates recurring deprecation maintenance and minor bumps have changed behavior before. If that risk is unacceptable, a thin wrapper around Laravel's HTTP client calling IGDB directly is a reasonable alternative.
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.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect