PHPackages                             sharpapi/laravel-web-scraping-api - 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. sharpapi/laravel-web-scraping-api

ActiveLibrary[API Development](/categories/api)

sharpapi/laravel-web-scraping-api
=================================

Web Scraping API for Laravel powered by SharpAPI.com

1.0.2(4mo ago)02MITPHPPHP ^8.1

Since Jan 9Pushed 1mo agoCompare

[ Source](https://github.com/sharpapi/laravel-web-scraping-api)[ Packagist](https://packagist.org/packages/sharpapi/laravel-web-scraping-api)[ Docs](https://github.com/sharpapi/laravel-web-scraping-api)[ RSS](/packages/sharpapi-laravel-web-scraping-api/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (5)Versions (4)Used By (0)

[![SharpAPI GitHub cover](https://camo.githubusercontent.com/82bb36706c1e71276b3dca4ec9120353bb51c8f22bb62543bf056db5c28da36d/68747470733a2f2f73686172706170692e636f6d2f73686172706170692d6769746875622d6c61726176656c2d62672e6a7067 "SharpAPI Laravel Client")](https://camo.githubusercontent.com/82bb36706c1e71276b3dca4ec9120353bb51c8f22bb62543bf056db5c28da36d/68747470733a2f2f73686172706170692e636f6d2f73686172706170692d6769746875622d6c61726176656c2d62672e6a7067)

Web Scraping API for Laravel
============================

[](#web-scraping-api-for-laravel)

🚀 Powerful web scraping capabilities for your Laravel applications.
-------------------------------------------------------------------

[](#-powerful-web-scraping-capabilities-for-your-laravel-applications)

[![Latest Version on Packagist](https://camo.githubusercontent.com/16a77752848764293ed8fae9cef9d34dbc862c5dd5fc4f87599780af896f9453/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73686172706170692f6c61726176656c2d7765622d7363726170696e672d6170692e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/sharpapi/laravel-web-scraping-api)[![Total Downloads](https://camo.githubusercontent.com/c828a24af989de250418ca4961057524c41b48e08ca68ad8bab442aceb0a2cff/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f73686172706170692f6c61726176656c2d7765622d7363726170696e672d6170692e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/sharpapi/laravel-web-scraping-api)

Check the details at SharpAPI's [Web Scraping API](https://sharpapi.com/en/catalog/utility/web-scraping-api) page.

---

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

[](#requirements)

- PHP &gt;= 8.1
- Laravel &gt;= 10.48.29

---

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

[](#installation)

Follow these steps to install and set up the SharpAPI Laravel Web Scraping API package.

1. Install the package via `composer`:

```
composer require sharpapi/laravel-web-scraping-api
```

2. Register at [SharpAPI.com](https://sharpapi.com/) to obtain your API key.
3. Set the API key in your `.env` file:

```
SHARP_API_KEY=your_api_key_here
```

4. **\[OPTIONAL\]** Publish the configuration file:

```
php artisan vendor:publish --tag=sharpapi-web-scraping-api
```

---

Key Features
------------

[](#key-features)

- **HTML Extraction**: Extract the full HTML content of any webpage.
- **Structured Data Extraction**: Extract specific elements from webpages using CSS selectors.
- **Screenshot Capture**: Take screenshots of webpages.
- **Link Extraction**: Extract all links from a webpage.
- **Image Extraction**: Extract all images from a webpage.
- **JavaScript Rendering**: Properly render JavaScript-heavy websites.
- **Proxy Support**: Use proxies to avoid IP blocking.

---

Usage
-----

[](#usage)

You can inject the `WebScrapingApiService` class to access the web scraping functionality.

### Basic Workflow

[](#basic-workflow)

1. **Scrape a Webpage**: Use `scrapeWebpage` to get the full HTML content of a webpage.
2. **Extract Structured Data**: Use `extractStructuredData` to extract specific elements from a webpage using CSS selectors.
3. **Take a Screenshot**: Use `takeScreenshot` to capture a screenshot of a webpage.
4. **Extract Links**: Use `extractLinks` to extract all links from a webpage.
5. **Extract Images**: Use `extractImages` to extract all images from a webpage.

---

### Controller Example

[](#controller-example)

Here is an example of how to use `WebScrapingApiService` within a Laravel controller:

```
