Asynchronous parallel HTTP/1.1 client built on the Amp concurrency framework

Installs: 148 840

Dependents: 62

Suggesters: 6

Stars: 427

Watchers: 35

Forks: 44

Open Issues: 13


Build Status CoverageStatus License

Artax is an asynchronous HTTP client for PHP based on Amp. Its API simplifies standards-compliant HTTP resource traversal and RESTful web service consumption without obscuring the underlying protocol. The library manually implements HTTP over TCP sockets; as such it has no dependency on ext/curl.


  • Requests asynchronously for full single-threaded concurrency
  • Pools persistent keep-alive connections
  • Transparently follows redirects
  • Decodes gzipped entity bodies
  • Exposes headers and message data
  • Streams entity bodies for memory management with large transfers
  • Supports all standard and custom HTTP method verbs
  • Simplifies HTTP form submissions
  • Implements secure-by-default TLS (https://)
  • Supports cookies and sessions
  • Functions seamlessly behind HTTP proxies

Project Goals

  • Model all code as closely as possible to the relevant HTTP protocol RFCs
  • Implement an HTTP/1.1 client built on raw socket streams with no libcurl dependency


This package can be installed as a Composer dependency.

composer require amphp/artax


Documentation is bundled within this repository in the docs directory.


More extensive code examples reside in the examples directory.


amphp/artax follows the semver semantic versioning specification like all other amphp packages.

Version Bug Fixes Until Security Fixes Until
2.x 2017-12-31 2018-12-31
1.x Unmaintained. Unmaintained.


If you discover any security related issues, please email instead of using the issue tracker.


The MIT License (MIT). Please see LICENSE for more information.