Search the works
search_worksSearch IMSLP's library by title, composer, or words on a page to locate a specific work and its associated composer for retrieval.
Instructions
Search the works of IMSLP by title, by composer, or by words printed on their pages. Each row names the page of a work, which is how get_work and list_work_files address it: a title is written 'Work (Composer)', and the row splits it into the work and the person it names. IMSLP publishes no count of what a search matched, so 'total' is always null; 'has_more' and 'next_offset' say whether the library held more rows and where to read on from. A snippet is words taken from the page around the match. The library writes its pages in wikitext, so a snippet sometimes shows the name of a file rather than a sentence, and some rows carry none at all. The library titles a work in the language its composer used, so 'Die Zauberflöte' and not 'The Magic Flute', 'Sinfonia' and not 'Symphony'. A title translated into another language finds nothing, or finds only the works written about it: rows that look thin for a famous work are a sign the work sits under its original title, not that the library lacks it. Searching for a person by name finds the works naming them; search_people finds the person. When you show a result to a user, credit IMSLP and link the page.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Rows to serve, from 1 to 50. | |
| query | Yes | What to look for in the works of the library. Words are matched across the page, not only titles. | |
| offset | No | Rows to skip, using the 'next_offset' a previous answer named. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | ||
| notes | Yes | ||
| query | Yes | The search as it reached the library. | |
| total | Yes | Always null: IMSLP publishes no count of what a search matched. | |
| offset | Yes | ||
| source | Yes | ||
| license | Yes | ||
| results | Yes | ||
| has_more | Yes | True when the library named an offset to continue from. | |
| returned | Yes | ||
| next_offset | Yes | The offset to read on from, as the library named it. Null when it named none. |