Weave Code
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
Maxmind Provider

Maxmind Provider Laravel Package

geocoder-php/maxmind-provider

MaxMind provider for PHP-Geocoder. Integrates MaxMind GeoIP databases to resolve IP addresses into location data (country, region, city, coordinates). Useful for adding fast, offline IP geolocation to your PHP apps.

View on GitHub
Deep Wiki
Context7

Geocoder MaxMind adapter

Frequently asked questions about Maxmind Provider
How do I install the MaxMind provider for geocoder-php in a Laravel project?
Run `composer require geocoder-php/maxmind-provider` to install the package. Then, configure it in your Laravel app by binding the provider in `AppServiceProvider` or using the Geocoder facade. Ensure you also install `maxmindio/maxmind-php` for .mmdb file support.
Can I use this provider with Laravel’s caching system to reduce API costs?
Yes. Wrap MaxMind provider calls with Laravel’s cache facade (e.g., `Cache::remember`) to store geocoding results. This reduces API calls and mitigates rate limits, especially when using MaxMind’s cloud services.
What Laravel versions does this package support, and what’s the PHP requirement?
This package requires PHP 8.0+ and is compatible with Laravel 8.x, 9.x, and 10.x. Ensure your Laravel version aligns with the latest `geocoder-php` (v4+) and `maxmindio/maxmind-php` (v1.0+) dependencies.
How do I handle MaxMind database updates in a Laravel application?
Store .mmdb files in `storage/app/` or a CDN, then automate updates using Laravel’s scheduler or a custom Artisan command. For example, create a `UpdateMaxMindDB` command to fetch the latest database and replace the old file.
Is there a fallback mechanism if MaxMind’s API fails or returns incomplete data?
Yes. The geocoder-php ecosystem supports multiple providers. Configure a priority order in your Geocoder client (e.g., MaxMind → FreeGeoIP → IP-API) to ensure graceful degradation when one provider fails.
Can I use this provider offline with local MaxMind databases?
Absolutely. Download a MaxMind-compatible .mmdb file (e.g., GeoLite2) and point the provider to its local path in your configuration. This eliminates API dependencies and works entirely offline.
How do I integrate geocoding into Laravel middleware for automatic IP lookups?
Create a middleware class (e.g., `GeocodeRequestMiddleware`) that injects geolocation data into the request. Use dependency injection to resolve the MaxMind provider, then merge the results into `$request->geo` before passing it to the next middleware or controller.
What are the licensing requirements for using MaxMind databases in production?
MaxMind’s GeoIP2 databases require a commercial license for production use. For free alternatives, use GeoLite2 (MIT-licensed) or ensure compliance with MaxMind’s terms. Always review their licensing agreements before deployment.
How can I test this provider in Laravel’s testing environment?
Use the `geocoder-php/mock-provider` to simulate geocoding responses in PHPUnit tests. Mock the MaxMind provider to return predictable results, then verify edge cases like private IPs, invalid inputs, or API failures.
What alternatives exist if I want to avoid vendor lock-in with MaxMind?
Consider alternatives like `geocoder-php/freegeoip-provider`, `geocoder-php/ipstack-provider`, or `geocoder-php/google-maps-provider`. Each offers different tradeoffs in accuracy, cost, and API limitations. Evaluate based on your project’s needs.
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.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor