When using the authorization header, a call to https://api.themoviedb.org/3/account works (falls back to default id?).
however, a call to https://api.themoviedb.org/3/account?api_key=*** (without authorization header) doesn't work.
Is this by design? any other differences in using the header instead of query parameter?
Can't find a movie or TV show? Login to create it.
Want to rate or add this item to a list?
Not a member?
Reply by Racusthor
on March 2, 2025 at 7:17 AM
does anyone know?
Reply by Victor Franco
on March 2, 2025 at 12:30 PM
Yes, this is intentional. The MovieDB API has different authentication levels:
1. Using the
api_key
in the URLThe
api_key
works for public requests, such as fetching movies or general information.It does not work for requests that require user authentication.
2. Using the Authorization Header (
Authorization: Bearer <token>
)Required for authenticated requests, like retrieving user-specific data (e.g.,
/account
).The API expects a user authentication token rather than just an API key.
3. Why does
/account
require authentication in the header?The
/account
endpoint returns user-specific data.An
api_key
alone is not enough because it does not identify a specific user.Instead, the API requires an OAuth 2.0 Access Token.
How to fix it?
The user must generate an OAuth 2.0 Access Token and include it in the request header:
This ensures the API knows which user account is making the request.