Skip to main content
POST
/
ws
/
1.1
/
track.lyrics.analysis.search
curl --request POST \ --url 'https://api.musixmatch.com/ws/1.1/track.lyrics.analysis.search?apikey=' \ --header 'Content-Type: application/json' \ --data ' { "data": { "meaning": "self empowerment and overcoming obstacles" } } '
{ "message": { "header": { "status_code": 200, "execute_time": 0.12, "available": 1500 }, "body": { "track_list": [ { "track": { "track_id": 12345678, "track_name": "Bohemian Rhapsody", "artist_name": "Queen", "album_name": "A Night at the Opera", "commontrack_id": 7654321, "first_release_date": "1975-10-31T00:00:00Z", "track_share_url": "https://www.musixmatch.com/lyrics/Queen/Bohemian-Rhapsody" }, "analysis": { "meaning": { "explanation": "A song about a young man confessing to murder and facing the consequences of his actions.", "description": "Generates a simple, short explanation of the lyrics' content." }, "themes": { "main_themes": [ { "theme": "guilt and redemption", "quotes": [ "Mama, just killed a man", "Is this the real life? Is this just fantasy?" ] } ], "description": "Extracts a list of the main themes covered by the song's lyrics." }, "moods": { "main_moods": [ "Angst", "Despair" ], "description": "Extracts a list of moods from the lyrics." }, "rating": { "audience": "PG-13", "descriptor": "Thematic elements of violence and death", "description": "Assigns a parental guide rating to the lyrics." }, "religion": { "has_references": false, "referenced_religions": [], "description": "Identifies references to religions within the lyrics." }, "entities": { "entity_list": [ { "entity_name": "Galileo", "categories": [ "People & Groups" ], "occurrences": 4 } ], "description": "Identifies and categorizes specific elements like names, locations, dates." }, "moderation": { "needs_moderation": false, "categories": [ { "category": "violence", "score": 0.15, "is_present": false } ], "description": "Identifies content categories that may require moderation." }, "explicitness": { "has_profanities": false, "description": "Examines a text to find offensive or inappropriate words." } } } ] } } }

Documentation Index

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

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

Search tracks by lyrics analysis criteria — moods, themes, meaning, entities, moderation, rating, and more. This endpoint enables analysis-driven discovery: find songs about specific topics, with certain moods, mentioning particular entities, or matching content safety criteria. Search parameters are passed in the request body under a data key, while pagination is controlled via query parameters. For detailed information about the analysis metadata returned in the response, please refer to the Analysis documentation.

Input Constraints

  • Maximum string length: 500 characters (meaning, themes[], genre[], entities[].name)
  • Maximum array size: 20 items (themes, entities, genre, moods, religions, moderation_categories)

Entities

The entities parameter accepts an array of objects. Each object must have at least one of name or category.
  • Fields within an object are AND-ed (e.g. name=Paris AND category=Geographical Locations)
  • Multiple objects are OR-ed (e.g. Paris OR London)

Available Moods

Love, Heartbreak, Joy, Empowerment, Angst, Reflection, Inspiration, Nostalgia, Despair, Celebration, Anger, Peace, Solitude, Adventure, Social Commentary, Hope, Spirituality, Freedom, Party, Nature

Rating Values

ValueDescription
GGeneral audiences
PGParental guidance suggested
PG-13Parents strongly cautioned (includes G and PG)
RRestricted (includes G, PG, and PG-13)
NC-17Adults only (includes all)
Rating is hierarchical — filtering by PG-13 returns tracks rated G, PG, and PG-13.

Entity Categories

People & Groups, Geographical Locations, Events & Periods, Cultural Works, Organizations & Institutions, Products & Brands, Concepts & Ideas, Diseases

Notes

  • The available count in the response header reflects total search engine hits. Actual items in track_list may be fewer, as tracks without analysis data or with metadata restrictions are skipped.
  • The analysis object in the response matches the structure of track.lyrics.analysis.get.

Authorizations

apikey
string
query
required

Query Parameters

page
integer

Page number (max 100).

Required range: 1 <= x <= 100
Example:

1

page_size
integer

Results per page (max 100).

Required range: 1 <= x <= 100
Example:

10

Body

application/json
data
object

Search parameters. At least one must be provided.

Response

200 - application/json

200 OK / 400 Bad Request / 401 Unauthorized / 403 Forbidden

message
object