Metricool Instagram Analytics Service API

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

Business capability
Digital Marketing Management BC-400.60

Operations 6

GET /v2/analytics/collabs/instagram Returns the list of Instagram collaborative posts (collabs) published during a… #
GET /v2/analytics/collabs/instagram/timeline Returns the Instagram Collabs timeline: collaborative posts published during a… #
GET /v2/analytics/posts/instagram Returns the list of Instagram posts created during a period of time #
GET /v2/analytics/posts/instagram/hashtags Returns the list of Instagram hashtags used on posts created during a period of… #
GET /v2/analytics/reels/instagram Returns the list of Instagram reels created during a period of time #
GET /v2/analytics/stories/instagram Returns the list of Instagram stories created 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-instagram-analytics-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-instagram-analytics-service-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Metricool Instagram Analytics 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: Instagram Analytics Service
paths:
  /v2/analytics/collabs/instagram:
    get:
      tags:
      - Instagram Analytics Service
      summary: Returns the list of Instagram collaborative posts (collabs) published during a…
      operationId: getInstagramCollabs
      parameters:
      - name: from
        in: query
        description: From Date and time ISO 8601 format. e.g. 2021-01-01T10:00:00
        required: true
        schema:
          type: string
      - name: to
        in: query
        description: To Date and time ISO 8601 format. e.g. 2021-01-01T10:00: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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkListResponseInstagramCollabTableRow'
  /v2/analytics/collabs/instagram/timeline:
    get:
      tags:
      - Instagram Analytics Service
      summary: 'Returns the Instagram Collabs timeline: collaborative posts published during a…'
      operationId: getInstagramCollabsTimeline
      parameters:
      - name: from
        in: query
        description: From Date and time ISO 8601 format. e.g. 2021-01-01T10:00:00
        required: true
        schema:
          type: string
      - name: to
        in: query
        description: To Date and time ISO 8601 format. e.g. 2021-01-01T10:00: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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseInstagramCollabsTimeline'
  /v2/analytics/posts/instagram:
    get:
      tags:
      - Instagram Analytics Service
      summary: Returns the list of Instagram posts created during a period of time
      operationId: getInstagramPosts
      parameters:
      - name: from
        in: query
        description: From Date and time ISO 8601 format. e.g. 2021-01-01T10:00:00
        required: true
        schema:
          type: string
      - name: to
        in: query
        description: To Date and time ISO 8601 format. e.g. 2021-01-01T10:00: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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkListResponseInstagramPost'
  /v2/analytics/posts/instagram/hashtags:
    get:
      tags:
      - Instagram Analytics Service
      summary: Returns the list of Instagram hashtags used on posts created during a period of…
      operationId: getInstagramPostsHashtags_1
      parameters:
      - name: from
        in: query
        description: From Date and time ISO 8601 format. e.g. 2021-01-01T10:00:00
        required: true
        schema:
          type: string
      - name: to
        in: query
        description: To Date and time ISO 8601 format. e.g. 2021-01-01T10:00: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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkListResponseInstagramHashtag'
  /v2/analytics/reels/instagram:
    get:
      tags:
      - Instagram Analytics Service
      summary: Returns the list of Instagram reels created during a period of time
      operationId: getInstagramReels
      parameters:
      - name: from
        in: query
        description: From Date and time ISO 8601 format. e.g. 2021-01-01T10:00:00
        required: true
        schema:
          type: string
      - name: to
        in: query
        description: To Date and time ISO 8601 format. e.g. 2021-01-01T10:00: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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkListResponseInstagramReel'
  /v2/analytics/stories/instagram:
    get:
      tags:
      - Instagram Analytics Service
      summary: Returns the list of Instagram stories created during a period of time
      operationId: getInstagramStories
      parameters:
      - name: from
        in: query
        description: From Date and time ISO 8601 format. e.g. 2021-01-01T10:00:00
        required: true
        schema:
          type: string
      - name: to
        in: query
        description: To Date and time ISO 8601 format. e.g. 2021-01-01T10:00: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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkListResponseInstagramStory'
