Matomo Search Engine Keywords Performance API

Provides SearchEngineKeywordsPerformance API endpoints for imported keyword and crawl-performance reports. Exposes combined and provider-specific reports for Google, Bing, and Yandex search data. \Plugins\SearchEngineKeywordsPerformance

Business capability
Digital Marketing Management BC-400.60

Operations 12

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywords Get search keyword performance from all sources · Search engine keywords performance get keywords #
Ask an LLM
“Which search keywords brought visitors to my site, combining every source?”
“Can I see imported search engine keywords alongside the referrer keywords Matomo tracked itself?”
Tell an agent
Show combined search keyword performance for site {idSite}, {period} {date}.
List all keywords from every search source for site {idSite} in {date} ({period}).
GET /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsImported Get keywords imported from search engines · Search engine keywords performance get keywords imported #
Ask an LLM
“What keyword data has been imported from the connected search engine consoles?”
“Can I see only imported keywords, without Matomo's own referrer keywords?”
Tell an agent
Show imported search engine keywords for site {idSite}, {period} {date}.
List only the keywords imported from search consoles for site {idSite} in {date} ({period}).
GET /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsGoogle Get keyword performance from Google · Search engine keywords performance get keywords google #
Ask an LLM
“What Google search queries is my site getting clicks and impressions for?”
“Can I see all Google keyword data across web, image, video and news combined?”
Tell an agent
Show Google keyword performance across all search types for site {idSite}, {period} {date}.
List all imported Google search keywords for site {idSite} in {date} ({period}).
GET /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsBing Get keyword performance from Bing and Yahoo · Search engine keywords performance get keywords bing #
Ask an LLM
“Which Bing and Yahoo searches send traffic to my site?”
“What keywords were imported from Bing for a given month?”
Tell an agent
Show Bing and Yahoo keyword performance for site {idSite}, {period} {date}.
List imported Bing search keywords for site {idSite} in {date} ({period}).
GET /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsYandex Get keyword performance from Yandex · Search engine keywords performance get keywords yandex #
Ask an LLM
“Which Yandex searches send traffic to my site?”
“What keywords were imported from Yandex for a period?”
Tell an agent
Show Yandex keyword performance for site {idSite}, {period} {date}.
List imported Yandex search keywords for site {idSite} in {date} ({period}).
GET /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsGoogleWeb Get Google web search keyword performance · Search engine keywords performance get keywords google web #
Ask an LLM
“What regular Google web search queries is my site ranking for?”
“Can I see Google keywords for web results only, excluding images and news?”
Tell an agent
Show Google web search keywords for site {idSite}, {period} {date}.
List keywords from Google's standard web results for site {idSite} in {date} ({period}).
GET /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsGoogleImage Get Google image search keyword performance · Search engine keywords performance get keywords google image #
Ask an LLM
“Which Google Images searches lead people to my pictures?”
“What keywords drive traffic from Google image search?”
Tell an agent
Show Google image search keywords for site {idSite}, {period} {date}.
List keywords from Google Images results for site {idSite} in {date} ({period}).
GET /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsGoogleVideo Get Google video search keyword performance · Search engine keywords performance get keywords google video #
Ask an LLM
“Which Google video search queries surface my content?”
“What keywords drive traffic from Google's video results?”
Tell an agent
Show Google video search keywords for site {idSite}, {period} {date}.
List keywords from Google video results for site {idSite} in {date} ({period}).
GET /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsGoogleNews Get Google News search keyword performance · Search engine keywords performance get keywords google news #
Ask an LLM
“Which Google News searches bring readers to my articles?”
“What keywords drive traffic from Google news results?”
Tell an agent
Show Google News search keywords for site {idSite}, {period} {date}.
List keywords from Google news results for site {idSite} in {date} ({period}).
GET /index.php?module=API&method=SearchEngineKeywordsPerformance.getCrawlingOverviewBing Get Bing crawl overview metrics · Search engine keywords performance get crawling overview bing #
Ask an LLM
“How often is Bing crawling my site and how many pages are indexed?”
“What do Bing's crawl stats look like for a given period?”
Tell an agent
Show the Bing crawl overview for site {idSite}, {period} {date}.
Get Bing crawling metrics for site {idSite} in {date} ({period}).
GET /index.php?module=API&method=SearchEngineKeywordsPerformance.getCrawlingOverviewYandex Get Yandex crawl overview metrics · Search engine keywords performance get crawling overview yandex #
Ask an LLM
“How often is Yandex crawling my site?”
“What do Yandex's crawl stats look like for a given period?”
Tell an agent
Show the Yandex crawl overview for site {idSite}, {period} {date}.
Get Yandex crawling metrics for site {idSite} in {date} ({period}).
GET /index.php?module=API&method=SearchEngineKeywordsPerformance.getCrawlingErrorExamplesBing List recent Bing crawl error examples · Search engine keywords performance get crawling error examples bing #
Ask an LLM
“Which of my pages did Bing fail to crawl recently?”
“Can I see example URLs with Bing crawl errors?”
Tell an agent
List the latest Bing crawl error examples for site {idSite}.
Show sample URLs Bing could not crawl on site {idSite}.

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/matomo:matomo-searchenginekeywordsperformance-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

