curl -X POST https://api.finscreener.in/api/auth/login \
-H "Content-Type: application/json" \
-d '{"api_key": "fsk_your_api_key"}'
import requests
response = requests.post(
"https://api.finscreener.in/api/auth/login",
json={"api_key": "fsk_your_api_key"}
)
token = response.json()["token"]["access_token"]
const response = await fetch('https://api.finscreener.in/api/auth/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ api_key: 'fsk_your_api_key' })
});
const { token } = await response.json();
{
"success": true,
"message": "Login successful",
"user": {
"name": "John Doe",
"userId": "usr_1e6f3517748c4923b90e1f3422967661c",
"email": "john@example.com",
"is_admin": false,
"is_staff": false
},
"token": {
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "bearer"
}
}
{
"message": "Invalid API key"
}
Authentication
Login
Authenticate with API key and get access tokens
POST
/
api
/
auth
/
login
curl -X POST https://api.finscreener.in/api/auth/login \
-H "Content-Type: application/json" \
-d '{"api_key": "fsk_your_api_key"}'
import requests
response = requests.post(
"https://api.finscreener.in/api/auth/login",
json={"api_key": "fsk_your_api_key"}
)
token = response.json()["token"]["access_token"]
const response = await fetch('https://api.finscreener.in/api/auth/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ api_key: 'fsk_your_api_key' })
});
const { token } = await response.json();
{
"success": true,
"message": "Login successful",
"user": {
"name": "John Doe",
"userId": "usr_1e6f3517748c4923b90e1f3422967661c",
"email": "john@example.com",
"is_admin": false,
"is_staff": false
},
"token": {
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "bearer"
}
}
{
"message": "Invalid API key"
}
Authentication
The Developer API uses API key authentication only. You must first generate an API key from your Finscreener dashboard.string
required
Developer API key (format:
fsk_xxx). Generate one from your User Profile → Security settings.Email/password login is not supported for the Developer API. You must use an API key.
The API key itself is not a bearer token. Sending
Authorization: Bearer fsk_... to
any endpoint returns 401. Exchange it here first, then send the nested
token.access_token — there is no top-level access_token in this response.Response
boolean
Whether the exchange succeeded
string
Status message
object
object
curl -X POST https://api.finscreener.in/api/auth/login \
-H "Content-Type: application/json" \
-d '{"api_key": "fsk_your_api_key"}'
import requests
response = requests.post(
"https://api.finscreener.in/api/auth/login",
json={"api_key": "fsk_your_api_key"}
)
token = response.json()["token"]["access_token"]
const response = await fetch('https://api.finscreener.in/api/auth/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ api_key: 'fsk_your_api_key' })
});
const { token } = await response.json();
{
"success": true,
"message": "Login successful",
"user": {
"name": "John Doe",
"userId": "usr_1e6f3517748c4923b90e1f3422967661c",
"email": "john@example.com",
"is_admin": false,
"is_staff": false
},
"token": {
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "bearer"
}
}
{
"message": "Invalid API key"
}