jcroll/foursquare-api-bundle
Symfony bundle that integrates the Foursquare API, providing ready-made services and configuration so you can query venues, check-ins, users, tips, and other endpoints directly from your Symfony application.
Config component wiring. For a Laravel codebase this is an immediate integration tax: you would either wire Symfony service definitions into a container that does not understand them, or lift the underlying jcroll/foursquare-api-client and wrap it in a Laravel service provider yourself. That reframes "adopt a package" into "adopt a dependency and write the glue," which is a different build-vs-buy conversation.~2.1 branch. The underlying API is a commodity, and the wrapper adds no proprietary logic. The decision that actually matters is whether Foursquare Places data is worth integrating at all — the client library is a weekend of work either way.jcroll_foursquare_api.client_id, jcroll_foursquare_api.client_secret) — a semver-breaking change to the only configuration surface the bundle exposes, shipped without a major bump or a migration note. The maintainer's own changelog calls it "not major enough." That is a directly observable data point about how this dependency will treat your upgrade path, and it belongs in any security-review or dependency-policy conversation alongside the 2016-era PHP constraints and likely Foursquare API v2 assumptions.Consider it only when all of the following hold:
jcroll/foursquare-api-client, so the bundle's service wiring is a genuine convenience rather than an obstacle. (Post-v1.1.4, you must also be on ~2.1 of that client, or pin the bundle to 1.1.3.)Look elsewhere — or write a thin client — when:
Config plumbing.Executives: This is not a strategic dependency and should not be approved as one. The package is an unmaintained, single-maintainer wrapper around a public API, with a negligible adoption footprint. The new 1.1.4 release is not a revival: it is a one-line config alignment, and it quietly removed public configuration parameters in a patch release with no migration path — a small but telling signal about the maintenance we would be inheriting. The right ask remains a short, time-boxed spike to prove that Foursquare venue data moves a business metric, not a procurement or architecture decision. If the spike succeeds, budget for a small in-house integration (~days, not weeks) rather than inheriting an abandoned library. If location data proves central to the product, evaluate a vendor with a contract and an SLA.
Engineering: Do not add this as a production dependency; v1.1.4 does not change the recommendation. It is Symfony-only, it now targets jcroll/foursquare-api-client ~2.1, and it dropped the client_id/client_secret container parameters at patch level — so anyone on 1.1.3 who upgrades gets a silent config break, and anyone pinning the bundle forward inherits a ~2.1 constraint on the underlying client. On Laravel it buys us nothing but container-compatibility work; the useful part is the underlying API client, which is thin enough that owning a small PSR-18-based wrapper is cheaper than tracking an unmaintained fork. Recommend a one-day spike against the current Foursquare Places API to confirm endpoint and auth assumptions still hold, then decide between a ~200-line first-party client and a commercial provider. Either option is lower total cost of ownership than this package.
How can I help you explore Laravel packages today?