Guzzle
An extensible PHP HTTP client for sending requests and integrating with web services
Repository Health
Technical Analysis
Guzzle is a PHP HTTP client that makes it simple to send HTTP requests and trivial to integrate with web services. It offers one interface for both synchronous and asynchronous requests, builds on the PSR-7 message and PSR-18 client standards for interoperability, and abstracts away the underlying transport so your code never depends directly on cURL or PHP streams.
A composable middleware system lets you augment client behavior with retries, redirects, logging, and cookies, while promises make concurrent requests straightforward. With billions of downloads and near-universal adoption across the PHP ecosystem, Guzzle is the de facto standard HTTP client for the language.
What You Get
- A simple, immutable
Clientfor building and sending synchronous and asynchronous HTTP requests - Full PSR-7 (messages) and PSR-18 (HTTP client) compliance for framework and library interoperability
- A pluggable handler and middleware stack for retries, redirects, cookies, and logging
- Promise-based concurrency for pooling and multiplexing many requests at once
- Transport abstraction over cURL and PHP streams so code stays environment-agnostic
Common Use Cases
- Consuming REST and JSON APIs from PHP applications and services
- Making concurrent or pooled requests to speed up bulk data fetching
- Building SDKs and API clients that need retries, auth, and error handling
- Streaming large uploads and downloads without exhausting memory
Under The Hood
Architecture - A request enters through the immutable Client (src/Client.php), which merges default options and delegates to a HandlerStack that wraps a base transport handler in a chain of middleware (redirects, retries, cookies, body preparation). The handler returns a PromiseInterface, so the same code path serves both blocking request() and non-blocking sendAsync() calls; Pool and multiplexing coordinate many in-flight promises. Handlers under src/Handler (CurlHandler, CurlMultiHandler, StreamHandler, MockHandler) isolate the actual transport behind a common callable contract.
Tech Stack - Pure PHP targeting ^7.2.5 || ^8.0, built on the guzzlehttp/promises and guzzlehttp/psr7 packages plus the psr/http-client interface, with symfony deprecation-contracts and polyfills. cURL is an optional runtime dependency (ext-curl) with a PHP-stream fallback. Tooling includes PHPUnit, PHPStan (with a baseline), and php-cs-fixer, orchestrated via a Makefile and composer bin plugin.
Code Quality - The codebase is small and focused (47 source files) with an extensive test suite (41 test files) covering handlers, middleware, and integration scenarios against a test server. Interfaces are defined for every major seam (ClientInterface, CurlFactoryInterface, MessageFormatterInterface), dedicated exception types model transfer and HTTP errors, and PHPStan enforces static typing. Naming is consistent and the public surface is documented inline.
API Design - The developer experience is deliberately minimal: construct a Client, call request('GET', $uri), and read a PSR-7 response. Request options are passed as a plain associative array, keeping the getting-started path to a couple of lines, while advanced needs (middleware, custom handlers, promises) are available without complicating the common case. Documentation is thorough, with a quickstart, request-options reference, and testing guide.
Used by 30 apps in this directory
Akaunting
Invoicing Finance
Open-source online accounting for small businesses and freelancers — invoices, expenses, and reporting without monthly fees or vendor lock-in.
Bagisto
Analytics · Ecommerce
Open-source Laravel eCommerce platform for building multi-vendor marketplaces, B2B stores, headless commerce, and AI-powered storefronts.
Cachet
Monitoring
The open-source, self-hosted status page system that keeps your users informed during outages and maintenance windows.
Coolify
Devops · Hosting Control Panel
Open-source self-hosted PaaS — deploy apps, databases and 280+ services on your own servers with no vendor lock-in
Craft CMS
CMS
A developer-first PHP CMS with clean-slate content modeling, auto-generated GraphQL API, and a four-tier edition system that scales from solo projects to enterprise deployments.
Crater
Invoicing Finance
Open source invoicing and billing platform for freelancers and small businesses — create estimates, track expenses, accept Stripe payments, and run recurring invoices from your own server.
Dify
No Code Platforms · AI Development · Developer Tools
Visual LLM workflow platform with RAG pipelines, agent capabilities, and model management for building production AI applications.
EspoCRM
Marketing · Ecommerce · CRM
Open-source CRM platform with metadata-driven customization, field-level permissions, and a full REST API — deploy on your own infrastructure.
faved
Knowledge Management · Bookmarks Archiving · Note Taking
A private, self-hosted bookmark manager built for large collections—nested tags, PWA support, and zero cloud dependency.