Skip to content

Accepts a Webscrobbler native scrobble

POST
/api/webscrobbler
curl --request POST \
--url https://example.com/api/webscrobbler \
--header 'Content-Type: application/json' \
--data '{ "eventName": "scrobble", "time": 1, "data": { "song": { "controllerTabId": "example", "connector": { "id": "example", "js": "example", "label": "example" }, "parsed": { "artist": "example", "album": "example", "albumArtist": "example", "track": "example", "duration": 1, "trackArt": "example", "uniqueID": "example", "originUrl": "example", "isPodcast": true, "isPlaying": true, "currentTime": 1, "isScrobblingAllowed": true }, "processed": { "artist": "example", "album": "example", "albumArtist": "example", "track": "example", "duration": 1 }, "noRegex": { "artist": "example", "album": "example", "albumArtist": "example", "track": "example", "duration": 1 }, "flags": { "isScrobbled": true, "isCorrectedByUser": true, "isRegexEditedByUser": { "track": true, "artist": true, "album": true, "albumArtist": true }, "isAlbumFetched": true, "isValid": true, "isMarkedAsPlaying": true, "isSkipped": true, "isReplaying": true }, "metadata": { "label": "example", "startTimestamp": 1, "albumMbId": "example", "albumUrl": "example", "artistUrl": "example", "notificationId": "example", "trackArtUrl": "example", "trackUrl": "example", "userPlayCount": 1, "userloved": true }, "connectorLabel": "example" }, "songs": [ { "controllerTabId": "example", "connector": { "id": "example", "js": "example", "label": "example" }, "parsed": { "artist": "example", "album": "example", "albumArtist": "example", "track": "example", "duration": 1, "trackArt": "example", "uniqueID": "example", "originUrl": "example", "isPodcast": true, "isPlaying": true, "currentTime": 1, "isScrobblingAllowed": true }, "processed": { "artist": "example", "album": "example", "albumArtist": "example", "track": "example", "duration": 1 }, "noRegex": { "artist": "example", "album": "example", "albumArtist": "example", "track": "example", "duration": 1 }, "flags": { "isScrobbled": true, "isCorrectedByUser": true, "isRegexEditedByUser": { "track": true, "artist": true, "album": true, "albumArtist": true }, "isAlbumFetched": true, "isValid": true, "isMarkedAsPlaying": true, "isSkipped": true, "isReplaying": true }, "metadata": { "label": "example", "startTimestamp": 1, "albumMbId": "example", "albumUrl": "example", "artistUrl": "example", "notificationId": "example", "trackArtUrl": "example", "trackUrl": "example", "userPlayCount": 1, "userloved": true }, "connectorLabel": "example" } ], "currentlyPlaying": true } }'

Use the default path /api/webscrobbler for standard configs or append a suffix if using a slug EX /api/webscrobbler/mySlug

Media typeapplication/json
object
eventName
required
Any of:
string
Allowed values: scrobble paused resumedplaying nowplaying
time
integer
> 0 <= 9007199254740991
data
required
object
song
required
object
controllerTabId
required
Any of:
string
connector
required
object
id
required
string
js
required
string
label
required
string
parsed
required
object
artist
string | null
album
string | null
albumArtist
string | null
track
string | null
duration
Any of:
number
> 0
trackArt
string | null
uniqueID
string | null
originUrl
string | null
isPodcast
boolean | null
isPlaying
boolean | null
currentTime
number | null
isScrobblingAllowed
boolean | null
processed
required
object
artist
string | null
album
string | null
albumArtist
string | null
track
string | null
duration
Any of:
number
> 0
noRegex
required
object
artist
string | null
album
string | null
albumArtist
string | null
track
string | null
duration
Any of:
number
> 0
flags
required
object
isScrobbled
required
boolean
isCorrectedByUser
required
boolean
isRegexEditedByUser
required
object
track
required
boolean
artist
required
boolean
album
required
boolean
albumArtist
required
boolean
isAlbumFetched
required
boolean
isValid
required
boolean
isMarkedAsPlaying
required
boolean
isSkipped
required
boolean
isReplaying
required
boolean
key
additional properties
metadata
required
object
label
required
string
startTimestamp
required
integer
> 0 <= 9007199254740991
albumMbId
string
albumUrl
string
artistUrl
string
notificationId
string
trackArtUrl
string
trackUrl
string
userPlayCount
integer
>= -9007199254740991 <= 9007199254740991
userloved
boolean
key
additional properties
connectorLabel
string
songs
Array<object>
object
controllerTabId
required
Any of:
string
connector
required
object
id
required
string
js
required
string
label
required
string
parsed
required
object
artist
string | null
album
string | null
albumArtist
string | null
track
string | null
duration
Any of:
number
> 0
trackArt
string | null
uniqueID
string | null
originUrl
string | null
isPodcast
boolean | null
isPlaying
boolean | null
currentTime
number | null
isScrobblingAllowed
boolean | null
processed
required
object
artist
string | null
album
string | null
albumArtist
string | null
track
string | null
duration
Any of:
number
> 0
noRegex
required
object
artist
string | null
album
string | null
albumArtist
string | null
track
string | null
duration
Any of:
number
> 0
flags
required
object
isScrobbled
required
boolean
isCorrectedByUser
required
boolean
isRegexEditedByUser
required
object
track
required
boolean
artist
required
boolean
album
required
boolean
albumArtist
required
boolean
isAlbumFetched
required
boolean
isValid
required
boolean
isMarkedAsPlaying
required
boolean
isSkipped
required
boolean
isReplaying
required
boolean
key
additional properties
metadata
required
object
label
required
string
startTimestamp
required
integer
> 0 <= 9007199254740991
albumMbId
string
albumUrl
string
artistUrl
string
notificationId
string
trackArtUrl
string
trackUrl
string
userPlayCount
integer
>= -9007199254740991 <= 9007199254740991
userloved
boolean
key
additional properties
connectorLabel
string
currentlyPlaying
boolean

Success