SE Ranking Keyword Research API

This collection of endpoints is designed for comprehensive keyword analysis and discovery. Use these requests to retrieve performance metrics for large lists of keywords or to generate new keyword ideas based on a seed term. This folder is divided into two main categories: ### Bulk Keyword Metrics - **Export Keywords Metrics**: Submit a list of up to 5,000 keywords to get detailed data points for each, including search volume, CPC, competition score, keyword difficulty, and historical search volume trends. This is ideal for bulk analysis and data enrichment. ### Keyword Discovery Use these endpoints to expand your keyword lists and uncover new ranking opportunities. - **Get Similar Keywords**: Find keywords that are semantically similar to your seed keyword, including synonyms and close variations. - **Get Related Keywords**: Discover keywords that are topically related, based on having a high number of overlapping URLs in their search results. - **Get Question Keywords**: Generate a list of keywords phrased as common user questions, perfect for content marketing and FAQ creation. - **Get Longtail Keywords**: Find longer, more specific keyword phrases that often have lower competition and higher conversion rates.

Operations 5

POST /v1/keywords/export Export Keywords Metrics #
GET /v1/keywords/similar Get similar keywords #
GET /v1/keywords/related Get related keywords #
GET /v1/keywords/questions Get question keywords #
GET /v1/keywords/longtail Get longtail keywords #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/se-ranking-keyword-research-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

se-ranking-keyword-research-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SE Ranking Data Account & system Keyword Research API
  description: SEO data API for keywords, domains, backlinks, AI Search, SERP, and site audit.
  version: 1.0.0
  contact:
    name: SE Ranking API Support
    url: https://seranking.com/api
servers:
- url: https://api.seranking.com
  description: Production
security:
- apikeyAuth: []
tags:
- name: Keyword Research
  description: "This collection of endpoints is designed for comprehensive keyword analysis and discovery. Use these requests to retrieve performance metrics for large lists of keywords or to generate new keyword ideas based on a seed term.\n\nThis folder is divided into two main categories:\n\n### Bulk Keyword Metrics\n\n- **Export Keywords Metrics**: Submit a list of up to 5,000 keywords to get detailed data points for each, including search volume, CPC, competition score, keyword difficulty, and historical search volume trends. This is ideal for bulk analysis and data enrichment.\n    \n\n### Keyword Discovery\n\nUse these endpoints to expand your keyword lists and uncover new ranking opportunities.\n\n- **Get Similar Keywords**: Find keywords that are semantically similar to your seed keyword, including synonyms and close variations.\n    \n- **Get Related Keywords**: Discover keywords that are topically related, based on having a high number of overlapping URLs in their search results.\n    \n- **Get Question Keywords**: Generate a list of keywords phrased as common user questions, perfect for content marketing and FAQ creation.\n    \n- **Get Longtail Keywords**: Find longer, more specific keyword phrases that often have lower competition and higher conversion rates."
