Accepts a Webscrobbler native scrobble
POST
/api/webscrobbler
const url = 'https://example.com/api/webscrobbler';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"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}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
time
integer
data
required
object
song
required
object
connector
required
object
id
required
string
js
required
string
label
required
string
parsed
required
processed
required
noRegex
required
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
albumMbId
string
albumUrl
string
artistUrl
string
notificationId
string
trackArtUrl
string
trackUrl
string
userPlayCount
integer
userloved
boolean
key
additional properties
connectorLabel
string
songs
Array<object>
object
connector
required
object
id
required
string
js
required
string
label
required
string
parsed
required
processed
required
noRegex
required
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
albumMbId
string
albumUrl
string
artistUrl
string
notificationId
string
trackArtUrl
string
trackUrl
string
userPlayCount
integer
userloved
boolean
key
additional properties
connectorLabel
string
currentlyPlaying
boolean
Responses
Section titled “Responses”Success