Featured·

Tempus Metronome and GetSongBPM API

What BPM really means and how we integrated the GetSongBPM API into Tempus Metronome using Flutter to let users look up song tempos instantly.
Tempus Metronome and GetSongBPM API

Key Takeaways

GetSongBPM API returns tempo data in one call with no OAuth, allowing 3,000 requests per hour.
BPM data can be unreliable for live recordings, tempo changes, and double-time patterns.
Tempus Metronome auto-sets the beat from a song search, bridging BPM lookup and practice.

Understanding tempo is one of the fundamentals of music performance, practice, and DJing. In Tempus Metronome, we integrate directly with the GetSongBPM API, allowing users to look up a song, check its tempo, and instantly set the metronome to match. This article explains what BPM actually is, why it matters, where tempo data comes from, and how to integrate GetSongBPM into Flutter — all in one place.


What Is BPM?

BPM (Beats Per Minute) describes the tempo of a piece of music — how many beats occur in one minute. A slow ballad might be 60 BPM, a pop track 120 BPM, and fast electronic music can reach 150–180 BPM or more.

Consistent Timing
Keep a steady beat during practice and performance.
DJ Matching
Match tempos between tracks for seamless transitions.
Workout Playlists
Design workouts and running playlists by energy level.
Rhythmic Practice
Practice specific rhythmic patterns at precise tempos.
Song Analysis
Analyze energy and intensity in any track.

What BPM Can Tell You

Energy Level
Higher BPM generally means higher energy.
Genre Tendencies
Most genres cluster around specific BPM ranges.
Difficulty
Faster tempos demand more from the performer.
Training Structure
Plan warm-ups, drills, and cool-downs by tempo.

What to Watch Out For

BPM data is not always reliable. Watch out for tempo changes within a track, live recordings with natural drift, different remixes at different speeds, double-time / half-time feel that confuses detection, and incorrect crowd-sourced data.

Where Can You Search for BPM Data?

GetSongBPM
Dedicated BPM database with a simple REST API. Used by Tempus Metronome.
Spotify Audio Features
Rich audio analysis including tempo, key, and danceability via Spotify's API.
AudD / ACRCloud
Audio recognition services that identify songs and return metadata including BPM.
Manual Tap-Tempo
Tap along to the beat and calculate BPM manually — the most reliable fallback.
Tempus Metronome uses GetSongBPM for its simplicity and speed. One API call returns the tempo — no OAuth, no complex setup.

Getting Started with the GetSongBPM API

Register
Sign up at getsongbpm.com/api to get your API key. Free tier available.
Backlink Required
The API terms require a backlink to GetSongBPM in your app or website.
Rate Limit
3,000 requests per hour — more than enough for a metronome app.
API Key Security
Store your key in environment variables, never hardcode it in source code.

Environment Configuration

GETSONGBPM_API_KEY=your_api_key_here

For Flutter Web, pass the key at build time:

flutter build web --dart-define=GETSONGBPM_API_KEY=your_api_key_here

Flutter Integration Example

API Service

class GetSongBpmApi {
  final String baseUrl = "https://api.getsongbpm.com";
  final String apiKey = dotenv.env['GETSONGBPM_API_KEY']!;

  Future<List<dynamic>> searchSongs(String query) async {
    final url = Uri.parse(
      "$baseUrl/search/?api_key=$apiKey&type=multi&lookup=$query"
    );
    final response = await http.get(url);
    if (response.statusCode == 200) {
      final jsonResponse = jsonDecode(response.body);
      return jsonResponse['search'] ?? [];
    } else {
      throw Exception("Failed to load data");
    }
  }
}

Testing

1. Open the App
Launch Tempus Metronome on your device.
2. Tap Search
Open the song search interface.
3. Enter a Song
Type a song name or artist to query the GetSongBPM API.
4. BPM Applied
The metronome tempo is set automatically to match the song.

Need Help with This?

Building something similar or facing technical challenges? We've been there.

Let's talk — no sales pitch, just honest engineering advice.

Share this article

Mariusz Smenżyk
Mariusz Smenżyk

Technical Partner

Technical partner at MusicTech Lab with 15+ years in software development. Builder, problem solver, blues guitarist, long-distance swimmer, and cyclist.

Newsletter

Get music tech insights, case studies, and industry news delivered to your inbox.