Looking to hire Laravel developers? Try LaraJobs

laravel-keywords-everywhere maintained by jeffersongoncalves

Description
A lightweight Keywords Everywhere API client for Laravel — keyword search volume/CPC/competition data, related and PASF keywords, domain/URL keyword & traffic data, and backlinks.
Last update
2026/09/07 21:59 (dev-main)
License
Links
Downloads
1

Comments
comments powered by Disqus

Laravel Keywords Everywhere

Laravel Keywords Everywhere

Tests PHPStan Code Style Latest Version on Packagist Total Downloads License

A lightweight Keywords Everywhere API client for Laravel. It wraps the keyword research, domain/URL, and backlinks endpoints behind a small KeywordsEverywhere client/facade, threads your Bearer token, and returns the decoded JSON body — no DTOs, no response wrappers.

Features

  • Keyword datakeywordData() (search volume, CPC, competition for up to 100 keywords)
  • Related keywordsrelatedKeywords()
  • PASF keywordspasfKeywords() ("People Also Search For")
  • Domain keywords / trafficdomainKeywords() and domainTraffic()
  • Domain backlinksdomainBacklinks() and domainUniqueBacklinks()
  • URL keywords / trafficurlKeywords() and urlTraffic()
  • URL backlinksurlBacklinks() and urlUniqueBacklinks()
  • Account infocredits(), countries(), currencies()
  • A non-2xx response throws Illuminate\Http\Client\RequestException
  • Any keywords parameter accepts an array or a comma-separated string

Installation

composer require jeffersongoncalves/laravel-keywords-everywhere

Optionally publish the config file:

php artisan vendor:publish --tag="keywords-everywhere-config"

Configuration

Add to your .env:

KEYWORDS_EVERYWHERE_API_KEY=your-keywords-everywhere-api-token

Generate a token at https://keywordseverywhere.com/dashboard.

Config Options

// config/keywords-everywhere.php
return [
    'token' => env('KEYWORDS_EVERYWHERE_API_KEY'),
    'base_url' => env('KEYWORDS_EVERYWHERE_BASE_URL', 'https://api.keywordseverywhere.com/v1'),
];

When keywords-everywhere.token is null the client falls back to config('services.keywords-everywhere.token').

Usage

Via the facade:

use JeffersonGoncalves\KeywordsEverywhere\Facades\KeywordsEverywhere;

// Keyword data — array or comma-separated string, max 100 keywords
KeywordsEverywhere::keywordData(['laravel', 'php'], country: 'us', currency: 'USD');
KeywordsEverywhere::keywordData('laravel,php');

KeywordsEverywhere::relatedKeywords('laravel', country: 'us', currency: 'USD');

KeywordsEverywhere::pasfKeywords('laravel', country: 'us', currency: 'USD');

KeywordsEverywhere::domainKeywords('example.com', country: 'us', currency: 'USD');

KeywordsEverywhere::domainTraffic('example.com', country: 'us');

KeywordsEverywhere::domainBacklinks('example.com');

KeywordsEverywhere::domainUniqueBacklinks('example.com');

KeywordsEverywhere::urlKeywords('https://example.com/page', country: 'us', currency: 'USD');

KeywordsEverywhere::urlTraffic('https://example.com/page', country: 'us');

KeywordsEverywhere::urlBacklinks('https://example.com/page');

KeywordsEverywhere::urlUniqueBacklinks('https://example.com/page');

KeywordsEverywhere::credits();

KeywordsEverywhere::countries();

KeywordsEverywhere::currencies();

Or inject/resolve the underlying client:

use JeffersonGoncalves\KeywordsEverywhere\KeywordsEverywhere;

$keywordsEverywhere = app(KeywordsEverywhere::class);
$keywordsEverywhere->credits();

Error handling

use Illuminate\Http\Client\RequestException;

try {
    $data = KeywordsEverywhere::keywordData('laravel');
} catch (RequestException $e) {
    // $e->response->status(), $e->response->json(), ...
}

Testing

composer test

Static Analysis

composer analyse

Code Formatting

composer format

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.