How to export your Last.fm scrobbles

Last.fm has no export button of its own. Make sure Hide recent listening information is switched off in Last.fm's privacy settings, then use a free export tool such as lastfm.ghan.nl/export to save your scrobbles as a CSV file, and upload that file to depth.fm. A long history takes a few minutes.

Last checked 2 October 2026. The export tools' file names, columns and error handling were read from their source code on 2 October 2026. The privacy setting, the data-request address and the placeholder dates for old scrobbles come from Last.fm's own pages and support forum. Not tested with an export from your account. Delivery time: A few minutes

What is a Last.fm export?

Each time you play a song with scrobbling switched on, Last.fm stores a scrobble: the artist, the track, the album and the time. An export is a file with one row per scrobble.

Last.fm doesn't have a download button. Its help page on backing up your scrobbles points to free tools run by other people. They read your history through Last.fm's public API, a page of 200 scrobbles at a time, and save it as a file.

How do I export it?

  1. Make sure your listening is visible

    Go to last.fm/settings/privacy and sign in. If Hide recent listening information is ticked, untick it and save. While it's ticked, the export tools see an empty account.

    You can tick it again once the export has finished.

  2. Open an export tool

    Use a computer if you can. The page has to stay open until the export finishes, and phones often pause pages in the background.

    Open lastfm.ghan.nl/export. It's one of the tools Last.fm's help page lists, and it tries a page up to five times if Last.fm returns an error.

  3. Enter your username, then pick Scrobbles and CSV

    Type your Last.fm username (not your email address) into Username. Set Type to Scrobbles and Format to CSV, then select Export.

    Scrobbles is your whole listening history. Loved tracks is only the songs you've loved, with no dates.

  4. Wait while it fetches your history

    A progress bar counts through the pages. Last.fm hands over 200 scrobbles per page, so 100,000 scrobbles is 500 pages. The tool's author says over 100,000 scrobbles generally takes a minute or two, but Last.fm is sometimes slower.

    When it's done, your browser saves the file.

  5. Upload the file

    The file is called recenttracks-yourname-1727800000.csv. The number is the time of your newest scrobble. Drop it on the upload page exactly as it is.

    Don't open it in Excel and save it first. That can change the dates and accented characters.

Other export tools

Both of these are listed on Last.fm's help page too, and depth.fm reads what they produce.

mainstream.ghan.nl/export.html is the older version of the tool above. Enter your username, choose Scrobbles under Select type and CSV under Select format, then select Go. Leave the Previous timestamp box empty, because a number there fetches only scrobbles newer than that time. The file is called scrobbles-yourname-1727800000.csv. If any page fails, it shows "Something went wrong" and saves nothing, so try again or use the newer tool.

benjaminbenben.com/lastfm-to-csv asks only for your username. Select Fetch tracks, wait for the status to say "finished", then select Save. The file is called yourname.csv. If the errors count is above 0, some pages were skipped and the file is missing those scrobbles. Run it again, and set a request delay under Extra Settings if errors keep appearing.

What's in the file?

The two ghan.nl tools write a header row and eight columns:

  • uts: the time of the scrobble in seconds since 1970, in UTC. This is the exact time.
  • utc_time: the same time written out to the minute, like 9 Jun 2008, 17:16.
  • artist, album and track.
  • artist_mbid, album_mbid and track_mbid: MusicBrainz IDs. They're often blank.

The newest scrobble is first. A song that's playing while you export has no time yet, and these tools leave it out.

lastfm-to-csv writes no header row and four columns: artist, album, track and the date written out to the minute in UTC.

The JSON option on the ghan.nl tools holds the same information, and depth.fm reads it too. depth.fm can't read the XML option.

The file doesn't say how long you listened, which app or device scrobbled the song, where you were, or whether you skipped. Last.fm says it has never permanently stored which player sent a scrobble.

What does depth.fm do with it?

depth.fm reads the file on its server and deletes the upload after 24 hours. It keeps the artist, album, track, time and MusicBrainz track ID of each scrobble.

Because Last.fm doesn't record listening time, every Last.fm play gets an estimate from the gap to your next scrobble (up to 7 minutes, otherwise 3.5 minutes). Your play counts are exact, and your hours are approximate.

Troubleshooting

The tool says it can't find me, or finds no tracks

Check three things. First, untick Hide recent listening information at last.fm/settings/privacy. Second, use your Last.fm username, the name in your profile address, not your email. Third, if you use lastfm-to-csv, turn off your ad blocker for the page, because its own error message says an ad blocker can cause this.

The tool says Something went wrong

Last.fm didn't answer one of the page requests, often because it's busy or is limiting how fast one person can ask. Wait a few minutes and try again, or use lastfm.ghan.nl/export, which retries failed pages.

The file has fewer scrobbles than my profile says

Some pages probably failed. With lastfm-to-csv, the errors count shows how many. Run the export again until it finishes with no errors, then compare the number of rows with the scrobble count on your profile.

depth.fm doesn't recognise my lastfm-to-csv file

lastfm-to-csv has no header row, so depth.fm recognises the file by a date at the end of the first line. If a song was playing while you exported, the first line is that song with no date. Pause your music, wait a minute, and export again. Or use one of the ghan.nl tools, which leave the playing song out.

Lots of plays on 13 February 2005

Scrobbles that Last.fm shows as "Unknown date", usually from very old accounts or early imports, are stored with a placeholder time of 13 February 2005, 10:20 UTC. Repeats of the same song get the next second along. They are real plays, but that isn't when you played them.

I saved the file as XML

depth.fm doesn't read the XML format. Export again and choose CSV (or JSON).

I'd rather not use a third-party tool

Email [email protected] with the words Data Request in the subject line, as Last.fm's privacy policy asks, and say you want a copy of your personal data including all your scrobbles. Last.fm says it replies within a month, or up to three for complicated requests, and may email you to check it's really you. Last.fm's help forum has also pointed people to Paramount's privacy rights form.

The format isn't published. One person said in 2025 they got "a database file with all my scrobbled and loved tracks". depth.fm may not be able to read it. If it can't, the upload page says what it found.

Questions people ask

Does Last.fm have an official export?

Not as a button. Last.fm's own help pages point to third-party export tools. You can also email [email protected] with Data Request in the subject line for a copy of your data. Last.fm says it replies within a month, or three for complicated requests, and doesn't publish the file format.

Are the export tools safe?

They read the same listening history your public profile shows, through Last.fm's public API, and never ask for your password. Last.fm's help pages list them, but they're independent sites, not run by Last.fm or depth.fm.

Which tool should I use?

Any of the three works. lastfm.ghan.nl/export retries pages that fail, which helps with big histories. mainstream.ghan.nl/export.html gives up if a page fails. benjaminbenben.com/lastfm-to-csv skips a failed page and shows an error count.

Why does depth.fm estimate listening time for Last.fm?

A scrobble records that you played a song and when, not for how long. depth.fm estimates each one from the gap to your next scrobble (up to 7 minutes, otherwise 3.5 minutes). Play counts are exact, hours are approximate.

I scrobble Spotify to Last.fm. Will my plays be counted twice?

depth.fm counts each service separately, so a listen can appear once under Spotify and once under Last.fm. Use the service filter at the top of the dashboard to look at one at a time.

Got your Last.fm export?

Upload it and see every stream since your first. It's free and private until you share it.

Upload your export