matomo-searchenginekeywordsperformance-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Matomo Reporting API for plugin Search Engine Keywords…
  version: 1.0.0
  description: Provides SearchEngineKeywordsPerformance API endpoints for imported keyword and crawl-performance reports. Exposes combined and provider-specific reports for Google, Bing, and Yandex search data. \Plugins\SearchEngineKeywordsPerformance
servers:
- url: https://demo-proxy.innocraft.cloud/
  description: Current Matomo instance
security:
- MatomoToken: []
tags:
- name: SearchEngineKeywordsPerformance
  description: Provides SearchEngineKeywordsPerformance API endpoints for imported keyword and crawl-performance reports. Exposes combined and provider-specific reports for Google, Bing, and Yandex search data. \Plugins\SearchEngineKeywordsPerformance
paths:
  /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywords:
    get:
      tags:
      - SearchEngineKeywordsPerformance
      description: Returns keyword performance data across imported search engines and Matomo referrer keywords.
      operationId: SearchEngineKeywordsPerformance.getKeywords
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Website ID(s) to query. - Single site ID (e.g. 1) - Multiple site IDs (e.g. [1, 4, 5]) - Comma-separated list ("1,4,5") or "all"
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
          - type: array
            items:
              type: integer
            example: 1
      - name: period
        in: query
        description: The period to process, processes data for the period containing the specified date.
        required: true
        schema:
          type: string
          enum:
          - day
          - week
          - month
          - year
          - range
          example: day
      - name: date
        in: query
        description: The date or date range to process. 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX).
        required: true
        schema:
          type: string
          example: yesterday
      responses:
        '200':
          description: 'Combined keyword report including imported search data and referrer keywords.


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Search engine keywords performance get keywords
      x-summary-source: derived
  /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsImported:
    get:
      tags:
      - SearchEngineKeywordsPerformance
      description: Returns keyword performance data imported from supported search engines.
      operationId: SearchEngineKeywordsPerformance.getKeywordsImported
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Website ID(s) to query. - Single site ID (e.g. 1) - Multiple site IDs (e.g. [1, 4, 5]) - Comma-separated list ("1,4,5") or "all"
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
          - type: array
            items:
              type: integer
            example: 1
      - name: period
        in: query
        description: The period to process, processes data for the period containing the specified date.
        required: true
        schema:
          type: string
          enum:
          - day
          - week
          - month
          - year
          - range
          example: day
      - name: date
        in: query
        description: The date or date range to process. 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX).
        required: true
        schema:
          type: string
          example: yesterday
      responses:
        '200':
          description: 'Combined imported keyword report across all configured providers.


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Search engine keywords performance get keywords imported
      x-summary-source: derived
  /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsGoogle:
    get:
      tags:
      - SearchEngineKeywordsPerformance
      description: Returns keyword performance data imported from Google search properties.
      operationId: SearchEngineKeywordsPerformance.getKeywordsGoogle
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Website ID(s) to query. - Single site ID (e.g. 1) - Multiple site IDs (e.g. [1, 4, 5]) - Comma-separated list ("1,4,5") or "all"
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
          - type: array
            items:
              type: integer
            example: 1
      - name: period
        in: query
        description: The period to process, processes data for the period containing the specified date.
        required: true
        schema:
          type: string
          enum:
          - day
          - week
          - month
          - year
          - range
          example: day
      - name: date
        in: query
        description: The date or date range to process. 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX).
        required: true
        schema:
          type: string
          example: yesterday
      responses:
        '200':
          description: 'Combined Google keyword report across web, image, video, and news search.


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Search engine keywords performance get keywords google
      x-summary-source: derived
  /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsBing:
    get:
      tags:
      - SearchEngineKeywordsPerformance
      description: Returns keyword performance data imported from Bing and Yahoo search.
      operationId: SearchEngineKeywordsPerformance.getKeywordsBing
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Website ID(s) to query. - Single site ID (e.g. 1) - Multiple site IDs (e.g. [1, 4, 5]) - Comma-separated list ("1,4,5") or "all"
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
          - type: array
            items:
              type: integer
            example: 1
      - name: period
        in: query
        description: The period to process, processes data for the period containing the specified date.
        required: true
        schema:
          type: string
          enum:
          - day
          - week
          - month
          - year
          - range
          example: day
      - name: date
        in: query
        description: The date or date range to process. 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX).
        required: true
        schema:
          type: string
          example: yesterday
      responses:
        '200':
          description: 'Bing keyword report for the requested period or an empty table when unsupported.


            Example responses require Super User access. Use Try it out to see a live response.'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Search engine keywords performance get keywords bing
      x-summary-source: derived
  /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsYandex:
    get:
      tags:
      - SearchEngineKeywordsPerformance
      description: Returns keyword performance data imported from Yandex search.
      operationId: SearchEngineKeywordsPerformance.getKeywordsYandex
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Website ID(s) to query. - Single site ID (e.g. 1) - Multiple site IDs (e.g. [1, 4, 5]) - Comma-separated list ("1,4,5") or "all"
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
          - type: array
            items:
              type: integer
            example: 1
      - name: period
        in: query
        description: The period to process, processes data for the period containing the specified date.
        required: true
        schema:
          type: string
          enum:
          - day
          - week
          - month
          - year
          - range
          example: day
      - name: date
        in: query
        description: The date or date range to process. 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX).
        required: true
        schema:
          type: string
          example: yesterday
      responses:
        '200':
          description: 'Yandex keyword report for the requested period.


            Example responses require Super User access. Use Try it out to see a live response.'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Search engine keywords performance get keywords yandex
      x-summary-source: derived
  /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsGoogleWeb:
    get:
      tags:
      - SearchEngineKeywordsPerformance
      description: Returns keyword performance data imported from Google web search.
      operationId: SearchEngineKeywordsPerformance.getKeywordsGoogleWeb
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Website ID(s) to query. - Single site ID (e.g. 1) - Multiple site IDs (e.g. [1, 4, 5]) - Comma-separated list ("1,4,5") or "all"
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
          - type: array
            items:
              type: integer
            example: 1
      - name: period
        in: query
        description: The period to process, processes data for the period containing the specified date.
        required: true
        schema:
          type: string
          enum:
          - day
          - week
          - month
          - year
          - range
          example: day
      - name: date
        in: query
        description: The date or date range to process. 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX).
        required: true
        schema:
          type: string
          example: yesterday
      responses:
        '200':
          description: 'Google web search keyword report.


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Search engine keywords performance get keywords google web
      x-summary-source: derived
  /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsGoogleImage:
    get:
      tags:
      - SearchEngineKeywordsPerformance
      description: Returns keyword performance data imported from Google image search.
      operationId: SearchEngineKeywordsPerformance.getKeywordsGoogleImage
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Website ID(s) to query. - Single site ID (e.g. 1) - Multiple site IDs (e.g. [1, 4, 5]) - Comma-separated list ("1,4,5") or "all"
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
          - type: array
            items:
              type: integer
            example: 1
      - name: period
        in: query
        description: The period to process, processes data for the period containing the specified date.
        required: true
        schema:
          type: string
          enum:
          - day
          - week
          - month
          - year
          - range
          example: day
      - name: date
        in: query
        description: The date or date range to process. 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX).
        required: true
        schema:
          type: string
          example: yesterday
      responses:
        '200':
          description: 'Google image search keyword report.


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Search engine keywords performance get keywords google image
      x-summary-source: derived
  /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsGoogleVideo:
    get:
      tags:
      - SearchEngineKeywordsPerformance
      description: Returns keyword performance data imported from Google video search.
      operationId: SearchEngineKeywordsPerformance.getKeywordsGoogleVideo
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Website ID(s) to query. - Single site ID (e.g. 1) - Multiple site IDs (e.g. [1, 4, 5]) - Comma-separated list ("1,4,5") or "all"
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
          - type: array
            items:
              type: integer
            example: 1
      - name: period
        in: query
        description: The period to process, processes data for the period containing the specified date.
        required: true
        schema:
          type: string
          enum:
          - day
          - week
          - month
          - year
          - range
          example: day
      - name: date
        in: query
        description: The date or date range to process. 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX).
        required: true
        schema:
          type: string
          example: yesterday
      responses:
        '200':
          description: 'Google video search keyword report.


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Search engine keywords performance get keywords google video
      x-summary-source: derived
  /index.php?module=API&method=SearchEngineKeywordsPerformance.getKeywordsGoogleNews:
    get:
      tags:
      - SearchEngineKeywordsPerformance
      description: Returns keyword performance data imported from Google news search.
      operationId: SearchEngineKeywordsPerformance.getKeywordsGoogleNews
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Website ID(s) to query. - Single site ID (e.g. 1) - Multiple site IDs (e.g. [1, 4, 5]) - Comma-separated list ("1,4,5") or "all"
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
          - type: array
            items:
              type: integer
            example: 1
      - name: period
        in: query
        description: The period to process, processes data for the period containing the specified date.
        required: true
        schema:
          type: string
          enum:
          - day
          - week
          - month
          - year
          - range
          example: day
      - name: date
        in: query
        description: The date or date range to process. 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX).
        required: true
        schema:
          type: string
          example: yesterday
      responses:
        '200':
          description: 'Google news search keyword report.


            Example responses require Super User access. Use Try it out to see a live response.'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Search engine keywords performance get keywords google news
      x-summary-source: derived
  /index.php?module=API&method=SearchEngineKeywordsPerformance.getCrawlingOverviewBing:
    get:
      tags:
      - SearchEngineKeywordsPerformance
      description: Returns Bing crawl overview metrics for the requested site selection.
      operationId: SearchEngineKeywordsPerformance.getCrawlingOverviewBing
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Website ID(s) to query. - Single site ID (e.g. 1) - Multiple site IDs (e.g. [1, 4, 5]) - Comma-separated list ("1,4,5") or "all"
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
          - type: array
            items:
              type: integer
            example: 1
      - name: period
        in: query
        description: The period to process, processes data for the period containing the specified date.
        required: true
        schema:
          type: string
          enum:
          - day
          - week
          - month
          - year
          - range
          example: day
      - name: date
        in: query
        description: The date or date range to process. 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX).
        required: true
        schema:
          type: string
          example: yesterday
      responses:
        '200':
          description: 'Bing crawl overview metrics aggregated from archived numeric records.


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Search engine keywords performance get crawling overview bing
      x-summary-source: derived
  /index.php?module=API&method=SearchEngineKeywordsPerformance.getCrawlingOverviewYandex:
    get:
      tags:
      - SearchEngineKeywordsPerformance
      description: Returns Yandex crawl overview metrics for the requested site selection.
      operationId: SearchEngineKeywordsPerformance.getCrawlingOverviewYandex
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Website ID(s) to query. - Single site ID (e.g. 1) - Multiple site IDs (e.g. [1, 4, 5]) - Comma-separated list ("1,4,5") or "all"
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
          - type: array
            items:
              type: integer
            example: 1
      - name: period
        in: query
        description: The period to process, processes data for the period containing the specified date.
        required: true
        schema:
          type: string
          enum:
          - day
          - week
          - month
          - year
          - range
          example: day
      - name: date
        in: query
        description: The date or date range to process. 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX).
        required: true
        schema:
          type: string
          example: yesterday
      responses:
        '200':
          description: 'Yandex crawl overview metrics aggregated from archived numeric records.


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Search engine keywords performance get crawling overview yandex
      x-summary-source: derived
  /index.php?module=API&method=SearchEngineKeywordsPerformance.getCrawlingErrorExamplesBing:
    get:
      tags:
      - SearchEngineKeywordsPerformance
      description: Returns the latest imported Bing crawl error examples for a single site.
      operationId: SearchEngineKeywordsPerformance.getCrawlingErrorExamplesBing
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: The numeric ID of the website to query.
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
      responses:
        '200':
          description: 'Bing crawl error example rows from the latest imported dataset.


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Search engine keywords performance get crawling error examples bing
      x-summary-source: derived
