rhythmverse.co APIrhythmverse.co ↗
Search and browse RhythmVerse song files by instrument, genre, artist, and difficulty. Returns charts, game formats, and difficulty ratings per instrument.
curl -X POST 'https://api.parse.bot/scraper/62112df8-7404-4bf6-8f5a-c989e7da94df/search_songfiles' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"page": "1",
"genre": "rock",
"query": "guitar",
"artist": "metallica",
"records": "5",
"sort_by": "update_date",
"instrument": "bass",
"sort_order": "ASC"
}'Search and filter rhythm game song files. Supports text search across song titles and artists, combined with instrument/genre/artist filters. Returns paginated results sorted by update date or other fields. Each result includes difficulty ratings per instrument, game format, and download page links. The instrument filter narrows to files that include a charted part for that instrument (e.g. guitar returns only songs with guitar charts). Difficulty values range from 0 (not charted) to 7 (devil-tier).
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (1-indexed). |
| genre | string | Filter by genre code. Use codes from get_filters genres list. |
| query | string | Text search query matching song titles and artists. When provided, the search/live endpoint is used. |
| artist | string | Filter by artist slug (lowercase, hyphenated, e.g. 'linkin-park'). Only works when query is not provided. |
| records | integer | Number of results per page (max 25). |
| sort_by | string | Field to sort by. Common values: update_date, release_date, downloads, title, artist. |
| instrument | string | Filter by instrument. Use codes from get_filters instruments list. |
| sort_order | string | Sort direction. |
{
"type": "object",
"fields": {
"page": "string",
"songs": "array of song objects with title, artist, album, genre, year, song_length, file_id, difficulties, diff_guitar, gameformat, author_name, download_page_url, etc.",
"returned": "integer",
"total_filtered": "integer"
},
"sample": {
"data": {
"page": "1",
"songs": [
{
"year": 2017,
"album": "Pete Cottrell",
"genre": "Rock",
"title": "Kit Guitar Song",
"artist": "Pete Cottrell",
"file_id": "fe7f069bbbd646e98658f096be93abe1",
"song_id": 107920,
"file_url": "https://rhythmverse.co/songfile/fe7f069bbbd646e98658f096be93abe1",
"diff_bass": "3",
"diff_keys": "0",
"downloads": 11,
"file_name": "Pete Cottrell - Kit Guitar Song (Rhythmverse) [jackcollieflower].zip",
"audio_type": "single",
"diff_drums": "4",
"file_notes": "**Guitar/Bass** Easy and Medium have Open Notes and +1 Fret.",
"gameformat": "ch",
"author_name": "jackcollieflower",
"diff_guitar": "3",
"diff_rhythm": "0",
"diff_vocals": null,
"song_length": 194,
"update_date": "2026-06-05 04:33:33",
"difficulties": {
"bass": {
"e": 1,
"h": 1,
"m": 1,
"x": 1,
"all": 1
},
"drums": {
"e": 1,
"h": 1,
"m": 1,
"x": 1,
"all": 1
},
"guitar": {
"e": 1,
"h": 1,
"m": 1,
"x": 1,
"all": 1
}
},
"release_date": "2026-06-05 04:31:05",
"diff_proguitar": null,
"author_shortname": "jackcollieflower",
"download_page_url": "https://rhythmverse.co/download/fe7f069bbbd646e98658f096be93abe1"
}
],
"returned": 3,
"total_filtered": 214
},
"status": "success"
}
}About the rhythmverse.co API
The RhythmVerse API gives developers access to the RhythmVerse song file catalog through 2 endpoints, covering chart metadata, per-instrument difficulty ratings, game formats, and genre/instrument filter codes. The search_songfiles endpoint accepts text queries alongside structured filters to return paginated song records, while get_filters provides the full set of valid filter codes required to drive those searches.
Searching Song Files
The search_songfiles endpoint accepts a combination of free-text and structured filters. The query parameter performs a text search across song titles and artists. When query is omitted, you can filter by artist slug (lowercase, hyphenated — e.g. linkin-park), genre code, or instrument code. Results are paginated via page and records (up to 25 per page), and sortable by fields including update_date, release_date, downloads, title, and artist. The response includes total_filtered and returned counts alongside the songs array.
Song Object Fields
Each entry in the songs array carries title, artist, album, genre, year, song_length, and file_id. Difficulty data is exposed both as a structured difficulties object (per-instrument ratings) and as a flat diff_guitar field for quick guitar-specific lookups. The gameformat field identifies which rhythm game format the chart targets — values correspond to the codes returned by get_filters.
Filter Codes via get_filters
The get_filters endpoint returns no inputs and produces a single response covering all filterable dimensions: genres, instruments, audio_types, gameformats, ratings, game_sources, and song_lengths. Every value is a code-to-display-name mapping. The codes from genres and instruments map directly to the genre and instrument parameters in search_songfiles. Calling get_filters first is the recommended pattern before building any filter UI or parameterized query.
- Build a chart browser filtered by instrument (e.g. drums, bass) and difficulty range for a specific rhythm game format
- Aggregate download counts sorted by
downloadsto surface the most popular song files in a given genre - Populate a genre or instrument dropdown using the code-to-name mappings from
get_filters - Query by artist slug to retrieve all available charts for a specific band or musician
- Track catalog freshness by sorting on
update_dateto detect recently added or modified song files - Cross-reference
gameformatcodes with a player's installed games to show only compatible charts
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does RhythmVerse offer an official developer API?+
What does the `difficulties` field in a song result contain, compared to `diff_guitar`?+
difficulties object contains per-instrument difficulty ratings for all instruments associated with a chart. The diff_guitar field is a flat shortcut exposing the guitar difficulty specifically. For multi-instrument analysis, use difficulties; for guitar-only filtering, diff_guitar is sufficient.Does the `artist` filter work alongside a text `query`?+
artist slug filter is only applied when query is not provided. When a query string is present, the endpoint switches to a text-search mode and the artist parameter is ignored. Structure your request to use one or the other depending on whether you need fuzzy text matching or exact artist-slug filtering.Can I retrieve individual song file details or download links through this API?+
file_id, title, artist, gameformat, and difficulties. Direct file retrieval or download URL resolution is not exposed. You can fork this API on Parse and revise it to add an endpoint that resolves individual song file records by file_id.What is the maximum number of results I can retrieve per page?+
records parameter caps at 25 results per page. Use the page parameter in combination with total_filtered from the response to paginate through a full result set.