Skip to main content
GET
/
oauth
/
pin
/
{user_code}
Poll PIN code for the access token
curl --request GET \
  --url https://api.simkl.com/oauth/pin/{user_code} \
  --header 'User-Agent: <user-agent>' \
  --header 'simkl-api-key: <api-key>'
{ "result": "KO", "message": "Authorization pending" }

Documentation Index

Fetch the complete documentation index at: https://api.simkl.org/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

simkl-api-key
string
header
default:YOUR_CLIENT_ID
required

Optional alias for the client_id query parameter. Simkl accepts your client_id either as the simkl-api-key request header or as the ?client_id=… query parameter — pick one. The query-parameter form is preferred because it makes the request fully self-describing in URL form.

Headers

User-Agent
string
required

Descriptive identifier for your app, ideally name/version. Examples: PlexMediaServer/1.43.1.10540, kodi-simkl/0.9.2, MyApp/2.4.1 (https://myapp.com).

Path Parameters

user_code
string
required

Get this from previous step

Query Parameters

client_id
string
required

Your client_id from your Simkl developer settings. Required on every request.

app-name
string
required

Short, lowercase identifier for your app (e.g. plex-scrobbler, kodi-bridge). Helps Simkl identify which apps are using the API.

app-version
string
required

Your app's current version (e.g. 1.0, 2.4.1). Helps Simkl debug issues you report.

Response

200 - application/json

PIN poll result. The body shape depends on whether the user has entered the code yet.

One of two shapes — result: "OK" with access_token when complete, or result: "KO" with "Authorization pending" while waiting. (Polling an unknown / deleted user_code returns a fresh init response shape with a new user_code, same as GET /oauth/pin.)

result
string
Example:

"OK"

access_token
string