Skip to content

Analytics

The Analytics API gives you detailed insights into video performance, user engagement, and content effectiveness. You can filter data by organization, entitlements, watch history, and key engagement metrics to track viewership trends and measure content impact. Whether you need high-level summaries or granular breakdowns, this API gives you the flexibility to drive data-driven content optimization and monetization strategies.

Use this API when you need:

  • Programmatic analytics reporting and data extraction
  • Custom dashboards and performance monitoring
  • Integration with reporting tools and external platforms
  • Automated analysis of video engagement and content effectiveness

Authentication Type

Use the read-write-update endpoint authentication.

Endpoint

GET https://external.parone.io/v2/analytics/{TYPE}/{FORMAT}

URL Parameters

ParameterTypeDescription
TYPEstring (required)The type of analytics data to retrieve. Use videos, ads, or ecommerce
FORMATstring (required)Use summary for aggregated totals over the date range or detailed for breakdowns by day. Results are always broken out by contentKey and tput (if requested).

Request Parameters

ParameterTypeDescription
startDatestring (required)The start date for the analytics data. In UTC (YYYY-MM-DD).
endDatestring (required)The end date for the analytics data. In UTC (YYYY-MM-DD).
fieldslist of stringsSpecify which metrics to retrieve.
tputstring (optional)Specify the tput to retrieve.
contentKeystring (optional)Specify the contentKey to retrieve.
pageinteger (optional)Which page of the results to retrieve. Defaults to 1
pageSizeinteger (optional)The number of results per page. Defaults to 100.

Fields for videos

If you don’t specify fields, the default fields will be returned.

video_impression default

Fires when a video player or thumbnail becomes visible in the viewport.

video_played default

Triggered when a user clicks play or video playback actively starts.

played_1s default

Milestone event indicating the video was viewed for at least 1 second.

played_3s

Milestone event indicating the video was viewed for at least 3 seconds.

played_15s

Milestone event indicating the video was viewed for at least 15 seconds.

played_30s

Milestone event indicating the video was viewed for at least 30 seconds.

played_25percent

Progress milestone tracking when playback reaches 25% of total duration.

played_50percent

Progress milestone tracking when playback reaches 50% of total duration.

played_75percent

Progress milestone tracking when playback reaches 75% of total duration.

video_ended

Fires when the video completes playback entirely.

video_docked

Triggered when the player is docked.

video_undocked

Triggered when the player is restored from docked mode back to its standard container.

video_entered_fullscreen

Fires when the user expands the video player to fullscreen view.

video_exited_fullscreen

Fires when the user exits fullscreen mode back to standard layout.

video_pause

Tracks when a user or system action pauses video playback.

video_resume

Tracks when video playback resumes after being paused.

video_autoplay

Fires when the video automatically begins playing without direct user interaction.

video_muted

Triggered when the audio volume of the video is turned off or set to zero.

video_unmuted

Triggered when the audio volume of the video is turned back on.

video_played_muted

Tracks a video playback session initiated or continued in a muted state.

video_played_unmuted

Tracks a video playback session initiated or continued with audio active.

video_caption_enabled

Fires when closed captions or subtitles are turned on during playback.

video_downloaded

Tracks when a user downloads the video file for offline viewing.

video_entered_airplay

Triggered when the video stream is cast to an external device via AirPlay.



Fields for ads

If you don’t specify fields, the default fields will be returned.

ad_impression default

Fires when an advertisement becomes visible or starts rendering.

Milestone tracking when an advertisement reaches 25% of its total duration.

Milestone tracking when an advertisement reaches 50% of its total duration.

Milestone tracking when an advertisement reaches 75% of its total duration.

Milestone tracking when an advertisement completes full playback.

ad_done default

Fires when the ad sequence finishes or is successfully dismissed.

ad_muted

Tracks when an advertisement’s audio is muted.

ad_unmuted

Tracks when an advertisement’s audio is unmuted.

ad_played_muted

Tracks ad playback occurring while the audio is muted.

ad_played_unmuted

Tracks ad playback occurring while the audio is active.

ad_skip

Tracks when a user explicitly skips an advertisement.

ad_autoplayed

Fires when an advertisement starts playing automatically without user initiation.

ad_paused

Tracks when an advertisement playback is explicitly paused.

ad_resumed

Tracks when an advertisement resumes playing after a pause.

ad_clicked default

Tracks when a user clicks on the advertisement element or call-to-action link.



Fields for ecommerce

If you don’t specify fields, the default fields will be returned.

ecom_viewed default

Tracks impressions when an ecommerce element or product section is shown to the user.

ecom_clicked default

Triggered when a user clicks an ecommerce item, product card, or shop link.

ecom_hidden

Fires when an ecommerce overlay or shopping widget is closed or hidden.

ecom_bar_hidden

Fires specifically when the horizontal ecommerce item bar is minimized or closed.

ecom_bar_shown

Fires when the horizontal ecommerce item bar is rendered or opened on screen.

Success Response

This call will return a JSON object that contains the analytics for your organization

# Example: Making an authenticated request with required headers for an ecommerce summary

curl -H "X-ParOne-API-Key: YOUR_API_KEY" \
     -H "X-ParOne-API-Secret: YOUR_API_SECRET" \
     "https://api.parone.io/v2/analytics/ecommerce/summary?startDate=2026-06-01&endDate=2026-06-31"
{
  "count": 2,
  "message": "200",
  "data": [
    {
      "contentKey": "LdfTQI4Fp",
      "ecom_clicked": "0",
      "ecom_viewed": "14",
      "ecommerceKey": "9ba3f441"
    },
    {
      "contentKey": "LBaru2O2b",
      "ecom_clicked": "0",
      "ecom_viewed": "34",
      "ecommerceKey": "WBwrTkdx"
    }
  ]
}


# Example: Making an authenticated request with required headers for video analytics

curl -H "X-ParOne-API-Key: YOUR_API_KEY" \
     -H "X-ParOne-API-Secret: YOUR_API_SECRET" \
     "https://api.parone.io/v2/analytics/videos/summary?startDate=2026-06-01&endDate=2026-06-30&fields=played_1s,tput"
{
  "count": 24,
  "data": [
    {
      "contentKey": "AVA00305h_f1cec01aa",
      "played_1s": "1",
      "tput": "none"
    },
    {
      "contentKey": "AVA00290h_f582dc418",
      "played_1s": "5",
      "tput": "none"
    },
    {
      "contentKey": "AVA00282h_49b0c9183",
      "played_1s": "2",
      "tput": "none"
    },
    ...
  ],
  "message": "200"
}


# Example: Making an authenticated request with required headers for ad analytics

curl -H "X-ParOne-API-Key: YOUR_API_KEY" \
     -H "X-ParOne-API-Secret: YOUR_API_SECRET" \
     "https://api.parone.io/v2/analytics/ads/summary?startDate=2026-01-01&endDate=2026-01-31"
{
  "count": 2988,
  "data": [
    {
      "ad_clicked": "0",
      "ad_done": "6",
      "ad_impression": "9",
      "contentKey": "ZZzS5yd5e"
    },
    {
      "ad_clicked": "0",
      "ad_done": "3",
      "ad_impression": "3",
      "contentKey": "Zrshvgck8"
    }
    ...
  ],
  "message": "200"
}

Structure of the Returned Results

Field NameDescription
contentKeythe contentKey for the video in question
ecommerceKeyif requesting ecommerce type, this is the ecommerceKey
tputif a tput is requested, this will be the tput value
field namethe value of the field
dateif format=detailed, the date (in UTC) that the values were for