jeffersongoncalves / 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.
Package info
github.com/jeffersongoncalves/laravel-keywords-everywhere
pkg:composer/jeffersongoncalves/laravel-keywords-everywhere
Fund package maintenance!
Requires
- php: ^8.2
- illuminate/support: ^11.0|^12.0|^13.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.21
- orchestra/testbench: ^9.0|^10.0|^11.0
- pestphp/pest: ^3.0|^4.0
- pestphp/pest-plugin-laravel: ^3.0|^4.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Laravel Keywords Everywhere
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 data —
keywordData()(search volume, CPC, competition for up to 100 keywords) - Related keywords —
relatedKeywords() - PASF keywords —
pasfKeywords()("People Also Search For") - Domain keywords / traffic —
domainKeywords()anddomainTraffic() - Domain backlinks —
domainBacklinks()anddomainUniqueBacklinks() - URL keywords / traffic —
urlKeywords()andurlTraffic() - URL backlinks —
urlBacklinks()andurlUniqueBacklinks() - Account info —
credits(),countries(),currencies() - A non-2xx response throws
Illuminate\Http\Client\RequestException - Any
keywordsparameter 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.
