PHPackages                             xpaw/crimp - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. xpaw/crimp

ActiveLibrary[HTTP &amp; Networking](/categories/http)

xpaw/crimp
==========

A simple multi curl implementation, optimized for high concurrency.

3.1.0(9mo ago)27261MITPHPPHP &gt;=8.1

Since Jun 17Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/xPaw/Crimp.php)[ Packagist](https://packagist.org/packages/xpaw/crimp)[ Docs](https://github.com/xPaw/Crimp.php)[ RSS](/packages/xpaw-crimp/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (9)Dependencies (1)Versions (10)Used By (0)

Crimp [![Packagist](https://camo.githubusercontent.com/d2f55c6d58e8f4805a820f41e8ec7bfdd2ff40dc0626b1e662981c9fc5e58ca2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f787061772f6372696d702e737667)](https://packagist.org/packages/xpaw/crimp)
=========================================================================================================================================================================================================================================================================

[](#crimp-)

A simple multi curl implementation, optimized for high concurrency.

This is practically a bare bones implemention. Retrying, HTTP code checking and other stuff is up to the user.

Usage:

```
$Crimp = new Crimp( function( CurlHandle $Handle, string $Data, $Request ) : void
{
	// $Handle is the cURL handle
	// $Data is the content of a cURL handle
	// $Request is whatever was queued
} );

// How many concurrent threads to use
$Crimp->Threads = 10;

// Set any curl option that are needed
$Crimp->CurlOptions[ CURLOPT_FOLLOWLOCATION ] = 1;

// Queue urls
$Crimp->Add( 'https://example.com/?v=1' );
$Crimp->Add( 'https://example.com/?v=2' );

// Queue an array, it must contain a `Url` key
$Crimp->Add( [ 'Url' => 'https://example.com/?v=3' ] );

// Queue an object, it must contain a `Url` property
class RequestUrl { public string $Url; }
$request = new RequestUrl();
$request->Url = 'https://example.com/?v=4';
$Crimp->Add( $request );

// Execute the requests
$Crimp->Go();
```

`CURLOPT_RETURNTRANSFER` is enabled by default. See [examples](examples/) folder for more.

If you need a fully featured multi cURL implemention, take a look at [Zebra\_cURL](https://github.com/stefangabos/Zebra_cURL) or [Guzzle](https://github.com/guzzle/guzzle) instead.

###  Health Score

47

—

FairBetter than 93% of packages

Maintenance70

Regular maintenance activity

Popularity16

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~423 days

Recently: every ~473 days

Total

9

Last Release

273d ago

Major Versions

1.0.5 → 2.0.02023-02-28

2.0.0 → 3.0.02025-01-21

PHP version history (4 changes)1.0.0PHP &gt;=5.4

1.0.1PHP &gt;=7.1

2.0.0PHP &gt;=8.0

3.0.0PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/7e0942af20ff43fb658f834cff0348fe0b2c5d153b7fa9bef0938591edba13fe?d=identicon)[xPaw](/maintainers/xPaw)

---

Top Contributors

[![xPaw](https://avatars.githubusercontent.com/u/613331?v=4)](https://github.com/xPaw "xPaw (54 commits)")

---

Tags

concurrencycurlmulti-threadingphpasyncasynchronouscurlGuzzleparallelmultirolling

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/xpaw-crimp/health.svg)

```
[![Health](https://phpackages.com/badges/xpaw-crimp/health.svg)](https://phpackages.com/packages/xpaw-crimp)
```

###  Alternatives

[chuyskywalker/rolling-curl

Rolling-Curl: A non-blocking, non-dos multi-curl library for PHP

207455.8k6](/packages/chuyskywalker-rolling-curl)[khr/php-mcurl-client

wrap curl client (http client) for PHP 5.3; using php multi curl, parallel request and write asynchronous code

71226.3k6](/packages/khr-php-mcurl-client)[eightpoints/guzzle-bundle

Integrates Guzzle 6.x, a PHP HTTP Client, into Symfony. Comes with easy and powerful configuration options and optional plugins.

44512.4M57](/packages/eightpoints-guzzle-bundle)[meabed/php-parallel-soap

Multi curl SoapClient that allow to perform multiple requests to SoapServer

4392.0k](/packages/meabed-php-parallel-soap)[phpgt/fetch

Asynchronous HTTP client with promises.

3725.5k4](/packages/phpgt-fetch)[meabed/asynchronous-soap

Multi curl SoapClient that allow to perform multiple requests to SoapServer

4311.7k](/packages/meabed-asynchronous-soap)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