paths:
  /v1/keywords/export:
    post:
      operationId: createKeywordsExport
      tags:
      - Keyword Research
      summary: Export Keywords Metrics
      description: Retrieves bulk performance metrics like search volume, CPC, and difficulty for a submitted list of up to 5,000 keywords.
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - keywords[]
              properties:
                keywords[]:
                  type: array
                  items:
                    type: string
                  description: List of keywords (max 5,000).
                  maxItems: 5000
                sort:
                  type: string
                  enum:
                  - volume
                  - cpc
                  - difficulty
                  - competition
                  - history_trend
                sort_order:
                  type: string
                  enum:
                  - asc
                  - desc
                cols:
                  type: string
                  description: Comma-separated list of columns to include.
      parameters:
      - name: apikey
        in: query
        schema:
          type: string
        example: '{{secret_key_data}}'
      - name: source
        in: query
        required: true
        schema:
          type: string
        example: us
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/keywords/similar:
    get:
      operationId: getKeywordsSimilar
      tags:
      - Keyword Research
      summary: Get similar keywords
      description: Discovers semantically similar keywords, including synonyms and close variations, for a given seed term.
      parameters:
      - name: apikey
        in: query
        schema:
          type: string
        example: '{{secret_key_data}}'
      - name: source
        in: query
        schema:
          type: string
        example: us
      - name: keyword
        in: query
        schema:
          type: string
        example: seo
      - name: limit
        in: query
        schema:
          type: integer
        example: 100
      - name: offset
        in: query
        schema:
          type: integer
        example: 0
      - name: sort
        in: query
        schema:
          type: string
        example: keyword
      - name: sort_order
        in: query
        schema:
          type: string
        example: asc
      - name: history_trend
        in: query
        schema:
          type: boolean
        example: true
      - name: filter[volume][from]
        in: query
        schema:
          type: integer
        example: 100
      - name: filter[volume][to]
        in: query
        schema:
          type: integer
        example: 100000
      - name: filter[difficulty][from]
        in: query
        schema:
          type: integer
        example: 0
      - name: filter[difficulty][to]
        in: query
        schema:
          type: integer
        example: 30
      - name: filter[cpc][from]
        in: query
        schema:
          type: integer
        example: 0
      - name: filter[cpc][to]
        in: query
        schema:
          type: integer
        example: 100
      - name: filter[competition][from]
        in: query
        schema:
          type: integer
        example: 0
      - name: filter[competition][to]
        in: query
        schema:
          type: number
        example: 0.1
      - name: filter[keyword_count][from]
        in: query
        schema:
          type: integer
        example: 3
      - name: filter[keyword_count][to]
        in: query
        schema:
          type: integer
        example: 8
      - name: filter[characters_count][from]
        in: query
        schema:
          type: integer
        example: 15
      - name: filter[characters_count][to]
        in: query
        schema:
          type: integer
        example: 50
      - name: filter[serp_features]
        in: query
        schema:
          type: string
        example: sge,images
      - name: filter[intents]
        in: query
        schema:
          type: string
        example: I,C,T,L
      - name: filter[multi_keyword_included]
        in: query
        schema:
          type: string
        example: "[\n  [\n    { \"type\": \"begins\",   \"value\": \"find\"  },\n    { \"type\": \"contains\", \"value\": \"link\"  }\n  ],\n  [\n    { \"type\": \"contains\", \"value\": \"backlink\" },\n    { \"type\": \"ends\",     \"value\": \"checker\" }\n  ],\n  [\n    { \"type\": \"exact\",    \"value\": \"serankings\" }\n  ]\n]"
      - name: filter[multi_keyword_excluded]
        in: query
        schema:
          type: string
        example: "[\n  [\n    { \"type\": \"contains\", \"value\": \"seo\"   },\n    { \"type\": \"contains\", \"value\": \"tools\" }\n  ],\n  [\n    { \"type\": \"begins\",   \"value\": \"find\"  },\n    { \"type\": \"contains\", \"value\": \"link\"  }\n  ],\n  [\n    { \"type\": \"contains\", \"value\": \"backlink\" },\n    { \"type\": \"ends\",     \"value\": \"checker\" }\n  ],\n  [\n    { \"type\": \"exact\",    \"value\": \"serankings\" }\n  ]\n]"
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/keywords/related:
    get:
      operationId: getKeywordsRelated
      tags:
      - Keyword Research
      summary: Get related keywords
      description: Finds topically related keywords that share a high number of overlapping URLs in the search results for a given seed term.
      parameters:
      - name: apikey
        in: query
        schema:
          type: string
        example: '{{secret_key_data}}'
      - name: source
        in: query
        schema:
          type: string
        example: us
      - name: keyword
        in: query
        schema:
          type: string
        example: avocado
      - name: limit
        in: query
        schema:
          type: integer
        example: 10
      - name: offset
        in: query
        schema:
          type: integer
        example: 0
      - name: sort
        in: query
        schema:
          type: string
        example: keyword
      - name: sort_order
        in: query
        schema:
          type: string
        example: asc
      - name: history_trend
        in: query
        schema:
          type: boolean
        example: true
      - name: filter[volume][from]
        in: query
        schema:
          type: integer
        example: 100
      - name: filter[volume][to]
        in: query
        schema:
          type: integer
        example: 100000
      - name: filter[difficulty][from]
        in: query
        schema:
          type: integer
        example: 0
      - name: filter[difficulty][to]
        in: query
        schema:
          type: integer
        example: 30
      - name: filter[cpc][from]
        in: query
        schema:
          type: integer
        example: 0
      - name: filter[cpc][to]
        in: query
        schema:
          type: integer
        example: 100
      - name: filter[competition][from]
        in: query
        schema:
          type: integer
        example: 0
      - name: filter[competition][to]
        in: query
        schema:
          type: number
        example: 0.1
      - name: filter[keyword_count][from]
        in: query
        schema:
          type: integer
        example: 3
      - name: filter[keyword_count][to]
        in: query
        schema:
          type: integer
        example: 8
      - name: filter[characters_count][from]
        in: query
        schema:
          type: integer
        example: 15
      - name: filter[characters_count][to]
        in: query
        schema:
          type: integer
        example: 50
      - name: filter[serp_features]
        in: query
        schema:
          type: string
        example: sge,images
      - name: filter[intents]
        in: query
        schema:
          type: string
        example: I,C,T,L
      - name: filter[multi_keyword_included]
        in: query
        schema:
          type: string
        example: "[\n  [\n    { \"type\": \"begins\",   \"value\": \"find\"  },\n    { \"type\": \"contains\", \"value\": \"link\"  }\n  ],\n  [\n    { \"type\": \"contains\", \"value\": \"backlink\" },\n    { \"type\": \"ends\",     \"value\": \"checker\" }\n  ],\n  [\n    { \"type\": \"exact\",    \"value\": \"serankings\" }\n  ]\n]"
      - name: filter[multi_keyword_excluded]
        in: query
        schema:
          type: string
        example: "[\n  [\n    { \"type\": \"contains\", \"value\": \"seo\"   },\n    { \"type\": \"contains\", \"value\": \"tools\" }\n  ],\n  [\n    { \"type\": \"begins\",   \"value\": \"find\"  },\n    { \"type\": \"contains\", \"value\": \"link\"  }\n  ],\n  [\n    { \"type\": \"contains\", \"value\": \"backlink\" },\n    { \"type\": \"ends\",     \"value\": \"checker\" }\n  ],\n  [\n    { \"type\": \"exact\",    \"value\": \"serankings\" }\n  ]\n]"
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/keywords/questions:
    get:
      operationId: getKeywordsQuestions
      tags:
      - Keyword Research
      summary: Get question keywords
      description: Generates a list of keywords phrased as common user questions that are relevant to a given seed term.
      parameters:
      - name: apikey
        in: query
        schema:
          type: string
        example: '{{secret_key_data}}'
      - name: source
        in: query
        schema:
          type: string
        example: us
      - name: keyword
        in: query
        schema:
          type: string
        example: avocado
      - name: limit
        in: query
        schema:
          type: integer
        example: 10
      - name: offset
        in: query
        schema:
          type: integer
        example: 0
      - name: sort
        in: query
        schema:
          type: string
        example: keyword
      - name: sort_order
        in: query
        schema:
          type: string
        example: asc
      - name: history_trend
        in: query
        schema:
          type: boolean
        example: true
      - name: filter[volume][from]
        in: query
        schema:
          type: integer
        example: 100
      - name: filter[volume][to]
        in: query
        schema:
          type: integer
        example: 100000
      - name: filter[difficulty][from]
        in: query
        schema:
          type: integer
        example: 0
      - name: filter[difficulty][to]
        in: query
        schema:
          type: integer
        example: 30
      - name: filter[cpc][from]
        in: query
        schema:
          type: integer
        example: 0
      - name: filter[cpc][to]
        in: query
        schema:
          type: integer
        example: 100
      - name: filter[competition][from]
        in: query
        schema:
          type: integer
        example: 0
      - name: filter[competition][to]
        in: query
        schema:
          type: number
        example: 0.1
      - name: filter[keyword_count][from]
        in: query
        schema:
          type: integer
        example: 3
      - name: filter[keyword_count][to]
        in: query
        schema:
          type: integer
        example: 8
      - name: filter[characters_count][from]
        in: query
        schema:
          type: integer
        example: 15
      - name: filter[characters_count][to]
        in: query
        schema:
          type: integer
        example: 50
      - name: filter[serp_features]
        in: query
        schema:
          type: string
        example: sge,images
      - name: filter[intents]
        in: query
        schema:
          type: string
        example: I,C,T,L
      - name: filter[multi_keyword_included]
        in: query
        schema:
          type: string
        example: "[\n  [\n    { \"type\": \"begins\",   \"value\": \"find\"  },\n    { \"type\": \"contains\", \"value\": \"link\"  }\n  ],\n  [\n    { \"type\": \"contains\", \"value\": \"backlink\" },\n    { \"type\": \"ends\",     \"value\": \"checker\" }\n  ],\n  [\n    { \"type\": \"exact\",    \"value\": \"serankings\" }\n  ]\n]"
      - name: filter[multi_keyword_excluded]
        in: query
        schema:
          type: string
        example: "[\n  [\n    { \"type\": \"contains\", \"value\": \"seo\"   },\n    { \"type\": \"contains\", \"value\": \"tools\" }\n  ],\n  [\n    { \"type\": \"begins\",   \"value\": \"find\"  },\n    { \"type\": \"contains\", \"value\": \"link\"  }\n  ],\n  [\n    { \"type\": \"contains\", \"value\": \"backlink\" },\n    { \"type\": \"ends\",     \"value\": \"checker\" }\n  ],\n  [\n    { \"type\": \"exact\",    \"value\": \"serankings\" }\n  ]\n]"
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/keywords/longtail:
    get:
      operationId: getKeywordsLongtail
      tags:
      - Keyword Research
      summary: Get longtail keywords
      description: Provides a list of longer, more specific long-tail keyword variations related to a given seed term.
      parameters:
      - name: apikey
        in: query
        schema:
          type: string
        example: '{{secret_key_data}}'
      - name: source
        in: query
        schema:
          type: string
        example: us
      - name: keyword
        in: query
        schema:
          type: string
        example: avocado
      - name: limit
        in: query
        schema:
          type: integer
        example: 10
      - name: offset
        in: query
        schema:
          type: integer
        example: 0
      - name: sort
        in: query
        schema:
          type: string
          enum:
          - keyword
          - volume
          - cpc
          - difficulty
          - competition
        example: volume
      - name: sort_order
        in: query
        schema:
          type: string
          enum:
          - asc
          - desc
        example: desc
      - name: filter[volume][from]
        in: query
        schema:
          type: integer
      - name: filter[volume][to]
        in: query
        schema:
          type: integer
      - name: filter[difficulty][from]
        in: query
        schema:
          type: integer
      - name: filter[difficulty][to]
        in: query
        schema:
          type: integer
      - name: filter[cpc][from]
        in: query
        schema:
          type: number
      - name: filter[cpc][to]
        in: query
        schema:
          type: number
      - name: filter[competition][from]
        in: query
        schema:
          type: number
      - name: filter[competition][to]
        in: query
        schema:
          type: number
      - name: filter[keyword_count][from]
        in: query
        schema:
          type: integer
      - name: filter[keyword_count][to]
        in: query
        schema:
          type: integer
      - name: filter[characters_count][from]
        in: query
        schema:
          type: integer
      - name: filter[characters_count][to]
        in: query
        schema:
          type: integer
      - name: filter[serp_features]
        in: query
        schema:
          type: string
      - name: filter[intents]
        in: query
        schema:
          type: string
      - name: filter[multi_keyword_included]
        in: query
        schema:
          type: string
      - name: filter[multi_keyword_excluded]
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
components:
  securitySchemes:
    apikeyAuth:
      type: apiKey
      in: query
      name: apikey