components:
  schemas:
    JsonOkListResponseInstagramCollabTableRow:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/InstagramCollabTableRow'
    InstagramReel:
      type: object
      properties:
        reelId:
          type: string
        userId:
          type: string
        businessId:
          type: string
        type:
          type: string
        publishedAt:
          $ref: '#/components/schemas/DateTimeInfo'
        filter:
          type: string
        url:
          type: string
        content:
          type: string
        imageUrl:
          type: string
        likes:
          type: integer
          format: int32
        comments:
          type: integer
          format: int32
        interactions:
          type: integer
          format: int64
        engagement:
          type: number
          format: double
        views:
          type: integer
          format: int32
        reach:
          type: integer
          format: int32
        saved:
          type: integer
          format: int32
        shares:
          type: integer
          format: int32
        impressionsPaid:
          type: integer
          format: int32
        impressionsTotal:
          type: integer
          format: int32
        reachPaid:
          type: integer
          format: int32
        videoViewsPaid:
          type: integer
          format: int32
        videoViewsTotal:
          type: integer
          format: int32
        postClicksPaid:
          type: integer
          format: int32
        postInteractionsPaid:
          type: integer
          format: int32
        spend:
          type: number
          format: double
        averageWatchTime:
          type: number
          format: double
        videoViewTotalTime:
          type: number
          format: double
        durationSeconds:
          type: integer
          format: int32
        reelsSkipRate:
          type: number
          format: float
        reposts:
          type: integer
          format: int32
        videoViews:
          type: integer
          format: int32
        impressions:
          type: integer
          format: int32
    JsonOkResponseInstagramCollabsTimeline:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          $ref: '#/components/schemas/InstagramCollabsTimeline'
    JsonOkListResponseInstagramPost:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/InstagramPost'
    JsonOkListResponseInstagramStory:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/InstagramStory'
    JsonOkListResponseInstagramHashtag:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/InstagramHashtag'
    InstagramCollabTableRow:
      type: object
      properties:
        postId:
          type: string
          description: Instagram media id of the collaborative post
        thumbnailUrl:
          type:
          - string
          - 'null'
          description: Thumbnail image URL, when available
        mediaUrl:
          type:
          - string
          - 'null'
          description: Media URL (image or video), when available
        caption:
          type:
          - string
          - 'null'
          description: Post caption
        permalink:
          type:
          - string
          - 'null'
          description: Permalink to the post on Instagram
        publishedAt:
          $ref: '#/components/schemas/DateTimeInfo'
        username:
          type: string
          description: Username of the account that owns/published the post - our brand's collaborator
        contentType:
          type: string
          description: 'Normalized content type: POST_IMAGE, POST_CAROUSEL, REEL, or ''<mediaProductType>_<mediaType>'' for unexpected combinations (e.g. AD, STORY)'
        views:
          type:
          - integer
          - 'null'
          description: Total views of the post, aggregated across all collaborators
          format: int32
        likes:
          type:
          - integer
          - 'null'
          description: Total likes of the post, aggregated across all collaborators
          format: int32
        comments:
          type:
          - integer
          - 'null'
          description: Total comments of the post, aggregated across all collaborators
          format: int32
        reposts:
          type:
          - integer
          - 'null'
          description: Reposts of the post
          format: int32
        saved:
          type:
          - integer
          - 'null'
          description: Saves of the post
          format: int32
        shares:
          type:
          - integer
          - 'null'
          description: Shares of the post
          format: int32
      description: 'A single row of the Instagram Collabs table: one collaborative post with its aggregated metrics.'
    InstagramPost:
      type: object
      properties:
        postId:
          type: string
        userId:
          type: string
        businessId:
          type: string
        type:
          type: string
        publishedAt:
          $ref: '#/components/schemas/DateTimeInfo'
        filter:
          type: string
        url:
          type: string
        content:
          type: string
        imageUrl:
          type: string
        likes:
          type: integer
          format: int32
        comments:
          type: integer
          format: int32
        shares:
          type: integer
          format: int32
        interactions:
          type: integer
          format: int64
        engagement:
          type: number
          format: double
        reach:
          type: integer
          format: int32
        saved:
          type: integer
          format: int32
        follows:
          type: integer
          format: int32
        impressionsPaid:
          type: integer
          format: int32
        impressionsTotal:
          type: integer
          format: int32
        views:
          type: integer
          format: int32
        reachPaid:
          type: integer
          format: int32
        videoViewsPaid:
          type: integer
          format: int32
        videoViewsTotal:
          type: integer
          format: int32
        postClicksPaid:
          type: integer
          format: int32
        postInteractionsPaid:
          type: integer
          format: int32
        spend:
          type: number
          format: double
        hashtags:
          type: array
          items:
            type: string
        clicks:
          type: number
          format: double
        impressions:
          type: integer
          format: int32
    JsonOkListResponseInstagramReel:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/InstagramReel'
    JsonPaging:
      type: object
      properties:
        next:
          type: string
    InstagramCollabsTotals:
      type: object
      properties:
        views:
          type: integer
          description: Sum of views across all collaborative posts in the period
          format: int64
        likes:
          type: integer
          description: Sum of likes across all collaborative posts in the period
          format: int64
        comments:
          type: integer
          description: Sum of comments across all collaborative posts in the period
          format: int64
        reposts:
          type: integer
          description: Sum of reposts across all collaborative posts in the period
          format: int64
        saved:
          type: integer
          description: Sum of saves across all collaborative posts in the period
          format: int64
        shares:
          type: integer
          description: Sum of shares across all collaborative posts in the period
          format: int64
      description: Aggregated totals for the Instagram Collabs timeline period.
    InstagramCollabsTimeline:
      type: object
      properties:
        items:
          type: array
          description: Collaborative posts published within the requested range
          items:
            $ref: '#/components/schemas/InstagramCollabTimelineItem'
        totals:
          $ref: '#/components/schemas/InstagramCollabsTotals'
      description: 'Instagram Collabs timeline: collaborative posts published in the requested range plus the period''s aggregated totals.'
    InstagramCollabTimelineItem:
      type: object
      properties:
        postId:
          type: string
          description: Instagram media id of the collaborative post
        publishedAt:
          $ref: '#/components/schemas/DateTimeInfo'
        contentType:
          type: string
          description: 'Normalized content type: POST_IMAGE, POST_CAROUSEL, REEL, or ''<mediaProductType>_<mediaType>'' for unexpected combinations (e.g. AD, STORY)'
        views:
          type:
          - integer
          - 'null'
          description: Total views of the post, aggregated across all collaborators
          format: int32
        likes:
          type:
          - integer
          - 'null'
          description: Total likes of the post, aggregated across all collaborators
          format: int32
        comments:
          type:
          - integer
          - 'null'
          description: Total comments of the post, aggregated across all collaborators
          format: int32
        reposts:
          type:
          - integer
          - 'null'
          description: Reposts of the post
          format: int32
        saved:
          type:
          - integer
          - 'null'
          description: Saves of the post
          format: int32
        shares:
          type:
          - integer
          - 'null'
          description: Shares of the post
          format: int32
      description: 'A single item of the Instagram Collabs timeline: one collaborative post published in the requested range.'
    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
    InstagramHashtag:
      type: object
      properties:
        blogId:
          type: integer
          format: int32
        hashtag:
          type: string
        impressions:
          type: integer
          format: int32
        views:
          type: integer
          format: int32
        count:
          type: integer
          format: int32
        likes:
          type: integer
          format: int32
        commentsCount:
          type: integer
          format: int32
        posts:
          type: array
          items:
            $ref: '#/components/schemas/InstagramPost'
    InstagramStory:
      type: object
      properties:
        postId:
          type: string
        businessId:
          type: string
        type:
          type: string
        publishedAt:
          $ref: '#/components/schemas/DateTimeInfo'
        owner:
          type: string
        content:
          type: string
        thumbnailUrl:
          type: string
        mediaUrl:
          type: string
        permalink:
          type: string
        exits:
          type: integer
          format: int32
        impressions:
          type: integer
          format: int32
        reach:
          type: integer
          format: int32
        replies:
          type: integer
          format: int32
        tapsForward:
          type: integer
          format: int32
        tapsBack:
          type: integer
          format: int32
        impressionsPaid:
          type: integer
          format: int32
        impressionsTotal:
          type: integer
          format: int32
        reachPaid:
          type: integer
          format: int32