PHPackages                             scrapify-dev/api-tools - 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. [API Development](/categories/api)
4. /
5. scrapify-dev/api-tools

ActiveLibrary[API Development](/categories/api)

scrapify-dev/api-tools
======================

A Laravel package to handle API requests, logging, and exporting.

v1.0.0(9mo ago)01MITPHPPHP &gt;=8.0

Since Aug 11Pushed 9mo agoCompare

[ Source](https://github.com/HenaAndhariya17/scrapify_api_tools)[ Packagist](https://packagist.org/packages/scrapify-dev/api-tools)[ RSS](/packages/scrapify-dev-api-tools/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (4)Versions (2)Used By (0)

📦 Scrapify ApiTools

A Laravel package for **API requests**, **web scraping**, and **dynamic data exporting** using `PhpSpreadsheet`.

---

📥 Installation
--------------

[](#-installation)

Install via Composer:

```
composer require scrapify-dev/api-tools
```

The service provider is auto-discovered by Laravel. If you need to register manually, add to `config/app.php`:

```
'providers' => [
    Scrapify\ApiTools\ApiToolsServiceProvider::class,
],
```

---

⚙️ Requirements
---------------

[](#️-requirements)

- **PHP:** `>=8.0`
- **Laravel:** `^9.0` | `^10.0` | `^11.0` | `^12.0`
- **Dependencies:**

    - `phpoffice/phpspreadsheet:^4.5`
    - `symfony/dom-crawler:^6.0`
    - `league/html-to-markdown:^4.0`
    - `illuminate/support` *(as per Laravel version)*

---

📚 Features
----------

[](#-features)

- **ApiService** → Make robust HTTP API calls with authentication &amp; custom headers.
- **ApiScrapeService** → Scrape HTML, Markdown, specific elements, or full-page screenshots.
- **DynamicExport** → Export data dynamically to Excel or other formats.

---

1️⃣ ApiService
--------------

[](#1️⃣-apiservice)

Make HTTP requests to external APIs.

### **Usage**

[](#usage)

```
use Scrapify\ApiTools\ApiService;

$apiService = new ApiService();

try {
    $response = $apiService->callApi(
        'https://api.example.com/data', // Endpoint
        'GET',                          // Method
        ['param1' => 'value1'],          // Payload
        'Bearer',                        // Auth type
        ['token' => 'your_auth_token'],  // Auth data
        ['X-Custom-Header' => 'MyValue'] // Headers
    );

    $data = $response->json();
} catch (\Exception $e) {
    echo $e->getMessage();
}
```

---

2️⃣ ApiScrapeService
--------------------

[](#2️⃣-apiscrapeservice)

Scrape websites &amp; extract data.

### **Supported output types**

[](#supported-output-types)

- `html` → Raw HTML
- `markdown` → HTML to Markdown
- `screenshot` → Full-page screenshot
- `specific` → Extract specific data (links, emails, images, phones, metadata, headings)

### **Usage**

[](#usage-1)

```
use Scrapify\ApiTools\ApiScrapeService;

$scraper = new ApiScrapeService();

// Extract links & emails
$result = $scraper->scrape(
    'https://example.com',
    'specific',
    ['link', 'email']
);

// Screenshot
$screenshot = $scraper->scrape(
    'https://example.com',
    'screenshot'
);
```

---

3️⃣ DynamicExport
-----------------

[](#3️⃣-dynamicexport)

Prepare and export tabular data.

### **Usage**

[](#usage-2)

```
use Scrapify\ApiTools\Exports\DynamicExport;

$rows = [
    ['John Doe', 'john@example.com'],
    ['Jane Smith', 'jane@example.com'],
];

$headings = ['Name', 'Email'];

$export = new DynamicExport($rows, $headings);

// Get arrays
$headingsArray = $export->getHeadings();
$rowsArray = $export->getRows();
```

---

📊 Example: Export to Excel
--------------------------

[](#-example-export-to-excel)

```
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
use Scrapify\ApiTools\Exports\DynamicExport;

// Prepare export
$export = new DynamicExport($rows, $headings);

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();

// Headings
foreach ($export->getHeadings() as $col => $heading) {
    $colLetter = Coordinate::stringFromColumnIndex($col + 1);
    $sheet->setCellValue($colLetter . '1', $heading);
}

// Rows
foreach ($export->getRows() as $rowIndex => $row) {
    foreach ($row as $colIndex => $value) {
        $colLetter = Coordinate::stringFromColumnIndex($colIndex + 1);
        $sheet->setCellValue($colLetter . ($rowIndex + 2), $value);
    }
}

// Save file
$writer = new Xlsx($spreadsheet);
$writer->save('exported_data.xlsx');
```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance58

Moderate activity, may be stable

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 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

Unknown

Total

1

Last Release

280d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4f9ae840f4b060d80152376903886f7b47b0921cc96937182947d478378fc918?d=identicon)[HenaAndhariya17](/maintainers/HenaAndhariya17)

---

Top Contributors

[![HenaAndhariya17](https://avatars.githubusercontent.com/u/137869374?v=4)](https://github.com/HenaAndhariya17 "HenaAndhariya17 (6 commits)")

### Embed Badge

![Health badge](/badges/scrapify-dev-api-tools/health.svg)

```
[![Health](https://phpackages.com/badges/scrapify-dev-api-tools/health.svg)](https://phpackages.com/packages/scrapify-dev-api-tools)
```

###  Alternatives

[darkaonline/l5-swagger

OpenApi or Swagger integration to Laravel

2.9k34.0M112](/packages/darkaonline-l5-swagger)[echolabsdev/prism

A powerful Laravel package for integrating Large Language Models (LLMs) into your applications.

2.3k388.3k10](/packages/echolabsdev-prism)[craftcms/apple-news

Publish Craft CMS entries to Apple News

4223.5k](/packages/craftcms-apple-news)[sburina/laravel-whmcs-up

WHMCS API client and user provider for Laravel

271.3k](/packages/sburina-laravel-whmcs-up)

PHPackages © 2026

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