---
title: "Find a song by metadata and record a play if found"
method: POST
path: "/scrobble"
tags: ["Now Playing"]
---

# Find a song by metadata and record a play if found

`POST /scrobble`

Search for a song using text info and then record a play if found. This allows other sources to record play history to ampache

## Query parameters

- `song` string
- `artist` string
- `album` string
- `songmbid` string
- `artistmbid` string
- `albummbid` string
- `date` integer
- `client` string

## Request body

- ScrobbleRequest
  - `song` string, required
  - `artist` string, required
  - `album` string, required
  - `songmbid` string
  - `artistmbid` string
  - `albummbid` string
  - `date` integer
  - `client` string — Client/agent name recorded with the request.

## Response `200`

Recorded

- SuccessResponse
  - `success` string

## Other responses

- `400` — HTTP 400 Bad Request (errors 4705, 4710).
- `401` — HTTP 401 Unauthorized (error 4701).
- `403` — HTTP 403 Forbidden (errors 4700, 4703, 4742).
- `500` — HTTP 500 Internal Server Error (error 4702).

## Changes

- **2026-07-22** `e8e6b266ea29` — 8 info
  - api operation id `scrobble` was added
  - added optional request body
  - the `query` request parameter `album` became optional
  - the `query` request parameter `artist` became optional
  - …4 more
- **2026-07-17** `9abb9bf6d3bf` — 1 info
  - removed the non-success response with the status `400`
- **2026-06-25** `7ed7a764efd9` — 1 info
  - added the non-success response with the status `400`

[Change history](https://skmtc.dev/ampache/apis/ampache-rest-api/changes/scrobble/post.md)

---

[API](https://skmtc.dev/ampache/apis/ampache-rest-api.md) · [All operations](https://skmtc.dev/ampache/apis/ampache-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ampache/ampache-rest-api/revisions/f37b545b95d7/schema)
