# Keyword

```json
{
  "name": "Keyword",
  "slug": "keyword",
  "url": "https://composio.dev/toolkits/keyword",
  "markdown_url": "https://composio.dev/toolkits/keyword.md",
  "logo_url": "https://logos.composio.dev/api/keyword",
  "categories": [
    "advertising & marketing"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-06-18T09:35:49.541Z"
}
```

![Keyword logo](https://logos.composio.dev/api/keyword)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Keyword MCP or direct API to track rankings, analyze SEO performance, monitor competitors, and report keyword movement through natural language.

## Summary

Keyword.com is a digital marketing platform for search rank tracking and SEO analytics.
Use it to monitor keyword performance, spot ranking changes, and measure SEO visibility.

## Categories

- advertising & marketing

## Toolkit Details

- Tools: 20

## Images

- Logo: https://logos.composio.dev/api/keyword

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Keyword.
  - Setup:
    - Configure Api Key credentials for Keyword.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Track keyword rankings for target domains
- Compare SEO visibility across competitors
- Find ranking drops for tracked keywords

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `KEYWORD_ADD_KEYWORDS` | Add Keywords | Tool to add keywords to a Keyword.com project for search ranking tracking. Use when you need to monitor how specific URLs rank for target keywords across different Google regions and devices. |
| `KEYWORD_ARCHIVE_PROJECT` | Archive Project | Tool to archive a project in Keyword.com. Sets the project status to Archived. Use when you need to archive a project without permanently deleting it. The project will remain archived until restored or permanently deleted. |
| `KEYWORD_CREATE_PROJECT` | Create Project or Group | Tool to create a new project or group in Keyword.com account. Use when you need to create a new project for organizing keywords or create a group within an existing project. For groups, the category must follow the naming convention with [sub] delimiter (e.g., ProjectName[sub]GroupName). |
| `KEYWORD_DELETE_KEYWORD` | Delete Keyword | Tool to delete a single keyword from a project or group. Use when you need to permanently remove a keyword. Warning: This action cannot be undone and all historic ranking data will be lost. |
| `KEYWORD_DELETE_KEYWORDS_BULK` | Bulk delete keywords | Tool to bulk delete multiple keywords from a single project by providing keyword IDs. Use when you need to remove multiple keywords at once from a project. |
| `KEYWORD_DELETE_PROJECT` | Delete Project | Tool to delete a single project or group from Keyword.com. Use when you need to permanently remove a project. This action cannot be undone. |
| `KEYWORD_GET_CURRENT_USER` | Get Current User | Tool to retrieve the current authenticated user's account information. Returns user profile details including ID, name, email, onboarding status, and optionally subscription information. |
| `KEYWORD_GET_KEYWORD` | Get Keyword | Tool to retrieve all keyword settings and ranking metrics for a single keyword. Use when you need to get detailed information about a keyword's performance and configuration. Can optionally retrieve data for a specific date. |
| `KEYWORD_GET_PROJECT` | Get Project Details | Tool to retrieve a single project's summary from Keyword.com. Returns groups, tags, keyword counts, and the PROJECT AUTH KEY required for detailed data collection. Use when you need project details or the auth key for further API operations. |
| `KEYWORD_GET_PROJECT_METRICS` | Get Project Metrics | Retrieve keyword movement metrics for a project, group, or tag. Returns ranking changes (daily, weekly, or monthly) including number of keywords that improved, declined, or remained unchanged, along with detailed movement data for individual keywords. |
| `KEYWORD_GET_RANKING_HISTORY` | Get Keyword Ranking History | Tool to retrieve Google ranking history for specified keywords for up to 180 days. Use when you need to analyze historical ranking trends or track keyword performance over time. Returns daily ranking positions grouped by keyword ID and domain. |
| `KEYWORD_GET_SOV_HISTORY` | Get Share of Voice History | Retrieve Share of Voice data over time for a specific project. Use when you need historical SOV metrics. Supports ranges of 7, 30, 90, 180, and 365 days with varying data point intervals. |
| `KEYWORD_GET_TOP_PAGES` | Get Top Pages | Tool to retrieve Top Pages data for a project showing ranking URLs with keyword counts, average rank, search volume, and cost per click metrics. Use when you need to analyze which pages are ranking for the most keywords in a project. |
| `KEYWORD_LIST_ACTIVE_PROJECTS` | List Active Projects | Tool to retrieve all active projects with their groups, tags, and keyword counts. Returns PROJECT AUTH KEY for each project which is required to collect detailed project and keyword data. |
| `KEYWORD_LIST_ALERTS` | List Alerts | Tool to retrieve all alerts for the Keyword.com account with pagination and sorting options. Use when you need to fetch alerts, check alert status, or monitor notifications. Supports filtering by view type and retrieving only recent alerts. |
| `KEYWORD_LIST_KEYWORDS` | List Keywords | Tool to retrieve all keywords and their ranking data in a project or group. Use when you need to get keyword rankings, search volumes, and position changes. Supports pagination with per_page (max 250) and page parameters, and can filter by specific date. |
| `KEYWORD_LIST_PROJECT_REGIONS` | List Project Regions | Tool to list all Google regions being tracked in a Keyword.com project. Returns each region with the count of keywords being monitored in that region. Use when you need to see which geographic regions are configured for keyword tracking in a specific project. |
| `KEYWORD_REFRESH_KEYWORDS` | Refresh Keywords | Tool to trigger an on-demand update for all keywords in one or more projects or groups. Use when you need to refresh keyword rankings data immediately instead of waiting for the scheduled update. Returns the number of refreshes remaining for the day. |
| `KEYWORD_RESTORE_PROJECT` | Restore Archived Project | Tool to restore an archived project or group. Use when you need to unarchive a project and resume keyword tracking. Once restored, keywords will automatically update during the next scheduled cycle. |
| `KEYWORD_UPDATE_KEYWORDS` | Update Keywords | Tool to update keyword settings in a project. Updates tracking parameters such as device type, tracked URL, Google region, language, and URL tracking method for multiple keywords at once. Use when you need to modify keyword tracking configuration. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Keyword Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Keyword actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'Show ranking changes for my tracked SEO keywords in Keyword'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'Show ranking changes for my tracked SEO keywords in Keyword'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Keyword
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Keyword tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Show ranking changes for my tracked SEO keywords in Keyword')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'Show ranking changes for my tracked SEO keywords in Keyword'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Keyword Integration

- Supports both Keyword MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable SEO rank tracking and reporting
- Rich coverage for reading, querying, and analyzing your Keyword ranking data

### 2. Managed Auth

- Secure API key handling so you don't have to hard-code Keyword credentials
- Central place to manage, scope, and revoke Keyword access
- Per user and per environment credentials for cleaner, safer agent deployments

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Clear tool schemas help agents ask for the right Keyword ranking, keyword, and SEO data
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Keyword
- Scoped, least privilege access to Keyword ranking and analytics resources
- Full audit trail of agent actions to support review and compliance

## Use Keyword with any AI Agent Framework

Choose a framework you want to connect Keyword with:

- [Claude Cowork](https://composio.dev/toolkits/keyword/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/keyword/framework/codex)

## Related Toolkits

- [Metaads](https://composio.dev/toolkits/metaads) - Metaads is Meta's official Ads API that lets you manage, analyze, and optimize your Facebook and Instagram ad campaigns. Streamline ad operations and gain deeper insights with robust automation.
- [Adrapid](https://composio.dev/toolkits/adrapid) - Adrapid is a platform for rapid creation of digital marketing visuals using templates. It streamlines design workflows for banners, images, and HTML5 content with automation.
- [Adyntel](https://composio.dev/toolkits/adyntel) - Adyntel is an API that retrieves LinkedIn ads for any company using a domain or LinkedIn Page ID. Easily access competitive ad intelligence to power your marketing workflows.
- [Beaconstac](https://composio.dev/toolkits/beaconstac) - Beaconstac is a platform for creating and managing QR codes and proximity beacons. It helps businesses engage customers and track marketing performance with powerful analytics.
- [Campaign cleaner](https://composio.dev/toolkits/campaign_cleaner) - Campaign cleaner is an email campaign optimization tool that boosts compatibility and deliverability across email clients. It helps marketers get better results by cleaning, enhancing, and ensuring high performance for every campaign.
- [Deadline funnel](https://composio.dev/toolkits/deadline_funnel) - Deadline Funnel lets you create personalized deadlines and timers for your marketing campaigns. It helps marketers boost conversions by adding authentic urgency to offers.
- [Google Ads](https://composio.dev/toolkits/googleads) - Google Ads is Google's online advertising platform for creating, managing, and optimizing digital campaigns. It helps businesses reach targeted customers and maximize return on ad spend.
- [Instantly](https://composio.dev/toolkits/instantly) - Instantly is a platform for automating cold email outreach, managing leads, and optimizing deliverability. Get better results from email campaigns with minimal manual effort.
- [Linkedin Ads](https://composio.dev/toolkits/linkedin_ads) - Linkedin Ads is LinkedIn's marketing platform for creating, managing, and measuring paid campaigns across LinkedIn. It helps teams reach professional audiences with precise targeting, campaign analytics, and sponsored content tools.
- [Proofly](https://composio.dev/toolkits/proofly) - Proofly is a social proof platform that displays real-time notifications of customer activity on your site. It helps you increase website conversions by building trust and urgency for visitors.
- [Reddit Ads](https://composio.dev/toolkits/reddit_ads) - Reddit Ads is Reddit's advertising platform for running paid campaigns, managing ad accounts, and tracking conversions. It helps advertisers reach high-intent communities with targeted, interest-based campaigns.
- [Segmetrics](https://composio.dev/toolkits/segmetrics) - Segmetrics is a marketing analytics platform that reveals detailed insights into your customer journeys. It helps businesses optimize marketing strategies with accurate, actionable reporting.
- [Semrush](https://composio.dev/toolkits/semrush) - Semrush is a leading SEO tool suite for keyword research, competitor analysis, and campaign tracking. It empowers marketers to improve search rankings and optimize online visibility.
- [Sendloop](https://composio.dev/toolkits/sendloop) - Sendloop is an all-in-one email marketing platform built for SaaS, e-commerce, and small businesses. It makes it easy to send campaigns, manage lists, and track results—all in one place.
- [Sidetracker](https://composio.dev/toolkits/sidetracker) - Sidetracker is a marketing analytics platform that tracks expenses, sales funnels, and customer journeys. It helps optimize marketing spend and visualize campaign performance from start to finish.
- [Snapchat](https://composio.dev/toolkits/snapchat) - Snapchat is a multimedia messaging and social platform with camera-first content, Stories, and Ads Manager. It helps brands reach mobile audiences with visual ads and measurable campaign performance.
- [Stannp](https://composio.dev/toolkits/stannp) - Stannp is an API-driven direct mail platform for sending postcards and letters programmatically. It lets you automate physical mail delivery—no manual printing or mailing required.
- [Tapfiliate](https://composio.dev/toolkits/tapfiliate) - Tapfiliate is an affiliate and referral tracking platform for businesses. It helps companies efficiently manage, track, and grow their affiliate programs.
- [Tpscheck](https://composio.dev/toolkits/tpscheck) - Tpscheck is a real-time service for verifying UK phone numbers against TPS and CTPS registers. It helps prevent unwanted marketing calls and ensures compliance with UK telemarketing laws.
- [Gmail](https://composio.dev/toolkits/gmail) - Gmail is Google's email service with powerful spam protection, search, and G Suite integration. It keeps your inbox organized and makes communication fast and reliable.

## Frequently Asked Questions

### Do I need my own developer credentials to use Keyword with Composio?

Yes, Keyword requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
