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

Instagram Laravel Package

cosenary/instagram

A Laravel wrapper for the Instagram API that makes it easy to authenticate users and work with media, comments, likes, and profile data through a clean, expressive PHP interface.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Kill/sustain triage for an inherited integration. This package wraps Instagram's retired Platform API (api.instagram.com, legacy OAuth and media endpoints). If any live surface in our portfolio still depends on it, the PM question is not "should we adopt" but "how fast and how cheaply can we exit." That scoping output belongs in the next planning cycle as remediation work, not as a feature backlog item.
  • Build vs. buy vs. dead-end for social features. Any roadmap item involving branded Instagram feeds, UGC galleries, creator metrics, or social login realistically resolves to Meta's Instagram Graph API (via Facebook Login for Business and the Facebook SDK for PHP) or a thin in-house HTTP client. A 1,450-star single-class wrapper with zero Packagist dependents is not a credible third option in that decision.
  • Reference artifact for a feasibility spike, not a dependency. It is a compact, readable example of an OAuth 2.0 authorization-code exchange, token handling, pagination, and cURL error handling. Useful to shape an internal design doc or a two-day spike; not useful as a composer require.
  • Sizing the real schedule risk. The binding constraints on any Instagram integration today are Meta app review, Business/Creator account requirements, business verification, and short/long-lived token lifetimes. This package encodes none of that, so any estimate built on "there's a library" is understated on the compliance and platform side, not the code side.
  • Risk-register entry with a bounded cost. Zero dependents and no maintainer activity mean no transitive blast radius, but also no security patching, no PHP 8.x compatibility work, and no ecosystem validation beyond historical stars. The opportunity score of 32.44 against an overall 42.25 reflects a package whose relevance decayed alongside the platform it wraps.

When to Consider This Package

Consider it only in these narrow cases:

  • You are auditing or maintaining a legacy PHP application that already uses it, and you need to understand its behavior, configuration surface, and failure modes before replacing it.
  • You need a small, dependency-free teaching artifact for an OAuth 2.0 client — onboarding docs, a brown-bag session, or an architecture spike.
  • You control the base endpoint through its configuration and are deliberately pointing the class at a compatible internal proxy or mock that mimics the legacy response shape for testing.
  • You want the shortest possible path to a throwaway demo where the endpoint itself is stubbed — accepting that nothing built this way survives contact with production.

Look elsewhere when:

  • The goal is any new feature that reads from or writes to Instagram. Use the Instagram Graph API with the official Facebook SDK for PHP, or direct PSR-18/Guzzle calls.
  • You require namespaced, PSR-compliant, Composer-autoloaded, unit-tested code with modern PHP support. This is PHP 5-era, global-namespace, untested, and unmaintained.
  • You need webhooks, rate-limit/backoff handling, long-lived token refresh, or app-review-friendly scope management — none of which the legacy surface provides today.
  • Your security review applies current OAuth 2.0 best practices. Credential handling and flow assumptions in a single global class should be re-evaluated rather than inherited.
  • You need framework integration. There is no Laravel service provider, facade, config publishing, or contract interface; it calls cURL directly from the class and cannot be cleanly mocked or swapped through the container without an adapter.

How to Pitch It (Stakeholders)

For executives: Recommend against adoption. The library wraps an API Meta retired; its 1,451 stars measure 2014-era popularity, not present fitness. Choosing it would place a customer-facing feature on a dead endpoint backed by an unmaintained dependency, and the cost lands as rework in one to two quarters rather than at kickoff. Budget the integration against Meta's current Graph API instead, and treat app review and business verification lead time — not engineering effort — as the schedule risk to plan around. If we already depend on it, fund a contained migration now; the cost only grows with every PHP upgrade and every security review.

For engineering: Treat this repository as documentation, not a dependency. Lift the OAuth flow shape and error handling if they help, then implement against the Graph API using the official SDK or a thin typed client over PSR-18/Laravel's Http client. If a legacy integration must stay alive short term, define an application-owned InstagramGateway interface, wrap the class in an adapter bound in a service provider so no caller touches MetzWeb\Instagram\Instagram, pin the version explicitly, and add contract tests over recorded fixtures. Then run a four-stage retirement: inventory every call site, encapsulate, replace behind a feature flag, and remove the package from composer.json once traffic hits zero. Assume zero upstream maintenance — ownership, PHP minor upgrades, token refresh, retry/backoff, and observability all transfer to us on adoption.

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.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums