The SDK is one API surface across two catalogs — Anghami (music: songs, albums, artists, playlists, lyrics) and OSN+ (video: shows, seasons, episodes, movies). A single OAuth flow, a single API key, a single OpenAPI bundle.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.
Audience
- App developers integrating Anghami music or OSN+ video into their own client.
- Server-side integrators building catalog mirrors, recommendations, or analytics on top of Anghami data.
- AI agents consuming the catalog programmatically — the API is designed to be self-describing through OpenAPI and
llms.txt.
Service map
- Auth & Keys — how callers authenticate.
AuthServiceruns the OAuth + PKCE flow;DeveloperServicemanages API keys. - Catalog & Search — read-only browsing of the public catalog. Idempotent, cacheable, supports batch
Get*operations. - User & Library — operations bound to an authenticated user. Profile, liked songs/albums, saved movies/shows, followed artists, playback history, playlists.
- Streaming — the only service that produces a billable event.
AcquireMusicStreamandAcquireVideoStreamreturn time-limited stream URLs and DRM metadata.
Cross-content linking
The uniqueSoundtrackService bridges music and video — given a show or movie, list the songs in its soundtrack; given a song, list the shows or movies that feature it. This is what makes the combined Anghami + OSN+ catalog interesting.
Markets and localization
Many catalog endpoints accept amarket parameter. Content availability and editorial sections (charts, featured) vary by market. Display fields use Localized where multi-language strings exist.
What the SDK does not do
- No live channels. OSN+ live linear TV is out of scope for the public SDK.
- No playback reporting RPCs. The acquire is the billable event; you don’t ping us when playback starts/ends.
- No social graph. Followed artists yes; followed users no.
- No payments. Subscriptions and entitlements are managed outside the SDK.