list_writer_catalog
repertoire.bmi.comRetrieves a paginated writer or composer catalog from https://repertoire.bmi.com with work IDs, ISWCs, status, rights parties, performers, controls, contacts, and alternate titles.
Playground
Runs on Notte and spends your workspace credits — what comes back is the live response, not a sample.
What is list_writer_catalog?
Retrieves a paginated writer or composer catalog from https://repertoire.bmi.com with work IDs, ISWCs, status, rights parties, performers, controls, contacts, and alternate titles. It runs on Notte's browser infrastructure and returns structured JSON, so you can call it like any other API — pass writer_name, catalog_num, catalog_cae, catalog_part_id_sub, catalog_part_type, page, page_size, search_scope and get the result back without maintaining a scraper.
Response
{
"page": 0,
"works": [
{
"title": "<string>",
"writers": [
{
"name": "<string>",
"ipi_number": "<string>",
"affiliation": "<string>",
"catalog_identifiers": {}
}
],
"iswc_codes": [
"<string>"
],
"performers": [
"<string>"
],
"publishers": [
{
"name": "<string>",
"websites": [
"<string>"
],
"ipi_number": "<string>",
"affiliation": "<string>",
"phone_numbers": [
"<string>"
],
"email_addresses": [
"<string>"
],
"catalog_identifiers": {},
"mailing_address_lines": [
"<string>"
]
}
],
"bmi_work_id": "<string>",
"writer_control": [
{
"society": "<string>",
"percent_controlled": "<string>"
}
],
"publisher_notes": [
"<string>"
],
"alternate_titles": [
"<string>"
],
"society_controls": [
{
"society": "<string>",
"work_ids": [
"<string>"
],
"percent_controlled": "<string>"
}
],
"bmi_award_winning": true,
"publisher_control": [
{
"society": "<string>",
"percent_controlled": "<string>"
}
],
"reconciliation_note": "<string>",
"reconciliation_status": "<string>"
}
],
"writer": {
"name": "<string>",
"ipi_number": "<string>",
"affiliation": "<string>",
"catalog_cae": "<string>",
"catalog_num": "<string>",
"catalog_part_type": "<string>",
"total_work_titles": 0,
"catalog_part_id_sub": "<string>"
},
"page_size": 0,
"total_pages": 0,
"search_scope": "<string>",
"has_next_page": true,
"total_results": 0
}Call it
curl --location 'https://us-prod.notte.cc/functions/96f7a7a6-a3c4-47e6-b503-48982e196144/runs/start' \
--header 'x-notte-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data '{
"function_id": "96f7a7a6-a3c4-47e6-b503-48982e196144",
"variables": {
"writer_name": "URRY PHILIP EDEN JOEL",
"catalog_num": "epD%2f4W7QIR53FWWH5f0rkA%3d%3d",
"catalog_cae": "O3GZHCgB4J8GqHE%2fD060zw%3d%3d",
"catalog_part_id_sub": "YO0HedHMatLb45JzS23DVw%3d%3d",
"catalog_part_type": "WriterList",
"page": 1,
"page_size": 20,
"search_scope": "all"
}
}'Ask an agent
Paste this into Claude Code, Cursor or any MCP client to have an agent call this function for you.
Use the Anything API MCP server (https://anything.notte.cc/mcp). Call run(function_id="96f7a7a6-a3c4-47e6-b503-48982e196144") — the "list_writer_catalog" function, which retrieves a paginated writer or composer catalog from https://repertoire.bmi.com with work IDs, ISWCs, status, rights parties, performers, controls, contacts, and alternate titles.. It takes writer_name (str), catalog_num (str), catalog_cae (str), catalog_part_id_sub (str), catalog_part_type (str), page (int), page_size (int), search_scope (str). Return the result as structured JSON.