Skip to content

Videos

The Videos API lets you retrieve and filter video content based on metadata, entitlements, watch history, and search parameters. Built for performance and flexibility, it supports dynamic filtering so you can efficiently access videos that match specific criteria. Whether you’re building personalized experiences or optimizing content discovery, this API makes it easy to pull in the right videos for your application.

Use this API when you need:

  • Real-time video filtering and search
  • Dynamic filtering based on user input
  • Complex filtering combinations
  • Up-to-the-minute video availability

Endpoint

GET https://external.parone.io/v2/videos/

Authentication Type

Use the read-only endpoint authentication.

Request Parameters

ParameterTypeDescription
contentKeystring (optional)Information about a single content-key
feedIdstring (optional)Filter videos by a specific feed. If no feed is listed, videos are searched (subject to networkVideos).
mmistring (optional)Filter videos by MMI.
networkVideosboolean (optional)If networkVideos is 1 all videos available to the organization will be searched. If set to 0 only your videos will be searched. Default to 0
watchedByTputstring (optional)Filter videos by a specific user tput who watched them.
searchStringstring (optional)Filter videos by a search string matching titles, descriptions, or content-keys.
categoriesarray of strings (optional)Filter videos by categories.
customFieldsarray of strings (optional)Filter videos by custom field entries.
eventsarray of strings (optional)Filter videos by events.
tagsarray of strings (optional)Filter videos by tags.
pageinteger (optional)The page number for pagination. Defaults to 1
pageSizeinteger (optional)The number of videos to return per page. Defaults to 100

Special Characters in Parameters

You can search for videos that have all or some of the text, categories, tags, events, and custom fields you specify.

searchString, events, tags, and categories all use the following syntax to filter videos.

CharacterOperationDescription
,ANDReturns videos that match ALL specified values
|ORReturns videos that match ANY of the specified values

Examples

# Find videos with a category of "Mexico 2025" and "playoff"
categories=Mexico#202025,playoff

# Find videos with a category of "Mexico 2025" or "playoff"
categories=Mexico#202025|playoff
# Find videos with tags (beginner or instructional) 
# and categories (advanced and technique)
tags=beginner|instructional&categories=advanced,technique"
# Finds videos with the words "LPGA," "Ko," and "highlights" 
# in the title, description, or contentKey.
searchString=LPGA,Ko,highlights

contentKey

type: string

The contentKey parameter allows you to return information about a single video.

# Example: get information for content-key 1237868712379

curl "https://external.parone.io/v2/videos?contentKey=1237868712379"

feedId

type: string

The feedId parameter allows you to find videos in a specific feed. If no feedId is provided, all available videos across all feeds will be searched, depending on the networkVideos parameter. This makes it easy to query videos belonging to a particular feed for targeted delivery.

# Example: Fetch videos from a specific feed

curl "https://external.parone.io/v2/videos?feedId=your-feed-id"

mmi Requires MMI

type: string

Use the mmi parameter to filter videos by a specific MMI (Media Management Identifier). This can be helpful when you need to isolate videos related to a certain sub-organization.

# Example: Fetch videos associated with a specific Media Management Identifier

curl "https://external.parone.io/v2/videos?mmi=your-mmi"

networkVideos Requires Network Videos

type: boolean

The networkVideos parameter determines whether or not to find videos from other organizations. By setting this to true, you’ll retrieve network-related videos; false limits results to just your organization’s videos.

# Example: Fetch videos including network syndicated content

curl "https://external.parone.io/v2/videos?networkVideos=1"

watchedByTput Requires TPUT

type: string

The watchedByTput parameter allows you to filter videos based on the specific user tput who has watched them. This is useful for retrieving videos that are relevant to a particular user’s viewing history, enabling personalized content delivery.

# Example: Fetch videos including network syndicated content

curl "https://external.parone.io/v2/videos?watchedByTput=your-user-tput"

searchString

type: string

The searchString parameter filters videos by matching titles, descriptions, or content keys. This allows users to search for videos that contain specific keywords or phrases, improving the efficiency of content discovery. It is particularly useful for finding relevant videos quickly without needing to know exact metadata..

# Example: Search for videos containing specific text

curl "https://external.parone.io/v2/videos?searchString=bryson"

categories

type: array of strings

The categories parameter allows you to filter videos by specific categories assigned to them. By providing an array of strings, you can narrow down the video selection to those matching the specified categories. This is helpful when you need to organize videos based on custom groupings.

# Example: Fetch videos that belong to the 'golf' category

curl "https://external.parone.io/v2/videos?categories=golf"

customFields Requires Custom Fields

type: array of strings

You can filter videos based on custom fields using the customFields parameter. This allows you to specify a list of custom field entries that should match the video metadata. It provides flexibility for filtering content according to non-standard attributes set by your video library.

Custom fields use the ’!’ as the OR parameter

