Metricool Analytics Api Service API

The Analytics Api Service API from Metricool — 6 operation(s) for analytics api service.

Business capability
Digital Marketing Management BC-400.60

Operations 6

GET /v2/analytics/aggregation Aggregation #
GET /v2/analytics/brand-summary/posts Get brand summary posts #
GET /v2/analytics/campaigns/tiktokads Get tiktok ads campaigns #
GET /v2/analytics/distribution Distribution #
GET /v2/analytics/hashtags Get popular hashtags 1 #
GET /v2/analytics/timelines Returns a time series for a concrete metric during a period of time #

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/metricool:metricool-analytics-api-service-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

metricool-analytics-api-service-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Metricool Analytics Api Service API
  description: 'Metricool API


    The base URL for all endpoints is: https://app.metricool.com/api


    All endpoints require authentication.'
  version: 2.0.0
servers:
- url: https://app.metricool.com/api
tags:
- name: Analytics Api Service
paths:
  /v2/analytics/aggregation:
    get:
      tags:
      - Analytics Api Service
      operationId: aggregation
      parameters:
      - name: network
        in: query
        required: true
        schema:
          type: string
      - name: metric
        in: query
        required: true
        schema:
          type: string
      - name: from
        in: query
        required: true
        schema:
          type: string
      - name: to
        in: query
        required: true
        schema:
          type: string
      - name: timezone
        in: query
        required: false
        schema:
          type: string
      - name: subject
        in: query
        required: false
        schema:
          type: string
      - name: scope
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseDouble'
      summary: Aggregation
      x-summary-source: derived
  /v2/analytics/brand-summary/posts:
    get:
      tags:
      - Analytics Api Service
      operationId: getBrandSummaryPosts
      parameters:
      - name: from
        in: query
        required: true
        schema:
          minLength: 1
          type: string
      - name: to
        in: query
        required: true
        schema:
          minLength: 1
          type: string
      - name: timezone
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkListResponseBrandSummaryPost'
      summary: Get brand summary posts
      x-summary-source: derived
  /v2/analytics/campaigns/tiktokads:
    get:
      tags:
      - Analytics Api Service
      operationId: getTiktokAdsCampaigns
      parameters:
      - name: from
        in: query
        required: true
        schema:
          type: string
      - name: to
        in: query
        required: true
        schema:
          type: string
      - name: timezone
        in: query
        required: false
        schema:
          type: string
      - name: metrics[]
        in: query
        required: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkListResponseCampaign'
      summary: Get tiktok ads campaigns
      x-summary-source: derived
  /v2/analytics/distribution:
    get:
      tags:
      - Analytics Api Service
      operationId: distribution
      parameters:
      - name: network
        in: query
        required: true
        schema:
          type: string
      - name: metric
        in: query
        required: true
        schema:
          type: string
      - name: from
        in: query
        required: true
        schema:
          type: string
      - name: to
        in: query
        required: true
        schema:
          type: string
      - name: timezone
        in: query
        required: false
        schema:
          type: string
      - name: subject
        in: query
        required: false
        schema:
          type: string
      - name: scope
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkListResponseDistributionItem'
      summary: Distribution
      x-summary-source: derived
  /v2/analytics/hashtags:
    get:
      tags:
      - Analytics Api Service
      operationId: getPopularHashtags_1
      parameters:
      - name: network
        in: query
        required: false
        schema:
          type: string
      - name: q
        in: query
        required: false
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkListResponseHashtag'
      summary: Get popular hashtags 1
      x-summary-source: derived
  /v2/analytics/timelines:
    get:
      tags:
      - Analytics Api Service
      summary: Returns a time series for a concrete metric during a period of time
      operationId: timeline_2
      parameters:
      - name: network
        in: query
        description: 'network Supported values: <ul>

          <li>tiktok</li>

          <li>tiktokads</li>

          <li>pinterest</li>

          <li>youtube</li>

          <li>facebook</li>

          <li>gmb</li>

          <li>instagram</li>

          <li>linkedin</li>

          <li>twitter</li>

          <li>twitch</li>

          </ul>'
        required: true
        schema:
          type: string
      - name: metric
        in: query
        description: 'metric Supported values: Metrics are case insensitive<ul>

          <li>For TikTokAds: impressions, cost, clicks, conversions, cpm, cpc, ctr</li>

          <li>For TikTok Videos: videos, views, comments, shares, interactions, likes, reach, engagement, impressionSources, averageVideoViews</li>

          <li>For TikTok Account: video_views, profile_views, followers_count, followers_delta_count, likes, comments, shares</li>

          <li>For Pinterest: impression save pin_click outbound_click video_mrc_view video_avg_watch_time video_v50_watch_time quartile_95_percent_view pins</li>

          <li>For Pinterest (accounts): followers, following, delta followers</li>

          <li>For Youtube: views, interactions, likes, dislikes, comments, shares </li>

          <li>For Facebook (metrics for stories): storiesCount

          <li>For Facebook (metrics for posts): count, interactions, engagement, impressionsunique, impressions, clicks, comments, shares, reactions

          <li>For Facebook (metrics for reels): blue_reels_play_count, post_impressions_unique, post_video_likes_by_reaction_type, post_video_social_actions, engagement, count </li>

          <li>For Facebook (account metrics): page_posts_impressions, page_actions_post_reactions_total, postsCount, postsInteractions, likes, pageFollows, pageImpressions, pageImpressions.M, pageImpressions.F, pageImpressions.U, pageImpressions.13-17, pageImpressions.18-24, pageImpressions.25-34, pageImpressions.35-44, pageImpressions.45-54, pageImpressions.55-64, pageImpressions.65+, pageViews, page_daily_follows_unique, page_daily_unfollows_unique</li>

          <li>For GMB: business_impressions_maps, business_impressions_search, business_impressions_total, business_direction_requests, call_clicks, website_clicks, clicks_total, business_conversations, business_bookings, business_food_orders, business_actions_total</li>

          <li>For Instagram (account metrics): email_contacts, get_directions_clicks, phone_call_clicks, text_message_clicks, clicks_total, postsCount, postsInteractions, delta_followers, followers_gained, followers_lost</li>

          <li>For Instagram (posts metrics): count, interactions, engagement, reach, impressions, likes, comments, saves, shares</li>

          <li>For Instagram (reels metrics): count, comments, likes, saved, shares, engagement, impressions, reach, interactions, videoviews</li>

          <li>For Instagram (breakdown metrics, correct subject and scope are needed): comments, likes, profile_links_taps, reach, saved, saves, shares, total_interactions, views</li>

          <li>For Linkedin (account metrics [company]): followers, paidFollowers, companyImpressions, deltaFollowers, impressionCount, shareCount, clickCount, likeCount, commentCount, postsCount</li>

          <li>For Linkedin (posts metrics [company]): posts, clicks, likes, comments, shares, engagement, impressions, interactions</li>

          <li>For Linkedin (newsletters metrics [company]): posts, clicks, likes, comments, shares, engagement, impressions, interactions</li>

          <li>For Linkedin (account metrics [personal]): followers, deltaFollowers, reaction, comment, reshare, impression</li>

          <li>For Linkedin (posts metrics [personal]): count, comment, reshare, impression, reaction, engagement, interactions</li>

          <li>For Threads (posts metrics): count, views, likes, replies, reposts, engagement, quotes, interactions, shares</li>

          <li>For Bluesky (posts metrics): posts_count, interactions, likes, replies, reposts, quotes</li>

          <li>For Twitter (account metrics): followers, friends, postsCount</li>

          <li>For Twitch (account metrics): followers, deltaFollowers, subscribers, tier1, tier2, tier3, gifts, videos, views, duration</li>

          <li>For Twitter (posts metrics): engagement, impressions, interactions, likes, retweets, replies, quotes, profileClicks, linkClicks. Note: this is a per-day rollup under subject=posts, distinct from the tweet-level aggregate ''engagement'' returned by subject=tweet on the /aggregation endpoint (used by DataStudio)</li>

          </ul>'
        required: true
        schema:
          type: string
      - name: from
        in: query
        description: From Date and time ISO 8601 format. e.g. 2021-01-01T10:00:00+01:00
        required: true
        schema:
          type: string
      - name: to
        in: query
        description: From Date and time in ISO 8601 format. e.g. 2021-09-10T03:30:00+01:00
        required: true
        schema:
          type: string
      - name: timezone
        in: query
        description: (Optional) The timezone used for the date range to search. ('Europe/Madrid')
        required: false
        schema:
          type: string
      - name: subject
        in: query
        description: 'Is a filter when we retrieve data. Some examples: ''posts'', ''reels'', ''account''. Each network defines its own ''subjects''. Mandatory for Instagram, where the valid values are: account, posts, reels, stories, competitors, collabs. For breakdowns the possible subjects are: media_product_type, follow_type and contact_button_type'
        required: false
        schema:
          type: string
      - name: scope
        in: query
        description: 'Is a second filter. Some examples: ''viewed'', ''published''. It is used for Youtube and for Instagram metrics breakdown, for the breakdowns the possible values are: BOOK_NOW, CALL, DIRECTION, EMAIL, INSTANT_EXPERIENCE, TEXT, UNDEFINED, FOLLOWER, NON_FOLLOWER, UNKNOWN, AD, CAROUSEL_CONTAINER, POST, REEL, STORY'
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkListResponseTimelineSeries'
components:
  schemas:
    TimelineSeries:
      type: object
      properties:
        metric:
          type: string
        values:
          type: array
          items:
            $ref: '#/components/schemas/SeriesValue'
        aggregate:
          $ref: '#/components/schemas/TimelineAggregate'
    SeriesValue:
      type: object
      properties:
        dateTime:
          type: string
          format: date-time
        value:
          type: number
          format: double
    TimelineAggregate:
      type: object
      properties:
        aggregation:
          type: string
        value:
          type: number
          format: double
    JsonOkResponseDouble:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: number
          format: double
    JsonOkListResponseCampaign:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/Campaign'
    JsonOkListResponseTimelineSeries:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/TimelineSeries'
    Campaign:
      type: object
      properties:
        network:
          type: string
        providerCampaignId:
          type: string
        name:
          type: string
        status:
          type: string
          enum:
          - ACTIVE
          - PAUSED
          - REMOVED
        objective:
          type: string
        created:
          $ref: '#/components/schemas/DateTimeInfo'
        updated:
          $ref: '#/components/schemas/DateTimeInfo'
        start:
          $ref: '#/components/schemas/DateTimeInfo'
        stop:
          $ref: '#/components/schemas/DateTimeInfo'
        dailyBudget:
          type: number
          format: double
        lifetimeBudget:
          type: number
          format: double
        currency:
          type: string
        biddingStrategyType:
          type: string
        metrics:
          type: object
          additionalProperties:
            type: object
    BrandSummaryPost:
      type: object
      properties:
        id:
          type: string
        network:
          type: string
        networkConnection:
          type: string
        text:
          type: string
        link:
          type: string
        picture:
          type: string
        publicationDate:
          $ref: '#/components/schemas/DateTimeInfo'
        type:
          type: string
        metrics:
          type: object
          additionalProperties:
            type: object
    JsonOkListResponseDistributionItem:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/DistributionItem'
    JsonPaging:
      type: object
      properties:
        next:
          type: string
    DistributionItem:
      type: object
      properties:
        key:
          type: string
        value:
          type: number
          format: double
    JsonOkListResponseHashtag:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/Hashtag'
    JsonOkListResponseBrandSummaryPost:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/BrandSummaryPost'
    DateTimeInfo:
      required:
      - dateTime
      type: object
      properties:
        dateTime:
          type: string
          description: 'Local Date-time represented with a certain timezone '
        timezone:
          type: string
          description: Timezone applied to the datetime
    Hashtag:
      type: object
      properties:
        name:
          type: string
        postsCount:
          type: integer
          format: int64