{"id":19839069,"url":"https://github.com/fedebertolini/ccmixter-js","last_synced_at":"2026-05-12T18:36:30.779Z","repository":{"id":15792579,"uuid":"78774647","full_name":"fedebertolini/ccmixter-js","owner":"fedebertolini","description":"NodeJS client for the ccmixter API","archived":false,"fork":false,"pushed_at":"2023-01-07T04:13:28.000Z","size":857,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-14T06:52:26.328Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fedebertolini.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-12T18:28:59.000Z","updated_at":"2021-05-09T07:47:55.000Z","dependencies_parsed_at":"2023-01-13T18:35:04.410Z","dependency_job_id":null,"html_url":"https://github.com/fedebertolini/ccmixter-js","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedebertolini%2Fccmixter-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedebertolini%2Fccmixter-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedebertolini%2Fccmixter-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedebertolini%2Fccmixter-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fedebertolini","download_url":"https://codeload.github.com/fedebertolini/ccmixter-js/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241209528,"owners_count":19927734,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T12:20:10.343Z","updated_at":"2026-05-12T18:36:29.412Z","avatar_url":"https://github.com/fedebertolini.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ccmixter-js\nThis is an unofficial NodeJS client of the [ccmixter](http://ccmixter.org/) API. This is a simplified and small client that does not cover all resources and parameters that the ccmixter api actually supports.\n\n## Installation\n\n```\nnpm install ccmixter-js --save\n```\n\nOr if you are using [yarn](https://yarnpkg.com/):\n```\nyarn add ccmixter-js\n```\n\n## Requiring\n```\nconst ccmixter = require('ccmixter-js');\n```\n\n## API client methods\n\n### Songs\nSearch ccmixter songs by a phrase, artist, license type  and/or tags. Supported parameters:\n\n- **searchPhrase** (string): search query term or phrase.\n- **tags** (array of strings): search by genre or instrumentation tag.\n- **user** (string): search by artist name or ccmixter username.\n- **license** (string): search by license type. Available options:\n -  `all` (default): all license types\n - `ccplus`: royalty free ccPlus\n - `ccplus_nostems`: royalty free ccPlus without stems\n - `open`: free for commercial user\n- **limit** (number): number of results to return, defaults to 10\n- **offset** (number): results offset, defaults to 0\n\nSample invocation:\n```\nccmixter.searchSongs({\n    searchPhrase: 'rock',\n    tags: ['female_vocals'],\n    limit: 2\n}).then(result =\u003e {\n    //do something\n});\n```\n\nSample result:\n```\n{\n  items:[\n    {\n      upload_id:'55393',\n      upload_name:'Long Line Blues',\n      upload_extra:[\n        Object\n      ],\n      upload_contest:'0',\n      user_name:'texasradiofish',\n      upload_tags:',media,remix,bpm_090_095,non_commercial,audio,mp3,44k,stereo,CBR,female_vocals,drums,guitar,bass,piano,synth_organ,synthesizer,funk,blues,rock,electronic,brass,trombone,galveston_county,texas,',\n      upload_num_scores:'7',\n      file_page_url:'http://ccmixter.org/files/texasradiofish/55393',\n      user_real_name:'texasradiofish',\n      artist_page_url:'http://ccmixter.org/people/texasradiofish',\n      license_logo_url:'http://ccmixter.org/ccskins/shared/images/lics/small-by-nc-3.png',\n      license_url:'http://creativecommons.org/licenses/by-nc/3.0/',\n      license_name:'Attribution Noncommercial  (3.0)',\n      upload_date_format:'Sat, Jan 14, 2017 @ 2:25 PM',\n      files:[\n        Object\n      ],\n      topic_format:0,\n      upload_description_plain:'Leza, Memphis, and Minnesota funkin\\' blues rock fusion\\r\\n\\r\\nGave up trying to figure out what chord progressions would well support Leza\\'s blues and victimized her vocal to fit a standard three chord blues: a 6,5,1 minor key blues (E, Eb and Abm).',\n      upload_description_html:'\u003cspan class=\"big\"\u003e\u003cspan class=\"blue\"\u003e\u003cspan class=\"b\"\u003eL\u003c/span\u003eeza, \u003cspan class=\"b\"\u003eM\u003c/span\u003eemphis, and \u003cspan class=\"b\"\u003eM\u003c/span\u003einnesota funkin\u0026#8217; blues rock fusion\u003c/span\u003e\u003cbr /\u003e\\r\\n\u003c/span\u003e\u003cbr /\u003e\\r\\nGave up trying to figure out what chord progressions would well support Leza\u0026#8217;s blues and victimized her vocal to fit a standard three chord blues: a 6,5,1 minor key blues (E, Eb and Abm).'\n    },\n    {\n      upload_id:'55278',\n      upload_name:'Scintillating Love',\n      upload_extra:[\n        Object\n      ],\n      upload_contest:'0',\n      user_name:'JeffSpeed68',\n      upload_tags:',media,remix,bpm_120_125,cczero,audio,mp3,48k,stereo,VBR,flac,female_vocals,rock,ambient,',\n      upload_num_scores:'8',\n      file_page_url:'http://ccmixter.org/files/JeffSpeed68/55278',\n      user_real_name:'Stefan Kartenberg',\n      artist_page_url:'http://ccmixter.org/people/JeffSpeed68',\n      license_logo_url:'http://i.creativecommons.org/l/zero/1.0/80x15.png',\n      license_url:'http://creativecommons.org/publicdomain/zero/1.0/',\n      license_name:'CC0 (CC Zero)',\n      upload_date_format:'Thu, Dec 22, 2016 @ 12:54 AM',\n      files:[\n        Object\n      ],\n      topic_format:0,\n      upload_description_plain:'lyrics and vocals by \"Asiansaints\"',\n      upload_description_html:'lyrics and vocals by \u0026#8220;Asiansaints\u0026#8221;'\n    }\n  ],\n  totalCount:1000\n}\n```\n\n### Artists\nSearch ccmixter artists by a phrase. This method has only one input parameter: a search query term.\n\nSample invocation:\n```\nccmixter.searchArtists('John').then(result =\u003e {\n    //do something\n});\n```\n\nSample result:\n```\n[\n  {\n    user_id:'128646',\n    user_name:'johnlangham',\n    user_real_name:'John Langham',\n    artist_page_url:'http://ccmixter.org/people/johnlangham',\n    user_avatar_url:'http://ccmixter.org/mixter-files/images/mixter-default.gif',\n    user_registered:'2017-01-11 12:32:42',\n    user_homepage:''\n  },\n  {\n    user_id:'128639',\n    user_name:'pascaljohn',\n    user_real_name:'Pascal John',\n    artist_page_url:'http://ccmixter.org/people/pascaljohn',\n    user_avatar_url:'http://ccmixter.org/mixter-files/images/mixter-default.gif',\n    user_registered:'2017-01-11 10:21:55',\n    user_homepage:''\n  },\n  {\n    user_id:'128608',\n    user_name:'JohnMoore_1963',\n    user_real_name:'JohnMoore_1963',\n    artist_page_url:'http://ccmixter.org/people/JohnMoore_1963',\n    user_avatar_url:'http://ccmixter.org/mixter-files/images/mixter-default.gif',\n    user_registered:'2017-01-11 04:10:32',\n    user_homepage:''\n  }\n]\n```\n\n### Genres\nGet all ccmixter genre tags.\n\nSample invocation:\n```\nccmixter.getGenres().then(result =\u003e {\n    //do something\n});\n```\n\nSample result:\n```\n[\n  {\n    name:'2_step',\n    songCount:32\n  },\n  {\n    name:'acid',\n    songCount:274\n  },\n  {\n    name:'acidhouse',\n    songCount:43\n  },\n  {\n    name:'acid_jazz',\n    songCount:70\n  },\n  {\n    name:'afrobeat',\n    songCount:9\n  }\n]\n```\n\n### Instrumentations\nGet all ccmixter instrumentation tags.\n\nSample invocation:\n```\nccmixter.getInstrumentations().then(result =\u003e {\n    //do something\n});\n```\n\nSample result:\n```\n[\n  {\n    name:'acoustic_piano',\n    songCount:4\n  },\n  {\n    name:'aep',\n    songCount:2\n  },\n  {\n    name:'akai',\n    songCount:4\n  },\n  {\n    name:'alto_saxophone',\n    songCount:31\n  },\n  {\n    name:'amiga',\n    songCount:1\n  }\n]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedebertolini%2Fccmixter-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffedebertolini%2Fccmixter-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedebertolini%2Fccmixter-js/lists"}