A comprehensive MCP (Model Context Protocol) server for the DataForSEO API, designed to be used with AI assistants and tools.
- Easy to use MCP server for DataForSEO API
- Simple CLI for running the server
- NPM package for integration into your own projects
- Supports the full suite of DataForSEO API endpoints
npm install -g apex-data-for-seo
npm install apex-data-for-seo
Run the server directly from the command line:
apex-data-for-seo --dataforseo-login YOUR_LOGIN --dataforseo-password YOUR_PASSWORD
Or using environment variables:
DATAFORSEO_LOGIN=your_login DATAFORSEO_PASSWORD=your_password apex-data-for-seo
You can also run the server without installing it:
npx apex-data-for-seo --dataforseo-login YOUR_LOGIN --dataforseo-password YOUR_PASSWORD
You can use the server programmatically in your Node.js application:
const { startServer } = require('apex-data-for-seo');
// Start the server
const server = startServer({
dataforseoLogin: 'YOUR_LOGIN',
dataforseoPassword: 'YOUR_PASSWORD'
});
// Handle server events
server.on('exit', (code) => {
console.log(`Server exited with code ${code}`);
});
The MCP server includes a comprehensive suite of tools for accessing all DataForSEO API endpoints:
Search for results in Google organic search.
{
"name": "DataForSEO_GoogleSearch",
"parameters": {
"keyword": "string",
"location_name": "string?",
"language_name": "string?",
"device": "desktop|mobile|tablet?"
}
}
Search for local businesses in Google Maps.
{
"name": "DataForSEO_GoogleMapsSearch",
"parameters": {
"keyword": "string",
"location_name": "string?",
"language_name": "string?"
}
}
Search for news articles in Google News.
{
"name": "DataForSEO_GoogleNewsSearch",
"parameters": {
"keyword": "string",
"location_name": "string?",
"language_name": "string?"
}
}
Search for results in Bing organic search.
{
"name": "DataForSEO_BingSearch",
"parameters": {
"keyword": "string",
"location_name": "string?",
"language_name": "string?"
}
}
Get search volume and keyword metrics.
{
"name": "DataForSEO_KeywordData",
"parameters": {
"keyword": "string",
"location_name": "string?",
"language_name": "string?"
}
}
Get keyword ideas based on seed keywords.
{
"name": "DataForSEO_KeywordIdeas",
"parameters": {
"seed_keywords": "string[]",
"location_name": "string?",
"language_name": "string?",
"limit": "number?"
}
}
Get keywords for which a site ranks.
{
"name": "DataForSEO_KeywordsForSite",
"parameters": {
"target": "string",
"location_name": "string?",
"language_name": "string?",
"limit": "number?"
}
}
Get an overview of a domain's metrics.
{
"name": "DataForSEO_DomainOverview",
"parameters": {
"domain": "string",
"location_name": "string?",
"language_name": "string?"
}
}
Get technologies used by a website.
{
"name": "DataForSEO_WebsiteTechnologies",
"parameters": {
"domain": "string"
}
}
Get an overview of a domain's backlink profile.
{
"name": "DataForSEO_BacklinksOverview",
"parameters": {
"target": "string",
"limit": "number?"
}
}
Get a list of backlinks for a domain or URL.
{
"name": "DataForSEO_BacklinksList",
"parameters": {
"target": "string",
"limit": "number?"
}
}
Create a task to analyze a website.
{
"name": "DataForSEO_OnPageAnalysis",
"parameters": {
"target": "string",
"max_crawl_pages": "number?",
"store_raw_html": "boolean?"
}
}
Analyze a specific URL instantly.
{
"name": "DataForSEO_InstantPageAnalysis",
"parameters": {
"url": "string",
"custom_js": "string?"
}
}
Search for products on Google Shopping.
{
"name": "DataForSEO_GoogleShoppingSearch",
"parameters": {
"keyword": "string",
"location_name": "string?",
"language_name": "string?"
}
}
Search for products on Amazon.
{
"name": "DataForSEO_AmazonProductSearch",
"parameters": {
"keyword": "string",
"location_name": "string?",
"language_name": "string?"
}
}
Analyze text content for sentiment and readability.
{
"name": "DataForSEO_ContentAnalysis",
"parameters": {
"content": "string",
"language_name": "string?"
}
}
Search for apps in the Apple App Store.
{
"name": "DataForSEO_AppStoreSearch",
"parameters": {
"keyword": "string",
"location_name": "string?",
"language_name": "string?"
}
}
Search for apps in the Google Play Store.
{
"name": "DataForSEO_GooglePlaySearch",
"parameters": {
"keyword": "string",
"location_name": "string?",
"language_name": "string?"
}
}
Get information about a business from Google My Business.
{
"name": "DataForSEO_GoogleBusinessInfo",
"parameters": {
"keyword": "string",
"location_name": "string?",
"language_name": "string?"
}
}
Get a list of competitors for a domain.
{
"name": "DataForSEO_DomainCompetitors",
"parameters": {
"domain": "string",
"location_name": "string?",
"language_name": "string?",
"limit": "number?"
}
}
Find shared keywords between multiple domains.
{
"name": "DataForSEO_DomainIntersection",
"parameters": {
"domains": "string[]",
"location_name": "string?",
"language_name": "string?",
"limit": "number?"
}
}
Get difficulty scores for keywords.
{
"name": "DataForSEO_KeywordDifficulty",
"parameters": {
"keywords": "string[]",
"location_name": "string?",
"language_name": "string?"
}
}
This server follows the Model Context Protocol (MCP) specification, making it compatible with AI assistants that support MCP.
MIT