### Get Google Search Volume (Python) Source: https://keywordtool.io/api/documentation Python example using the requests library to send a POST request for Google search volume data. The request body is sent as JSON. ```python import requests url = "https://api.keywordtool.io/v2/search/volume/google" data = { "apikey": "[APIKEY]", "keyword": ["apple", "samsung"], "metrics_location": [2840], "metrics_language": ["en"], "metrics_network": "googlesearchnetwork", "metrics_currency": "USD", "output": "json" } response = requests.post(url, json=data) print(response.json()) ``` -------------------------------- ### Get Google Search Volume (Node.js) Source: https://keywordtool.io/api/documentation Example of fetching Google search volume using Node.js with the fetch API. This code sends a POST request with a JSON body. ```javascript async function getSearchVolume() { const response = await fetch('https://api.keywordtool.io/v2/search/volume/google', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ apikey: "[APIKEY]", keyword: ["apple", "samsung"], metrics_location: [2840], metrics_language: ["en"], metrics_network: "googlesearchnetwork", metrics_currency: "USD", output: "json" }) }); const data = await response.json(); console.log(data); } getSearchVolume(); ``` -------------------------------- ### Google Keyword Suggestions - GET Source: https://keywordtool.io/api/documentation This snippet shows how to get Google keyword suggestions using a GET request. It includes parameters for API key, keyword, and detailed metrics. ```APIDOC ## GET /v2/search/suggestions/google ### Description Retrieves keyword suggestions for Google searches with optional metrics. ### Method GET ### Endpoint https://api.keywordtool.io/v2/search/suggestions/google ### Parameters #### Query Parameters - **apikey** (string) - Required - Your API key. - **keyword** (string) - Required - The keyword to search for. - **metrics** (boolean) - Optional - Whether to include metrics. - **metrics_location** (string) - Optional - Location ID for metrics. - **metrics_language** (string) - Optional - Language code for metrics. - **metrics_network** (string) - Optional - Network for metrics (e.g., googlesearchnetwork). - **metrics_currency** (string) - Optional - Currency code for metrics (e.g., USD). - **output** (string) - Optional - Desired output format (e.g., json). ``` -------------------------------- ### Google Keyword Suggestions API - Basic GET Request Source: https://keywordtool.io/api/documentation Use this basic GET request to retrieve Google keyword suggestions. Ensure you replace '[APIKEY]' with your actual API key. Metrics are included by default. ```http https://api.keywordtool.io/v2/search/suggestions/google?apikey=[APIKEY]&keyword=apple&metrics=true&metrics_location=2840&metrics_language=en&metrics_network=googlesearchnetwork&metrics_currency=USD&output=json ``` -------------------------------- ### Cursor IDE Guest MCP Setup Source: https://keywordtool.io/api/documentation Configure Cursor IDE to connect to Keyword Tool's Guest MCP by adding the server details to your `~/.cursor/mcp.json` file for free keyword research. ```json "keywordtool": { "url": "https://mcp.keywordtool.io/guest" } ``` -------------------------------- ### Cursor IDE Pro MCP Setup Source: https://keywordtool.io/api/documentation Set up Cursor IDE to use Keyword Tool's Pro MCP by adding the server configuration to your `~/.cursor/mcp.json` file. ```json "keywordtool": { "url": "https://mcp.keywordtool.io" } ``` -------------------------------- ### Get Google Search Volume (cURL POST) Source: https://keywordtool.io/api/documentation This cURL command demonstrates how to send a POST request with JSON data to get Google search volume. It's useful for server-to-server communication. ```curl curl --request POST 'https://api.keywordtool.io/v2/search/volume/google' \ --header 'Content-Type: application/json' \ --data-raw '{ "apikey": "[APIKEY]", "keyword": ["apple", "samsung"], "metrics_location": [2840], "metrics_language": ["en"], "metrics_network": "googlesearchnetwork", "metrics_currency": "USD", "output": "json" }' ``` -------------------------------- ### Claude Desktop Guest MCP Setup Source: https://keywordtool.io/api/documentation Connect Claude Desktop to Keyword Tool's Guest MCP for limited, free access to keyword suggestions. Add a custom connector using the Guest MCP server URL. ```text Settings → Connectors → Add custom connector → Name: `Keyword Tool Guest`, Remote MCP server URL: `https://mcp.keywordtool.io/guest` ``` -------------------------------- ### Claude Desktop Pro MCP Config File Setup Source: https://keywordtool.io/api/documentation Integrate Keyword Tool's Pro MCP into Claude Desktop by modifying its configuration file. This requires Node.js 18+ and will trigger an OAuth authorization on first use. ```json "keywordtool": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.keywordtool.io"] } ``` -------------------------------- ### Analyze Competitors Endpoint Source: https://keywordtool.io/api/documentation Get keywords associated with a given URL. This is for Google only. ```APIDOC ## POST /v2/competitors/google ### Description Retrieves keywords associated with a given URL from Google search results. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/competitors/google` (production) or `https://api.keywordtool.io/v2-sandbox/competitors/google` (test) ### Parameters #### Request Body - **url** (string) - Required - The seed URL to analyze. - **apikey** (string) - Required - Your API key for authentication. ### Request Example ```json { "url": "https://www.example.com", "apikey": "YOUR_API_KEY" } ``` ### Response #### Success Response (200) - **keyword** (string) - The associated keyword. - **search_volume** (integer) - Average monthly search volume. - **cpc** (float) - Cost per click. - **competition** (string) - Google Ads competition score. - **top_of_page_bid_low** (float) - Low end of the top of page bid range. - **top_of_page_bid_high** (float) - High end of the top of page bid range. #### Response Example ```json { "keyword": "competitor keyword", "search_volume": 1500, "cpc": 0.75, "competition": "high", "top_of_page_bid_low": 0.60, "top_of_page_bid_high": 0.90 } ``` ``` -------------------------------- ### Google Keyword Suggestions API - cURL POST Request Source: https://keywordtool.io/api/documentation This cURL example demonstrates how to send a POST request to the Google Keyword Suggestions API. It includes parameters for keyword, country, language, and metrics. ```bash curl --request POST 'https://api.keywordtool.io/v2/search/suggestions/google' \ --header 'Content-Type: application/json' \ --data-raw '{ \ "apikey": "[APIKEY]", \ "keyword": "apple", \ "category": "web", \ "country": "US", \ "language": "en", \ "type": "suggestions", \ "exclude": [], \ "metrics": true, \ "metrics_location": [2840], \ "metrics_language": ["en"], \ "metrics_network": "googlesearchnetwork", \ "metrics_currency": "USD", \ "output": "json" \ }' ``` -------------------------------- ### Claude Desktop Pro MCP Setup Source: https://keywordtool.io/api/documentation Configure Claude Desktop to use Keyword Tool's Pro MCP for full access to keyword research features. This involves adding a custom connector with the Pro MCP server URL. ```text Settings → Connectors → Add custom connector → Name: `Keyword Tool`, Remote MCP server URL: `https://mcp.keywordtool.io` ``` -------------------------------- ### Claude Desktop Guest MCP Config File Setup Source: https://keywordtool.io/api/documentation Configure Claude Desktop to use Keyword Tool's Guest MCP via its config file. This requires Node.js 18+ and enables free, limited keyword research features. ```json "keywordtool-guest": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.keywordtool.io/guest"] } ``` -------------------------------- ### Search Volume Endpoint - Pinterest (Production) Source: https://keywordtool.io/api/documentation Get reliable estimated Pinterest search volume data. This endpoint is for production use. ```APIDOC ## POST /v2/search/volume/pinterest ### Description Retrieves reliable estimated Pinterest search volume for a list of keywords. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/pinterest` ### Parameters #### Request Body - **keywords** (array of strings) - Required - A list of keywords to get search volume for (1 to 1,000). - **apikey** (string) - Required - Your API key for authentication. - **country** (string) - Optional - The country to localize the search to. - **language** (string) - Optional - The language to localize the search to. ### Request Example ```json { "keywords": ["keyword1", "keyword2"], "apikey": "YOUR_API_KEY", "country": "US", "language": "en" } ``` ### Response #### Success Response (200) - **keyword** (string) - The keyword. - **search_volume** (integer) - Reliable estimated average monthly search volume (12 months). #### Response Example ```json { "keyword": "example keyword", "search_volume": 500 } ``` ``` -------------------------------- ### Google Keyword Suggestions API - Python POST Request Source: https://keywordtool.io/api/documentation This Python example uses the 'requests' library to make a POST request to the Google Keyword Suggestions API. It sends the parameters as a JSON payload. ```python import requests url = "https://api.keywordtool.io/v2/search/suggestions/google" data = { "apikey": "[APIKEY]", "keyword": "apple", "category": "web", "country": "US", "language": "en", "type": "suggestions", "exclude": [], "metrics": True, "metrics_location": [2840], "metrics_language": ["en"], "metrics_network": "googlesearchnetwork", "metrics_currency": "USD", "output": "json" } response = requests.post(url, json=data) print(response.json()) ``` -------------------------------- ### Search Volume Endpoint - Google (Production) Source: https://keywordtool.io/api/documentation Get 100% accurate Google search volume data. This endpoint is for production use. ```APIDOC ## POST /v2/search/volume/google ### Description Retrieves 100% accurate Google search volume for a list of keywords. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/google` ### Parameters #### Request Body - **keywords** (array of strings) - Required - A list of keywords to get search volume for (1 to 1,000). - **apikey** (string) - Required - Your API key for authentication. - **country** (string) - Optional - The country to localize the search to. - **language** (string) - Optional - The language to localize the search to. ### Request Example ```json { "keywords": ["keyword1", "keyword2"], "apikey": "YOUR_API_KEY", "country": "US", "language": "en" } ``` ### Response #### Success Response (200) - **keyword** (string) - The keyword. - **search_volume** (integer) - Average monthly search volume. - **monthly_breakdown** (array of integers) - Monthly search volume breakdown. - **competition** (string) - Competition score (e.g., 'low', 'medium', 'high'). - **cpc** (float) - Cost per click. #### Response Example ```json { "keyword": "example keyword", "search_volume": 1000, "monthly_breakdown": [900, 1100, 1050, 950, 1000, 1200, 1150, 1000, 900, 1000, 1100, 1050], "competition": "medium", "cpc": 0.55 } ``` ``` -------------------------------- ### Google Keyword Suggestions - POST Source: https://keywordtool.io/api/documentation This snippet demonstrates how to get Google keyword suggestions using a POST request. It allows for a more comprehensive set of parameters in the request body. ```APIDOC ## POST /v2/search/suggestions/google ### Description Retrieves keyword suggestions for Google searches using a POST request, allowing for detailed parameter configuration. ### Method POST ### Endpoint https://api.keywordtool.io/v2/search/suggestions/google ### Parameters #### Request Body - **apikey** (string) - Required - Your API key. - **keyword** (string) - Required - The keyword to search for. - **category** (string) - Optional - The category for suggestions (e.g., web). - **country** (string) - Optional - The country code (e.g., US). - **language** (string) - Optional - The language code (e.g., en). - **type** (string) - Optional - The type of suggestions (e.g., suggestions). - **exclude** (array) - Optional - Keywords to exclude. - **metrics** (boolean) - Optional - Whether to include metrics. - **metrics_location** (array) - Optional - Location IDs for metrics. - **metrics_language** (array) - Optional - Language codes for metrics. - **metrics_network** (string) - Optional - Network for metrics (e.g., googlesearchnetwork). - **metrics_currency** (string) - Optional - Currency code for metrics (e.g., USD). - **output** (string) - Optional - Desired output format (e.g., json). ### Request Example ```json { "apikey": "[APIKEY]", "keyword": "apple", "category": "web", "country": "US", "language": "en", "type": "suggestions", "exclude": [], "metrics": true, "metrics_location": [2840], "metrics_language": ["en"], "metrics_network": "googlesearchnetwork", "metrics_currency": "USD", "output": "json" } ``` ### Response #### Success Response (200) - **field1** (type) - Description ``` -------------------------------- ### Search Volume Endpoint - Etsy (Production) Source: https://keywordtool.io/api/documentation Get reliable estimated Etsy search volume data. This endpoint is for production use. ```APIDOC ## POST /v2/search/volume/etsy ### Description Retrieves reliable estimated Etsy search volume for a list of keywords. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/etsy` ### Parameters #### Request Body - **keywords** (array of strings) - Required - A list of keywords to get search volume for (1 to 1,000). - **apikey** (string) - Required - Your API key for authentication. - **country** (string) - Optional - The country to localize the search to. - **language** (string) - Optional - The language to localize the search to. ### Request Example ```json { "keywords": ["keyword1", "keyword2"], "apikey": "YOUR_API_KEY", "country": "US", "language": "en" } ``` ### Response #### Success Response (200) - **keyword** (string) - The keyword. - **search_volume** (integer) - Reliable estimated average monthly search volume (12 months). #### Response Example ```json { "keyword": "example keyword", "search_volume": 500 } ``` ``` -------------------------------- ### Search Volume Endpoint - Naver (Production) Source: https://keywordtool.io/api/documentation Get reliable estimated Naver search volume data. This endpoint is for production use. ```APIDOC ## POST /v2/search/volume/naver ### Description Retrieves reliable estimated Naver search volume for a list of keywords. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/naver` ### Parameters #### Request Body - **keywords** (array of strings) - Required - A list of keywords to get search volume for (1 to 1,000). - **apikey** (string) - Required - Your API key for authentication. - **country** (string) - Optional - The country to localize the search to. - **language** (string) - Optional - The language to localize the search to. ### Request Example ```json { "keywords": ["keyword1", "keyword2"], "apikey": "YOUR_API_KEY", "country": "US", "language": "en" } ``` ### Response #### Success Response (200) - **keyword** (string) - The keyword. - **search_volume** (integer) - Reliable estimated average monthly search volume (12 months). #### Response Example ```json { "keyword": "example keyword", "search_volume": 500 } ``` ``` -------------------------------- ### Search Volume Endpoint - YouTube (Production) Source: https://keywordtool.io/api/documentation Get reliable estimated YouTube search volume data. This endpoint is for production use. ```APIDOC ## POST /v2/search/volume/youtube ### Description Retrieves reliable estimated YouTube search volume for a list of keywords. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/youtube` ### Parameters #### Request Body - **keywords** (array of strings) - Required - A list of keywords to get search volume for (1 to 1,000). - **apikey** (string) - Required - Your API key for authentication. - **country** (string) - Optional - The country to localize the search to. - **language** (string) - Optional - The language to localize the search to. ### Request Example ```json { "keywords": ["keyword1", "keyword2"], "apikey": "YOUR_API_KEY", "country": "US", "language": "en" } ``` ### Response #### Success Response (200) - **keyword** (string) - The keyword. - **search_volume** (integer) - Reliable estimated average monthly search volume (12 months). #### Response Example ```json { "keyword": "example keyword", "search_volume": 500 } ``` ``` -------------------------------- ### Google Keyword Suggestions API - Node.js POST Request Source: https://keywordtool.io/api/documentation This Node.js example shows how to make a POST request to the Google Keyword Suggestions API using the fetch API. It sends JSON data including API key, keyword, and various metrics parameters. ```javascript async function getKeywordSuggestions() { const response = await fetch('https://api.keywordtool.io/v2/search/suggestions/google', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ apikey: "[APIKEY]", keyword: "apple", category: "web", country: "US", language: "en", type: "suggestions", exclude: [], metrics: true, metrics_location: [2840], metrics_language: ["en"], metrics_network: "googlesearchnetwork", metrics_currency: "USD", output: "json" }) }); const data = await response.json(); console.log(data); } getKeywordSuggestions(); ``` -------------------------------- ### Example Response with Incomplete Results (JSON) Source: https://keywordtool.io/api/documentation This JSON structure illustrates an API response where some search results are incomplete. Notice the 'notice' object with code 10, indicating incomplete data, and 'null' values for fields like 'volume' for failed keywords. ```json { "notice": { "message": "Search results could be incomplete, please try again later. This request was not counted against your quota.", "code": 10 }, "results": { "chair": { "string": "chair", "volume": null, "m1": null, "m1_month": null, "m1_year": null, "cpc": null, "cmp": null }, "table": { "string": "table", "volume": 9140000, "m1": 7480000, "m1_month": 7, "m1_year": 2023, "cpc": 0.38, "cmp": 0.99 } }, "total_keywords": 2 } ``` -------------------------------- ### Search Volume Endpoint - TikTok (Production) Source: https://keywordtool.io/api/documentation Get reliable estimated TikTok search volume data. This endpoint is for production use. ```APIDOC ## POST /v2/search/volume/tiktok ### Description Retrieves reliable estimated TikTok search volume for a list of keywords. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/tiktok` ### Parameters #### Request Body - **keywords** (array of strings) - Required - A list of keywords to get search volume for (1 to 1,000). - **apikey** (string) - Required - Your API key for authentication. - **country** (string) - Optional - The country to localize the search to. - **language** (string) - Optional - The language to localize the search to. ### Request Example ```json { "keywords": ["keyword1", "keyword2"], "apikey": "YOUR_API_KEY", "country": "US", "language": "en" } ``` ### Response #### Success Response (200) - **keyword** (string) - The keyword. - **search_volume** (integer) - Reliable estimated average monthly search volume (12 months). #### Response Example ```json { "keyword": "example keyword", "search_volume": 500 } ``` ``` -------------------------------- ### Sample XML Response for Search Volume Source: https://keywordtool.io/api/documentation This is an example of an XML response you might receive from the Keyword Tool API when requesting search volume data. It mirrors the JSON structure with volume, monthly data, trend, CPC, and competition metrics. ```xml 1 ``` -------------------------------- ### Get Google Search Volume (Ruby) Source: https://keywordtool.io/api/documentation This Ruby script demonstrates making a POST request to the API using Net::HTTP to retrieve Google search volume. It sends parameters as a JSON string. ```ruby require 'net/http' require 'json' uri = URI('https://api.keywordtool.io/v2/search/volume/google') http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true req = Net::HTTP::Post.new(uri) req['Content-Type'] = 'application/json' req.body = { apikey: "[APIKEY]", keyword: ["apple", "samsung"], metrics_location: [2840], metrics_language: ["en"], metrics_network: "googlesearchnetwork", metrics_currency: "USD", output: "json" }.to_json res = http.request(req) puts res.body ``` -------------------------------- ### Search Volume Endpoint - App Store (Production) Source: https://keywordtool.io/api/documentation Get reliable estimated App Store search volume data. This endpoint is for production use. ```APIDOC ## POST /v2/search/volume/app-store ### Description Retrieves reliable estimated App Store search volume for a list of keywords. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/app-store` ### Parameters #### Request Body - **keywords** (array of strings) - Required - A list of keywords to get search volume for (1 to 1,000). - **apikey** (string) - Required - Your API key for authentication. - **country** (string) - Optional - The country to localize the search to. - **language** (string) - Optional - The language to localize the search to. ### Request Example ```json { "keywords": ["keyword1", "keyword2"], "apikey": "YOUR_API_KEY", "country": "US", "language": "en" } ``` ### Response #### Success Response (200) - **keyword** (string) - The keyword. - **search_volume** (integer) - Reliable estimated average monthly search volume (12 months). #### Response Example ```json { "keyword": "example keyword", "search_volume": 500 } ``` ``` -------------------------------- ### Search Volume Endpoint - Play Store (Production) Source: https://keywordtool.io/api/documentation Get reliable estimated Play Store search volume data. This endpoint is for production use. ```APIDOC ## POST /v2/search/volume/play-store ### Description Retrieves reliable estimated Play Store search volume for a list of keywords. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/play-store` ### Parameters #### Request Body - **keywords** (array of strings) - Required - A list of keywords to get search volume for (1 to 1,000). - **apikey** (string) - Required - Your API key for authentication. - **country** (string) - Optional - The country to localize the search to. - **language** (string) - Optional - The language to localize the search to. ### Request Example ```json { "keywords": ["keyword1", "keyword2"], "apikey": "YOUR_API_KEY", "country": "US", "language": "en" } ``` ### Response #### Success Response (200) - **keyword** (string) - The keyword. - **search_volume** (integer) - Reliable estimated average monthly search volume (12 months). #### Response Example ```json { "keyword": "example keyword", "search_volume": 500 } ``` ``` -------------------------------- ### Search Volume Endpoint - eBay (Production) Source: https://keywordtool.io/api/documentation Get reliable estimated eBay search volume data. This endpoint is for production use. ```APIDOC ## POST /v2/search/volume/ebay ### Description Retrieves reliable estimated eBay search volume for a list of keywords. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/ebay` ### Parameters #### Request Body - **keywords** (array of strings) - Required - A list of keywords to get search volume for (1 to 1,000). - **apikey** (string) - Required - Your API key for authentication. - **country** (string) - Optional - The country to localize the search to. - **language** (string) - Optional - The language to localize the search to. ### Request Example ```json { "keywords": ["keyword1", "keyword2"], "apikey": "YOUR_API_KEY", "country": "US", "language": "en" } ``` ### Response #### Success Response (200) - **keyword** (string) - The keyword. - **search_volume** (integer) - Reliable estimated average monthly search volume (12 months). #### Response Example ```json { "keyword": "example keyword", "search_volume": 500 } ``` ``` -------------------------------- ### Sample JSON Response for Search Volume Source: https://keywordtool.io/api/documentation This is an example of a JSON response you might receive from the Keyword Tool API when requesting search volume data. It includes average monthly volume, monthly breakdowns, trend, CPC, and competition metrics. ```json { "results": { "table": { "string": "table", "volume": 2740000, "m1": 2740000, "m1_month": 12, "m1_year": 2025, "m2": 2740000, "m2_month": 11, "m2_year": 2025, "trend": -0.33, "cpc": 0.3, "top_of_page_bid_low": 0.02, "top_of_page_bid_high": 0.46, "cmp": 0.85 } }, "total_keywords": 1 } ``` -------------------------------- ### Search Volume Endpoint - Perplexity (Production) Source: https://keywordtool.io/api/documentation Get reliable estimated Perplexity search volume data. This endpoint is for production use. ```APIDOC ## POST /v2/search/volume/perplexity ### Description Retrieves reliable estimated Perplexity search volume for a list of keywords. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/perplexity` ### Parameters #### Request Body - **keywords** (array of strings) - Required - A list of keywords to get search volume for (1 to 1,000). - **apikey** (string) - Required - Your API key for authentication. - **country** (string) - Optional - The country to localize the search to. - **language** (string) - Optional - The language to localize the search to. ### Request Example ```json { "keywords": ["keyword1", "keyword2"], "apikey": "YOUR_API_KEY", "country": "US", "language": "en" } ``` ### Response #### Success Response (200) - **keyword** (string) - The keyword. - **search_volume** (integer) - Reliable estimated average monthly search volume (12 months). #### Response Example ```json { "keyword": "example keyword", "search_volume": 500 } ``` ``` -------------------------------- ### Get Google Search Volume (PHP) Source: https://keywordtool.io/api/documentation This PHP script shows how to make a POST request to retrieve Google search volume using cURL. It encodes parameters as JSON. ```php '[APIKEY]', 'keyword' => ['apple', 'samsung'], 'metrics_location' => [2840], 'metrics_language' => ['en'], 'metrics_network' => 'googlesearchnetwork', 'metrics_currency' => 'USD', 'output' => 'json', ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://api.keywordtool.io/v2/search/volume/google'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($ch); $response = json_decode($output, true); var_dump($response); ?> ``` -------------------------------- ### Search Volume Endpoint - X (Twitter) (Production) Source: https://keywordtool.io/api/documentation Get reliable estimated X (Twitter) search volume data. This endpoint is for production use. ```APIDOC ## POST /v2/search/volume/twitter ### Description Retrieves reliable estimated X (Twitter) search volume for a list of keywords. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/twitter` ### Parameters #### Request Body - **keywords** (array of strings) - Required - A list of keywords to get search volume for (1 to 1,000). - **apikey** (string) - Required - Your API key for authentication. - **country** (string) - Optional - The country to localize the search to. - **language** (string) - Optional - The language to localize the search to. ### Request Example ```json { "keywords": ["keyword1", "keyword2"], "apikey": "YOUR_API_KEY", "country": "US", "language": "en" } ``` ### Response #### Success Response (200) - **keyword** (string) - The keyword. - **search_volume** (integer) - Reliable estimated average monthly search volume (12 months). #### Response Example ```json { "keyword": "example keyword", "search_volume": 500 } ``` ``` -------------------------------- ### Get Search Volume (Google) using cURL Source: https://keywordtool.io/api/documentation Use this cURL command to make a POST request to the Keyword Tool API to retrieve search volume data for keywords on Google. Ensure you replace the placeholder API key with your actual key. ```shell curl --request POST 'https://api.keywordtool.io/v2/search/volume/google' \ --header 'Content-Type: application/json' \ --data-raw '{ "apikey": "", "keyword": [ "apple", "samsung" ], "metrics_network": "googlesearchnetwork", "metrics_currency": "USD", "output": "json" }' ``` -------------------------------- ### Get Google Search Volume (GET URL) Source: https://keywordtool.io/api/documentation Use this URL format for a simple GET request to retrieve Google search volume. Ensure your API key and keywords are correctly formatted. ```url https://api.keywordtool.io/v2/search/volume/google?apikey=[APIKEY]&keyword=["apple","samsung"]&metrics_location=2840&metrics_language=en&metrics_network=googlesearchnetwork&metrics_currency=USD&output=json ``` -------------------------------- ### Get Google Search Volume Source: https://keywordtool.io/api/documentation Retrieves Google search volume data for a list of keywords. Supports both GET and POST requests. ```APIDOC ## GET /v2/search/volume/google ### Description Retrieves Google search volume data for a list of keywords. ### Method GET ### Endpoint `https://api.keywordtool.io/v2/search/volume/google` ### Parameters #### Query Parameters - **apikey** (string) - Required - Your API key. - **keyword** (array of strings) - Required - The keywords to search for. - **metrics_location** (integer) - Optional - The location ID for metrics. - **metrics_language** (string) - Optional - The language for metrics. - **metrics_network** (string) - Optional - The network for metrics (e.g., `googlesearchnetwork`). - **metrics_currency** (string) - Optional - The currency for metrics (e.g., `USD`). - **output** (string) - Optional - The output format (e.g., `json`). ### Request Example ``` https://api.keywordtool.io/v2/search/volume/google?apikey=[APIKEY]&keyword=["apple","samsung"]&metrics_location=2840&metrics_language=en&metrics_network=googlesearchnetwork&metrics_currency=USD&output=json ``` ## POST /v2/search/volume/google ### Description Retrieves Google search volume data for a list of keywords using a POST request. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/google` ### Parameters #### Request Body - **apikey** (string) - Required - Your API key. - **keyword** (array of strings) - Required - The keywords to search for. - **metrics_location** (array of integers) - Optional - The location IDs for metrics. - **metrics_language** (array of strings) - Optional - The languages for metrics. - **metrics_network** (string) - Optional - The network for metrics (e.g., `googlesearchnetwork`). - **metrics_currency** (string) - Optional - The currency for metrics (e.g., `USD`). - **output** (string) - Optional - The output format (e.g., `json`). ### Request Example ```json { "apikey": "[APIKEY]", "keyword": ["apple", "samsung"], "metrics_location": [2840], "metrics_language": ["en"], "metrics_network": "googlesearchnetwork", "metrics_currency": "USD", "output": "json" } ``` ### Response #### Success Response (200) - **data** (object) - Contains the search volume metrics for each keyword. #### Response Example ```json { "keywords": [ { "keyword": "apple", "search_volume": 1000000, "competition": "high", "cpc": 0.50 }, { "keyword": "samsung", "search_volume": 800000, "competition": "medium", "cpc": 0.40 } ] } ``` ``` -------------------------------- ### Search Volume Endpoint - Amazon (Production) Source: https://keywordtool.io/api/documentation Get reliable estimated Amazon search volume data. This endpoint is for production use. ```APIDOC ## POST /v2/search/volume/amazon ### Description Retrieves reliable estimated Amazon search volume for a list of keywords. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/amazon` ### Parameters #### Request Body - **keywords** (array of strings) - Required - A list of keywords to get search volume for (1 to 1,000). - **apikey** (string) - Required - Your API key for authentication. - **country** (string) - Optional - The country to localize the search to. - **language** (string) - Optional - The language to localize the search to. ### Request Example ```json { "keywords": ["keyword1", "keyword2"], "apikey": "YOUR_API_KEY", "country": "US", "language": "en" } ``` ### Response #### Success Response (200) - **keyword** (string) - The keyword. - **search_volume** (integer) - Reliable estimated average monthly search volume (12 months). #### Response Example ```json { "keyword": "example keyword", "search_volume": 500 } ``` ``` -------------------------------- ### Search Volume Endpoint - Instagram (Production) Source: https://keywordtool.io/api/documentation Get reliable estimated Instagram search volume data. This endpoint is for production use. ```APIDOC ## POST /v2/search/volume/instagram ### Description Retrieves reliable estimated Instagram search volume for a list of keywords. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/instagram` ### Parameters #### Request Body - **keywords** (array of strings) - Required - A list of keywords to get search volume for (1 to 1,000). - **apikey** (string) - Required - Your API key for authentication. - **country** (string) - Optional - The country to localize the search to. - **language** (string) - Optional - The language to localize the search to. ### Request Example ```json { "keywords": ["keyword1", "keyword2"], "apikey": "YOUR_API_KEY", "country": "US", "language": "en" } ``` ### Response #### Success Response (200) - **keyword** (string) - The keyword. - **search_volume** (integer) - Reliable estimated average monthly search volume (12 months). #### Response Example ```json { "keyword": "example keyword", "search_volume": 500 } ``` ``` -------------------------------- ### Search Volume Endpoint - Bing (Production) Source: https://keywordtool.io/api/documentation Get 100% accurate Bing search volume data. This endpoint is for production use. ```APIDOC ## POST /v2/search/volume/bing ### Description Retrieves 100% accurate Bing search volume for a list of keywords. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/volume/bing` ### Parameters #### Request Body - **keywords** (array of strings) - Required - A list of keywords to get search volume for (1 to 1,000). - **apikey** (string) - Required - Your API key for authentication. - **country** (string) - Optional - The country to localize the search to. - **language** (string) - Optional - The language to localize the search to. ### Request Example ```json { "keywords": ["keyword1", "keyword2"], "apikey": "YOUR_API_KEY", "country": "US", "language": "en" } ``` ### Response #### Success Response (200) - **keyword** (string) - The keyword. - **search_volume** (integer) - Average monthly search volume. - **monthly_breakdown** (array of integers) - Monthly search volume breakdown. - **competition** (string) - Competition score (e.g., 'low', 'medium', 'high'). - **cpc** (float) - Cost per click. #### Response Example ```json { "keyword": "example keyword", "search_volume": 1000, "monthly_breakdown": [900, 1100, 1050, 950, 1000, 1200, 1150, 1000, 900, 1000, 1100, 1050], "competition": "medium", "cpc": 0.55 } ``` ``` -------------------------------- ### Keyword Suggestions Source: https://keywordtool.io/api/documentation Generate keyword suggestions for a given seed keyword across different search engines. Production endpoints are available at `https://api.keywordtool.io/v2/search/suggestions/` _{provider}_ and test endpoints at `https://api.keywordtool.io/v2-sandbox/search/suggestions/`. ```APIDOC ## Keyword Suggestions ### Description Generates keyword suggestions for a given seed keyword across different search engines. ### Method POST ### Endpoint `https://api.keywordtool.io/v2/search/suggestions/` _{provider}_ ### Parameters #### Query Parameters - **apikey** (string) - Required - API key. - **keyword** (string) - Required - Seed keyword. One keyword only. - **exclude** (array of strings) - Optional - Negative keywords to exclude from results (max 2,000). - **category** (string) - Optional - Search vertical/category. Default: `web`. - **country** (string) - Optional - Country for suggestions. One value. Default: `US`. - **language** (string) - Optional - Language for suggestions. One value. Default: `en`. - **metrics** (boolean) - Optional - Include search volume, cost per click, and competition (CMP) when true. Default: `false`. - **metrics_location** (array) - Optional - One location ID for metrics. - **metrics_language** (array) - Optional - One language code for metrics. - **metrics_network** (string) - Optional - Network for metrics. Options: `googlesearchnetwork` (default) or `googlesearch`. - **metrics_currency** (string) - Optional - Currency for cost per click. Default: `USD`. - **type** (string) - Optional - Type of suggestions. Options: `suggestions` (default), `questions`, `prepositions`, or `related`. - **complete** (boolean) - Optional - Full result set; may increase errors. Default: `false`. - **output** (string) - Optional - Output format. Options: `json` (default) or `xml`. ```