CharacterOperationDescription
!ANDReturns videos that match ALL of the specified values
|ORReturns videos that match ANY of the specified values
# Find videos that have custom field "instructor" with values "harmon" or "pelz"
customFields=[{instructor:harmon|pelz}]

# Find videos that have custom field "instructor" with values "butch" and "harmon"
customFields=[{instructor:butch!harmon}]

events Requires Events

type: array of strings

The events parameter filters videos by specific events that are associated with them. By passing an array of event names or IDs, you can ensure that only videos tied to particular events are returned. This is useful for event-driven content filtering, such as tournaments or promotional events.

# Example: Fetch videos associated with specific events

curl "https://external.parone.io/v2/videos?events=event1,event2"

tags

type: array of strings

The tags parameter enables filtering of videos based on custom tags assigned to them. By passing an array of tags, you can narrow down the search to videos that have the specified tags, making it easier to categorize and retrieve videos based on specific keywords or themes.

# Example: Fetch videos with specific tags

curl "https://external.parone.io/v2/videos?tags=tag1,tag2"

page

type: integer

The page parameter allows you to specify which page of results you want to retrieve when paginating through a large set of videos. This is useful for breaking down large sets of data into manageable chunks, ensuring your application can load and display results without overwhelming the user interface.

# Example: Fetch the first page of video results

curl "https://external.parone.io/v2/videos?page=1"

pageSize

type: integer

The pageSize parameter sets the number of videos returned per page. By adjusting this value, you control the pagination size, which helps optimize performance and user experience when displaying video results. This parameter allows you to fine-tune the number of items shown in each batch of API responses.

# Example: Fetch 10 videos per page

curl "https://external.parone.io/v2/videos?page=1&pageSize=10"

Success Response

This call will return a JSON object that has a list of videos for your organization.

{
  "count": 2,
  "message": "200",
  "page" : 1,
  "pageSize" : 100,
  "data": [
    {
      "contentKey": "AbC123xYz",
      "createdDate": "2025-04-25T14:32:10.000Z",
      "publishedDate": "2025-04-26T08:00:00.000Z",
      "title": "Top 5 Drills to Improve Your Golf Swing",
      "description": "Learn quick drills from pro golfers to improve your consistency and distance on the course.",
      "duration": 180,
      "paroneCategories": ["Instruction", "Training"],
      "categories": ["Golf Tips", "Swing Drills"],
      "tags": ["beginner", "distance", "accuracy"],
      "events": ["Spring Training Series 2025"],
      "customFields": [
        { "difficulty": "beginner" },
        { "clubUsed": "driver" }
      ],
      "isLive": false,
      "thumbnail": "https://thumbnails.parone.io/AbC123xYz.jpg",
      "url": "https://cdn.parone.io/videos/AbC123xYz-1080p.mp4",
      "urlHLS": "https://cdn.parone.io/videos/AbC123xYz/master.m3u8"
    },
    {
      "contentKey": "XyZ789wVu",
      "createdDate": "2025-04-20T10:12:45.000Z",
      "publishedDate": "2025-04-22T07:00:00.000Z",
      "title": "Highlights: 2025 LIV Miami Invitational",
      "description": "Catch the best shots and biggest moments from the 2025 LIV Miami Invitational.",
      "duration": 420,
      "paroneCategories": ["Highlights"],
      "categories": ["Tournament Recap"],
      "tags": ["LIV", "Miami", "highlights"],
      "events": ["LIV Miami Invitational 2025"],
      "customFields": [
        { "eventType": "tournament" },
        { "featurePlayer": "Brooks Koepka" }
      ],
      "isLive": false,
      "thumbnail": "https://thumbnails.parone.io/XyZ789wVu.jpg",
      "url": "https://cdn.parone.io/videos/XyZ789wVu-1080p.mp4",
      "urlHLS": "https://cdn.parone.io/videos/XyZ789wVu/master.m3u8"
    }
  ]
}

Structure of the Returned Results

FieldValue
countThe total number of videos matching the query.
pageThe page number of results
pageSizeThe page size used to paginate.
contentKeyA unique identifier assigned to each video.
createdDateThe date and time when the video was first created in the system.
publishedDateThe date and time when the video was published and made available to users.
titleThe official title of the video.
descriptionA brief summary or overview of the video’s content.
durationThe total runtime of the video in seconds.
paroneCategoriesThe syndicated categories assigned to the video within the ParOne system.
categoriesKeywords or labels that help describe and categorize the video.
tagsKeywords or labels that the video has tagged
eventsAny relevant events associated with the video, such as tournaments or special broadcasts.
customFieldsA collection of additional metadata fields that may vary based on the organization’s needs.
isLiveIndicates whether the video is a live stream (true) or a pre-recorded video (false).
thumbnailThe URL of the video’s thumbnail image. See Image Optimization
urlThe direct URL to download the video file.
urlHLSThe HLS (HTTP Live Streaming) URL for adaptive streaming playback.