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.

The Anghami + OSN+ SDK is the official public API surface for the Anghami music catalog and OSN+ video library. It is built proto-first — every endpoint is generated from a single set of Protocol Buffer definitions, then projected into Go, TypeScript, Swift, Java (lite), Python, OpenAPI 3.1, and Postman collections. This documentation covers what the API does, how to authenticate, how the catalog is shaped, and how AI agents can discover and consume it without prior knowledge.

What you can build

  • Music apps — browse and stream the full Anghami catalog: songs, albums, artists, playlists, lyrics, charts, and editorial sections.
  • Video apps — browse and stream the OSN+ library: shows, seasons, episodes, and movies.
  • Cross-content experiences — uniquely surface the soundtrack of a show or the shows that feature a song through SoundtrackService.
  • Personal libraries — read a user’s liked songs, saved movies/shows, followed artists, and playback history.
  • Server-to-server integrations — programmatic access via API key for catalog browsing without user context.
  • AI agents — point any agent at this API and it can discover the OpenAPI spec, OAuth flow, and an llms.txt briefing automatically. See Agent Discovery.

What’s inside

AreaService
Music catalogMusicCatalogService
Video catalogVideoCatalogService
Search & browseDiscoveryService
Cross-contentSoundtrackService
PlaylistsPlaylistService
User libraryLibraryService
Stream acquisitionStreamingService (billable)
User profileUserService
OAuthAuthService
API key managementDeveloperService
A single bundled OpenAPI 3.1 spec covering every service is generated from the protos and lives at /api/anghami-sdk.openapi.yaml. Drop it into Postman, Insomnia, or any OpenAPI codegen — one file, every operation.

Design tenets

  • Proto-first. .proto files are the source of truth. Every client, doc, and HTTP handler is generated.
  • Cursor pagination everywhere. No offset/limit — see PaginationRequest.
  • Typed IDs. SongID, AlbumID, EpisodeID, etc. — never raw int64.
  • Stream acquisition is the billable event. No separate playback-reporting RPCs — AcquireMusicStream and AcquireVideoStream are the only events that count.
  • Agent-native. OpenAPI bundle, llms.txt, and a documented OAuth flow let any agent self-onboard.

Next steps