components:
  responses:
    Forbidden:
      description: Authenticated but not allowed to access the resource.
      content:
        text/plain:
          schema:
            type: string
          example: 'Error: Not authorised.'
        text/html:
          schema:
            type: string
          example: Not authorised.
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorXml'
    BadRequest:
      description: Bad request (validation or missing parameters).
      content:
        text/plain:
          schema:
            type: string
          example: 'Error: There was an error.'
        text/html:
          schema:
            type: string
          example: There was an error.
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorXml'
    NotFound:
      description: Resource not found.
      content:
        text/plain:
          schema:
            type: string
          example: 'Error: The method is not available.'
        text/html:
          schema:
            type: string
          example: The method is not available.
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorXml'
    Unauthorized:
      description: Authentication failed or missing token.
      content:
        text/plain:
          schema:
            type: string
          example: 'Error: You must be logged in to access this functionality.'
        text/html:
          schema:
            type: string
          example: You must be logged in to access this functionality.
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorXml'
    ServerError:
      description: Unexpected server error.
      content:
        text/plain:
          schema:
            type: string
          example: 'Error: There was an error.'
        text/html:
          schema:
            type: string
          example: There was an error.
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorXml'
    DefaultError:
      description: Default error response (any non-2xx).
      content:
        text/plain:
          schema:
            type: string
          example: 'Error: There was an error.'
        text/html:
          schema:
            type: string
          example: There was an error.
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorXml'
  schemas:
    ErrorXml:
      description: Generic Matomo error payload in XML.
      properties:
        error:
          properties:
            message:
              type: string
              xml:
                attribute: true
              example: There was an error
          type: object
          xml:
            name: error
      type: object
      xml:
        name: result
    Error:
      description: Generic Matomo error payload.
      required:
      - result
      - message
      properties:
        result:
          type: string
          example: error
        message:
          type: string
          example: There was an error
        code:
          type: integer
      type: object
      additionalProperties: true
  parameters:
    formatOptional:
      name: format
      in: query
      description: Response format. Defaults to `xml`. Use `original` to get the original PHP data structure.
      required: false
      schema:
        type: string
        default: xml
        enum:
        - xml
        - json
        - csv
        - tsv
        - html
        - rss
        - original
  securitySchemes:
    MatomoToken:
      type: http
      description: Paste your token generated from Personal > Security. Swagger will send it as a Bearer token.
      scheme: bearer
externalDocs:
  description: Matomo Reporting API developer page
  url: https://developer.matomo.org/api-reference/reporting-api/