Skip to content
← Back to projects

Laravel Keywords Everywhere

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.

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.

New version available.