PHPackages                             patryk-samulewicz/crawl-toolkit - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. patryk-samulewicz/crawl-toolkit

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

patryk-samulewicz/crawl-toolkit
===============================

Universal package for BrightData web scraping and crawling. And making keyword research easier.

v1.7.12(5mo ago)082MITPHPPHP ^8.4

Since Jun 4Pushed 5mo agoCompare

[ Source](https://github.com/Patryk-Samulewicz/crawl-toolkit)[ Packagist](https://packagist.org/packages/patryk-samulewicz/crawl-toolkit)[ RSS](/packages/patryk-samulewicz-crawl-toolkit/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (8)Versions (30)Used By (0)

Crawl Toolkit
=============

[](#crawl-toolkit)

A powerful PHP toolkit for web crawling and content analysis, integrating Bright Data and OpenRouter services.

Features
--------

[](#features)

- Google SERP data retrieval using Bright Data
- Web crawling capabilities with Bright Data
- Content analysis powered by OpenRouter AI
- Simple and intuitive API
- Multi-language support

Requirements
------------

[](#requirements)

- PHP 8.4 or higher
- Composer
- Bright Data account with SERP and Crawler access
- OpenRouter API key

Installation
------------

[](#installation)

```
composer require patryk-samulewicz/crawl-toolkit
```

Configuration
-------------

[](#configuration)

You'll need to provide the following credentials:

- Bright Data SERP API Key
- Bright Data SERP Zone
- Bright Data Crawler API Key
- Bright Data Crawler Zone
- OpenRouter API Key

Usage
-----

[](#usage)

```
use CrawlToolkit\CrawlToolkit;
use CrawlToolkit\Enum\Language;

$toolkit = new CrawlToolkit(
    'your-brightdata-serp-key',
    'your-brightdata-serp-zone',
    'your-brightdata-crawl-key',
    'your-brightdata-crawl-zone',
    'your-openrouter-key'
);

// Get top URLs for a keyword
$urls = $toolkit->getTopUrls('example keyword', 20, Language::POLISH);

// Analyze content
$texts = [
    ['url' => 'https://example.com', 'content' => 'Sample content...']
];
$analysis = $toolkit->analyzeText('example keyword', $texts, Language::ENGLISH);
```

Supported Languages
-------------------

[](#supported-languages)

The toolkit supports the following languages:

- English (en)
- Polish (pl)
- German (de)
- French (fr)
- Spanish (es)
- Italian (it)

You can use the `Language` enum to specify the language for any operation:

```
use CrawlToolkit\Enum\Language;

// Example with different languages
$toolkit->makeKeywordAnalysis('keyword', 20, Language::GERMAN);
$toolkit->processConnectionPhraseToContent('phrase', 'content', Language::FRENCH);
```

Testing
-------

[](#testing)

Run the test suite:

```
composer test
```

License
-------

[](#license)

MIT License

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance71

Regular maintenance activity

Popularity9

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity65

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 ~8 days

Recently: every ~44 days

Total

29

Last Release

164d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/739c38e08ded0fb45956eecdb42adc8cea0e15946dc3c21b41eccea03ef5a12f?d=identicon)[Patryk-Samulewicz](/maintainers/Patryk-Samulewicz)

---

Top Contributors

[![Patryk-Samulewicz](https://avatars.githubusercontent.com/u/97521999?v=4)](https://github.com/Patryk-Samulewicz "Patryk-Samulewicz (44 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/patryk-samulewicz-crawl-toolkit/health.svg)

```
[![Health](https://phpackages.com/badges/patryk-samulewicz-crawl-toolkit/health.svg)](https://phpackages.com/packages/patryk-samulewicz-crawl-toolkit)
```

###  Alternatives

[craftcms/cms

Craft CMS

3.6k3.6M3.1k](/packages/craftcms-cms)[blackfire/player

A powerful web crawler and web scraper with Blackfire support

49617.1k](/packages/blackfire-player)[drupal/core-dev

require-dev dependencies from drupal/drupal; use in addition to drupal/core-recommended to run tests from drupal/core.

2022.6M343](/packages/drupal-core-dev)[crwlr/crawler

Web crawling and scraping library.

36917.4k2](/packages/crwlr-crawler)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9421.6k61](/packages/open-dxp-opendxp)[chameleon-system/chameleon-base

The Chameleon System core.

1028.6k5](/packages/chameleon-system-chameleon-base)

PHPackages © 2026

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