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.

OpenAPI Specification

se-ranking-keyword-research-api-openapi.yml Raw ↑
openapi: 3.0.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