Parameters: q (required: at most 100 bytes and at least 2 characters once case, accents and spaces are folded), type (all default, channel, movie, series), category_id, offset, limit, sort_by, sort_order, fields, images. Matches the name, ignoring case, accents and repeated spaces, tabs or line breaks (musica finds Música, world cup finds World Cup).

Without sort_by (or with sort_by=relevance, capability search_relevance) results come by relevance: exact name, then names that start with the query, then names with a word that starts with it, then names that merely contain it; ties by name (natural order, a whole word before a longer one: Cup Final before Cupcake), then channel, movie, series, then the panel's order (example search-relevance.json). sort_by=name, added or rating sort as in the lists. relevance only applies to search; other endpoints ignore it.

{
  "query": "musica", "type": "all", "totals": { "channel": 1, "movie": 0, "series": 0 },
  "total": 1, "offset": 0, "limit": 50, "next_offset": null,
  "items": [ { "id": 150, "type": "channel", "num": 3, "name": "Música Clásica", "…": "…" } ]
}

Items have the shape of their list (live-channels, vod-movies, series). totals counts the matches of each type before pagination. Errors: invalid_parameter.