Upload-Post Analytics API

Retrieve impressions and per-post performance metrics.

OpenAPI Specification

upload-post-analytics-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Upload-Post Analytics API
  description: The Upload-Post API is a universal social media publishing interface for publishing videos, photos, and text posts to TikTok, Instagram, YouTube, LinkedIn, Facebook, X (Twitter), Threads, Pinterest, Bluesky, Reddit, Discord, Telegram, and Google Business Profile. It also manages user profiles, single-use JWT account-linking URLs, upload status/history, and cross-platform analytics.
  termsOfService: https://www.upload-post.com/terms
  contact:
    name: Upload-Post Support
    url: https://www.upload-post.com/
  version: '1.0'
servers:
- url: https://api.upload-post.com/api
  description: Upload-Post production API
security:
- ApikeyAuth: []
tags:
- name: Analytics
  description: Retrieve impressions and per-post performance metrics.
paths:
  /analytics/{profile_username}:
    get:
      operationId: getAnalytics
      tags:
      - Analytics
      summary: Get profile performance metrics
      description: Retrieves performance metrics for a given profile across platforms.
      parameters:
      - name: profile_username
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Metrics retrieved.
          content:
            application/json:
              schema:
                type: object
        '401':
          $ref: '#/components/responses/Unauthorized'
  /uploadposts/total-impressions/{profile_username}:
    get:
      operationId: getTotalImpressions
      tags:
      - Analytics
      summary: Get aggregated total impressions
      description: Returns aggregated impressions across platforms for a profile.
      parameters:
      - name: profile_username
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Impressions retrieved.
          content:
            application/json:
              schema:
                type: object
        '401':
          $ref: '#/components/responses/Unauthorized'
  /uploadposts/post-analytics/{request_id}:
    get:
      operationId: getPostAnalytics
      tags:
      - Analytics
      summary: Get per-post analytics by request ID
      description: Returns analytics for a single post identified by its request_id.
      parameters:
      - name: request_id
        in: path
        required: true
        schema:
          type: string
      - name: platform_post_id
        in: query
        required: false
        schema:
          type: string
        description: Alternatively retrieve analytics by the platform's post ID.
      responses:
        '200':
          description: Post analytics retrieved.
          content:
            application/json:
              schema:
                type: object
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        success:
          type: boolean
        error:
          type: string
  securitySchemes:
    ApikeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'API key authentication. Provide the header in the form `Authorization: Apikey YOUR_API_KEY`.'