Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.sdk.anghami.com/llms.txt

Use this file to discover all available pages before exploring further.

VideoCatalogService is the OSN+ side of the SDK. Read-only, idempotent, cacheable. Live linear TV is not included — the public SDK is video-on-demand only.

Entities

Show ── has ──> Season ── has ──> Episode
Movie (standalone)
A show response includes season summaries (so you can build a season selector without an extra request). A season response includes its paginated episode list.

Operations

RPCWhat it does
GetShowFetch a show by ShowID with season summaries.
GetSeasonFetch a season by SeasonID with paginated episodes.
GetEpisodeFetch an episode by EpisodeID.
GetMovieFetch a movie by MovieID.
BatchGetShowsUp to N shows in one call.
BatchGetSeasonsBatch seasons.
BatchGetEpisodesBatch episodes.
BatchGetMoviesBatch movies.

Authentication

Public catalog data is accessible with either an API key or an OAuth access token. Acquiring a stream for an episode or movie requires OAuth + the stream scope. See Streaming & Billing.

Batch patterns

When rendering a “browse” or “search” surface that returns mixed video items, fetch full details with the appropriate BatchGet*. As with music, batches succeed and fail per-item — see Errors / Batch errors.
const res = await video.batchGetEpisodes({
  episodeIds: episodeIds.map(value => ({ value })),
});

Season pagination

Long-running shows have many episodes. GetSeason paginates the episode list with the standard cursor scheme — provide page_token from the previous response to continue. See Pagination.

Localization

Show, season, episode, and movie titles and descriptions use Localized where multiple languages are available. Pick the value matching your client’s locale, falling back to a sensible default (typically en or the first available).