jcroll/foursquare-api-client
A PHP client for the Foursquare API that simplifies authentication and requests to endpoints like venues, users, and check-ins. Works in Laravel or standalone PHP projects, helping you query location data without boilerplate.
Architecture fit
VenueProvider / PlacesGateway) with a container binding.Integration feasibility
^5.3|^6.0, which conflicts with Laravel 9+ (Guzzle 7) and modern PHP. Expect composer why-not to fail before any code is written.api.foursquare.com/v2), query-parameter auth (client_id/client_secret/oauth_token) versus Foursquare's current Authorization header model, and no configuration hooks for timeouts, retries, or base URL overrides.Technical risk
Key questions
Http facade, Saloon connectors) this would fragment?Stack fit
FoursquareConnector built on Laravel's Http client (or Saloon if we need retry/auth middleware and testability), bound to an interface, returning our own DTOs. This aligns with existing stack conventions and removes the Guzzle version conflict entirely.Migration path
composer require behavior against our PHP/Laravel matrix; enumerate the package's public methods and map each to a v3 endpoint.PlacesGateway interface we actually want (search, details, photos) with DTOs — deliberately narrower than the package's API.Compatibility
client_id/client_secret → Authorization: <api_key>), path (/v2/venues/search → /v3/places/search), and response envelope (response.venues → results). Response-shape changes are the main hidden cost, not the HTTP mechanics.Sequencing
Maintenance
Support
Scaling
Failure modes
Ramp-up
Recommendation: Treat jcroll/foursquare-api-client as a reference, not a dependency. Its score (0.645), 39 stars, and 2017 release date are consistent with an abandoned convenience wrapper whose entire value (a few dozen lines of request plumbing) is cheaper to reimplement than to adopt, fork, and maintain.
How can I help you explore Laravel packages today?