PHPackages                             abdasis/laravel-rapidapi - 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. abdasis/laravel-rapidapi

ActiveLibrary[API Development](/categories/api)

abdasis/laravel-rapidapi
========================

Laravel wrapper untuk RapidAPI - konsumsi ribuan API dengan mudah

00PHP

Since Mar 1Pushed 2mo agoCompare

[ Source](https://github.com/abdasis/laravel-rapidapi)[ Packagist](https://packagist.org/packages/abdasis/laravel-rapidapi)[ RSS](/packages/abdasis-laravel-rapidapi/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel RapidAPI Client
=======================

[](#laravel-rapidapi-client)

Laravel package untuk mengonsumsi API dari [RapidAPI](https://rapidapi.com) dengan mudah. Dilengkapi dengan caching, retry otomatis, logging, dan base class `ApiEndpoint` untuk membuat wrapper API yang rapi.

Instalasi
---------

[](#instalasi)

```
composer require abdasis/laravel-rapidapi
```

Package ini menggunakan Laravel Package Auto-Discovery — service provider terdaftar otomatis.

### Publish konfigurasi (opsional)

[](#publish-konfigurasi-opsional)

```
php artisan vendor:publish --tag=rapidapi-config
```

Konfigurasi
-----------

[](#konfigurasi)

Tambahkan ke `.env`:

```
RAPIDAPI_KEY=your_rapidapi_key_here

# Opsional
RAPIDAPI_TIMEOUT=30
RAPIDAPI_RETRY_TIMES=3
RAPIDAPI_RETRY_SLEEP=100
RAPIDAPI_CACHE_ENABLED=false
RAPIDAPI_CACHE_TTL=3600
RAPIDAPI_LOGGING_ENABLED=false
```

Penggunaan
----------

[](#penggunaan)

### Facade

[](#facade)

```
use Abdasis\LaravelRapidApi\Facades\RapidApi;

$response = RapidApi::forHost('open-weather-map.p.rapidapi.com')
    ->get('https://open-weather-map.p.rapidapi.com/weather', [
        'q' => 'Jakarta',
    ]);

$data = $response->json();
```

### Dependency Injection

[](#dependency-injection)

```
use Abdasis\LaravelRapidApi\RapidApiClient;

class WeatherService
{
    public function __construct(
        private readonly RapidApiClient $client
    ) {}

    public function current(string $city): array
    {
        $response = $this->client
            ->forHost('open-weather-map.p.rapidapi.com')
            ->get('https://open-weather-map.p.rapidapi.com/weather', [
                'q' => $city,
            ]);

        return $response->json();
    }
}
```

### ApiEndpoint — Base Class

[](#apiendpoint--base-class)

Buat wrapper API yang spesifik dengan extend `ApiEndpoint`:

```
use Abdasis\LaravelRapidApi\Support\ApiEndpoint;

class TikTokApi extends ApiEndpoint
{
    protected string $host = 'tiktok-downloader.p.rapidapi.com';
    protected string $baseUrl = 'https://tiktok-downloader.p.rapidapi.com';

    public function getVideo(string $url): array
    {
        return $this->get('/vid/index', ['url' => $url])->json();
    }
}
```

Daftarkan di service container:

```
$this->app->singleton(TikTokApi::class);
```

Method yang Tersedia
--------------------

[](#method-yang-tersedia)

### `RapidApiClient`

[](#rapidapiclient)

MethodDeskripsi`get(url, query, headers)`Kirim GET request`post(url, data, headers)`Kirim POST request`put(url, data, headers)`Kirim PUT request`patch(url, data, headers)`Kirim PATCH request`delete(url, headers)`Kirim DELETE request`forHost(host)`Set X-RapidAPI-Host header`request()`Buat `RapidApiPendingRequest`### `RapidApiPendingRequest`

[](#rapidapipendingrequest)

MethodDeskripsi`withHost(host)`Set host untuk request ini`withHeaders(headers)`Tambahkan header custom`withoutCache()`Skip cache untuk request ini`get / post / put / patch / delete`Kirim request### `RapidApiResponse`

[](#rapidapiresponse)

MethodDeskripsi`json(key, default)`Ambil body sebagai array`body()`Ambil body sebagai string`status()`HTTP status code`successful()``true` jika 2xx`failed()``true` jika 4xx/5xx`rateLimited()``true` jika 429`unauthorized()``true` jika 401`notFound()``true` jika 404Penanganan Error
----------------

[](#penanganan-error)

```
use Abdasis\LaravelRapidApi\Exceptions\RapidApiException;
use Abdasis\LaravelRapidApi\Exceptions\RapidApiConnectionException;

try {
    $response = RapidApi::get('https://api.example.com/data');
} catch (RapidApiConnectionException $e) {
    // Timeout atau gagal koneksi
    logger()->error($e->getMessage());
} catch (RapidApiException $e) {
    // Response 4xx/5xx
    logger()->error($e->getMessage(), [
        'status' => $e->response?->status(),
    ]);
}
```

Caching
-------

[](#caching)

Aktifkan cache untuk mengurangi API call:

```
RAPIDAPI_CACHE_ENABLED=true
RAPIDAPI_CACHE_TTL=3600
RAPIDAPI_CACHE_STORE=redis
```

Cache otomatis digunakan pada GET request. Nonaktifkan per-request:

```
RapidApi::request()->withoutCache()->get('https://...');
```

Testing
-------

[](#testing)

```
composer test
```

Lisensi
-------

[](#lisensi)

MIT

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance57

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/8faab912cbce66498f4d25247b5a340a5ed4b1645cc30ffda61cdb10fb1e2fb8?d=identicon)[abdasis](/maintainers/abdasis)

### Embed Badge

![Health badge](/badges/abdasis-laravel-rapidapi/health.svg)

```
[![Health](https://phpackages.com/badges/abdasis-laravel-rapidapi/health.svg)](https://phpackages.com/packages/abdasis-laravel-rapidapi)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M475](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M270](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M452](/packages/google-gax)

PHPackages © 2026

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