Nalogi FL taxpayer cabinet data API
Налоги ФЛ is the Federal Tax Service of Russia's cabinet for individuals — the mobile counterpart of the taxpayer's personal account, reached with a Gosuslugi (ESIA) sign-in or an INN login. It is where Russians check what they owe and what they earned: the unified tax account, property and transport taxes, income certificates, deductions and appointments with the local inspectorate.
As a data source the cabinet exposes the signed-in taxpayer's ledger and identity. The unified account is described by ensBalance, ensArrears and overpayment; each outstanding row carries kbk, oktmo and uin; the profile card brings inn, snils and birthDate; and income certificates add employerInn and taxBase. Payroll and ERP bots reconcile those fields against posted payments, lenders hydrate KYC files from them, and refund desks route overpayments to registered accounts.
Налоги ФЛ is the Federal Tax Service of Russia's official mobile cabinet for individual taxpayers, signing in through Gosuslugi (ESIA) or an INN-and-password account. It serves Russia's working population — anyone paying income, property or transport tax — and surfaces the unified tax account (ENS) balance, arrears and upcoming payments, employer-issued 2-NDFL income certificates, cadastral property, registered bank accounts, tax deductions and inspector appointment slots. For integrators it is a first-party source of taxpayer identity, debt and income data: bookkeeping stacks reconcile accruals against posted payments, lenders pre-fill KYC files, and refund desks route overpayments to the accounts taxpayers already registered.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
OAuth token issue
POST
/v1/oauth/tokenopendataIssues the OAuth2 access and refresh tokens that the cabinet attaches as Bearer credentials to every later taxpayer, tax-account and appointment call.
Auth: OAuth2 client credentials for the mobile client (password or refresh_token grant). The returned access_token is attached as Authorization: Bearer on later cabinet calls; a CSRF token header rides with cookie sessions.
- access_token
- refresh_token
- tokenType
- grant_type
- client_id
POST /v1/oauth/token HTTP/1.1 Content-Type: application/x-www-form-urlencoded grant_type=password&client_id=mobile-client&username=770000000000&password=******{ "access_token": "eyJhbGciOiJSUzI1NiIs...", "refresh_token": "def50200...", "tokenType": "Bearer", "grant_type": "password" }Reconstructed from the app's sign-in and token-refresh flowField names mirror the session bootstrap model
Taxpayer personal info
GET
/v1/taxpayer/profileosintReturns the signed-in individual's taxpayer card — INN, SNILS, FIO, birth date, contacts and citizenship — that the Profile and personal-info screens render.
Auth: Bearer access token from the OAuth token call; optional CSRF token header.
- inn
- snils
- lastName
- firstName
- middleName
- patronymic
- fullName
- birthDate
- phone
- gender
- citizenship
- taxpayerId
- isReadOnly
- avatar
GET /v1/taxpayer/profile HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiIs... Accept: application/json{ "inn": "770000000000", "snils": "000-000-000 00", "lastName": "Иванов", "firstName": "Иван", "middleName": "Иванович", "patronymic": "Иванович", "fullName": "Иванов Иван Иванович", "birthDate": "1985-03-12", "email": "[email protected]", "phone": "+79001234567", "gender": "M", "citizenship": "RU", "taxpayerId": "fl-770000000000", "isReadOnly": false, "avatar": null }Reconstructed from the profile screen's render modelWire field names match the personal-info form
Taxpayer info v2
GET
/v1/account/overviewosintLoads the account envelope used after login to gate profile editing, the secret code-word flag and contact channels.
Auth: Bearer access token from the OAuth token call.
- inn
- kpp
- snils
- fullName
- phone
- codeWord
- isReadOnly
GET /v1/account/overview HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiIs... Accept: application/json{ "inn": "770000000000", "kpp": "", "snils": "000-000-000 00", "fullName": "Иванов Иван Иванович", "email": "[email protected]", "phone": "+79001234567", "codeWord": false, "isReadOnly": false }Reconstructed from the post-login bootstrap sequence
ENS unified tax account
GET
/v1/tax-account/summaryopenbankingReads the unified tax account (ENS) snapshot shown on the home Taxes screen — current balance, total accruals, overpayment and arrears.
Auth: Bearer access token from the OAuth token call.
- ensBalance
- accrualsAmountAll
- amountAll
- overpayment
- accrualAmount
- ensArrears
- snu
GET /v1/tax-account/summary HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiIs... Accept: application/json{ "ensBalance": 12540.50, "accrualsAmountAll": 18700.00, "amountAll": 18700.00, "overpayment": 0.00, "accrualAmount": 18700.00, "ensArrears": 6160.00, "snu": "7700" }Reconstructed from the home Taxes screen's data loadingAmount fields mirror the balance widget
ENS arrears v2
GET
/v1/tax-account/arrearsopenbankingLists outstanding unified-account arrears by tax type, KBK, OKTMO and UIN so the Debts screen can drive a payment document.
Auth: Bearer access token from the OAuth token call.
- arrears
- taxCode
- taxName
- kbk
- oktmo
- uin
- accrualAmount
- year
- ensArrears
GET /v1/tax-account/arrears HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiIs... Accept: application/json{ "arrears": [ { "taxCode": "2010201", "taxName": "Транспортный налог", "kbk": "18210604012021000110", "oktmo": "45348000", "uin": "18207725000000000001", "accrualAmount": 4200.00, "year": 2025 } ], "ensArrears": 6160.00 }Reconstructed from the Debts screen and its payment-document handoff
ENS tax claims
GET
/v1/tax-account/claimsopenfinanceReturns tax-authority claims posted against the unified account — the claim list the Payments and Claims screens page through.
Auth: Bearer access token from the OAuth token call.
- taxClaims
- snu
- kbk
- oktmo
- uin
- accrualAmount
- year
GET /v1/tax-account/claims HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiIs... Accept: application/json{ "taxClaims": [ { "snu": "7700", "kbk": "18210604012021000110", "oktmo": "45348000", "uin": "18207725000000000001", "accrualAmount": 4200.00, "year": 2025 } ] }Reconstructed from the Claims list pagination
ENS operation history
GET
/v1/tax-account/historyopenbankingPages the unified-account ledger of accruals and offsets that backs the account-history timeline.
Auth: Bearer access token from the OAuth token call.
- historyOperations
- kbk
- oktmo
- uin
- accrualAmount
- year
- taxName
GET /v1/tax-account/history HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiIs... Accept: application/json{ "historyOperations": [ { "kbk": "18210604012021000110", "oktmo": "45348000", "uin": "18207725000000000002", "accrualAmount": 4200.00, "year": 2025, "taxName": "Транспортный налог" } ] }Reconstructed from the account-history timeline and its filters
2-NDFL certificate list
GET
/v1/income/certificatesopendataLists employer-issued 2-NDFL income certificates by year, employer INN and tax base; a companion document endpoint serves the certificate PDF.
Auth: Bearer access token from the OAuth token call.
- year
- employerInn
- taxBase
- income
- declarationId
- certificate
GET /v1/income/certificates HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiIs... Accept: application/json{ "certificates": [ { "year": 2024, "employerInn": "7707083893", "taxBase": 980000.00, "income": 980000.00, "declarationId": "2ndfl-2024-01" } ] }Reconstructed from the Incomes screen's certificate list and download action
Taxpayer income data v2
GET
/v1/income/summaryopendataReturns the aggregated income record (salary, deposits, insurance taxes) that feeds the Incomes and progressive-tax formula screens.
Auth: Bearer access token from the OAuth token call.
- year
- income
- taxBase
- employerInn
- declarationId
GET /v1/income/summary HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiIs... Accept: application/json{ "year": 2024, "income": 980000.00, "taxBase": 980000.00, "employerInn": "7707083893", "declarationId": "inc-2024" }Reconstructed from the income aggregation shown across the Incomes screens
Russian bank accounts on file
GET
/v1/banking/accountsopenbankingLists the taxpayer's Russian ruble accounts registered with FNS (number, BIK, bank name, optional nickname) used for refunds and auto-payment.
Auth: Bearer access token from the OAuth token call.
- accountNumber
- bik
- bankName
- cardId
- pseudonym
GET /v1/banking/accounts HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiIs... Accept: application/json{ "accounts": [ { "accountNumber": "40817810100000000001", "bik": "044525225", "bankName": "ПАО Сбербанк", "cardId": "ba-001", "pseudonym": "Зарплатная" } ] }Reconstructed from the refund-account picker and its spreadsheet export
Property objects page
GET
/v1/property/objectsopendataPages cadastral property (flats, land, vehicles) bound to the taxpayer — the objects that drive property, land and transport tax accruals.
Auth: Bearer access token from the OAuth token call.
- propertyObjects
- objectType
- cadastralNumber
- cadastralCost
- address
- regionCode
- taxBase
GET /v1/property/objects HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiIs... Accept: application/json{ "propertyObjects": [ { "objectType": "FLAT", "cadastralNumber": "77:01:0001001:1001", "cadastralCost": 8500000.00, "address": "г. Москва, ул. Тверская, д. 1", "regionCode": "77", "taxBase": 8500000.00 } ] }Reconstructed from the My Property screen's paged object list
Inspector appointment slots
GET
/v1/appointments/slotsopendataReturns bookable inspector time slots for a chosen tax office and service; a separate booking call confirms the slot and a document endpoint serves the ticket PDF.
Auth: Bearer access token from the OAuth token call.
- appointmentNumber
- appointmentDate
- appointmentTime
- ifns
- torm
- serviceId
GET /v1/appointments/slots?office=7700&department=7701&serviceId=consult HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiIs... Accept: application/json{ "slots": [ { "appointmentNumber": "A-7700-20260929-14", "appointmentDate": "2026-10-03", "appointmentTime": "14:00", "ifns": "7700", "torm": "7701", "serviceId": "consult" } ] }Reconstructed from the appointment booking wizard's office/service/slot pickers
Tax deductions catalog
GET
/v1/deductionsopenfinanceLists social, property, IIS and charity deductions with remaining balance; simplified 3-NDFL filing hangs off the same catalog.
Auth: Bearer access token from the OAuth token call.
- deductionType
- deductionAmount
- remainder
- year
- declarationId
GET /v1/deductions HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiIs... Accept: application/json{ "deductions": [ { "deductionType": "PROPERTY", "deductionAmount": 260000.00, "remainder": 180000.00, "year": 2024, "declarationId": "3ndfl-2024" } ] }Reconstructed from the Deductions catalog and the simplified 3-NDFL flow
Administrative fines
GET
/v1/finesopendataReturns administrative-offense fines (protocol, decision date, amount, UIN) shown on the Fines screen, with a detail call for per-fine additional info.
Auth: Bearer access token from the OAuth token call.
- administrativeFines
- protocol
- decisionDate
- accrualAmount
- uin
- kbk
GET /v1/fines HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiIs... Accept: application/json{ "administrativeFines": [ { "protocol": "00АА000000", "decisionDate": "2026-02-11", "accrualAmount": 500.00, "uin": "18207725000000000999", "kbk": "18211601000010000140" } ] }Reconstructed from the Fines screen and its per-fine detail view
Data categories
- taxpayer profile
- unified tax account
- arrears
- tax claims
- income certificates
- bank accounts
- cadastral property
- tax deductions
- inspector appointments
- administrative fines
Where teams use this data
ENS arrears-to-ERP reconciliation
A bookkeeping bot pulls the unified-account snapshot for ensBalance and overpayment, then pages the arrears feed for per-tax kbk/oktmo/uin rows so an SME payroll stack can match FNS claims to posted payments without opening the cabinet.
Lending KYC from the taxpayer card
A lender hydrates INN, SNILS, FIO and birthDate from the taxpayer profile call plus cadastral objects (cadastralNumber, cadastralCost, address) as a first-party alternative to a paper 2-NDFL pack.
Income-certificate intake for mortgage files
A mortgage desk lists the income-certificate feed (year, employerInn, taxBase, income) and follows the companion PDF download to attach employer 2-NDFL certificates to a credit file.
Refund routing via registered bank accounts
A refunds desk reads the registered-accounts list for accountNumber, bik and bankName so overpayment returns land on the same ruble account the taxpayer already registered with FNS.
Frequently asked questions
How does Nalogi FL authenticate the taxpayer?
The client requests an OAuth2 access_token at POST /v1/oauth/token with a mobile client_id — password grant after INN login, or an ESIA/Gosuslugi brokered sign-in. Later cabinet calls send Authorization: Bearer plus an optional CSRF token header.
Which endpoint returns the unified tax-account balance?
GET /v1/tax-account/summary returns ensBalance, accrualsAmountAll, overpayment and ensArrears for the signed-in INN. GET /v1/tax-account/arrears then lists each outstanding row with taxCode, kbk, oktmo, uin and accrualAmount.
Can I list 2-NDFL certificates and property objects?
Yes. GET /v1/income/certificates returns year, employerInn, taxBase and income per certificate, and GET /v1/property/objects pages cadastralNumber, cadastralCost, address and objectType.
How are inspector appointments booked?
The appointments API resolves the tax office, department and service, then GET /v1/appointments/slots returns free times with appointmentDate and appointmentTime; a booking call confirms the slot and a document endpoint serves the ticket PDF.
Apps similar to Налоги ФЛ
- Мой налог — The Federal Tax Service's official app for self-employed workers on the professional income tax: it registers self-employed status, generates customer receipts and accrues the 4-6% tax without declarations.
- АУСН ФНС России — The FNS's official app for the automated simplified tax regime, under which the tax authority calculates the tax itself from bank and cash-register data instead of the taxpayer filing returns.
- Госуслуги — Russia's state-services portal app, whose official help section documents checking and paying personal tax debt by INN; Налоги ФЛ itself signs users in through the Gosuslugi (ESIA) account.
- Сбербанк Онлайн — Sberbank's banking app carries a dedicated FNS tax-payment service that finds and pays personal taxes by INN or document index without opening the taxpayer cabinet.
- Т-Банк — T-Bank promotes in-app tax payment for its customers and publishes guidance on how the unified tax account (ENS) changed the way Russians pay taxes.
- РосНалог — A third-party app listed among RuStore's alternatives that checks personal taxes and debts by INN or passport and routes the user to payment.
Topics
- Nalogi FL API
- FNS taxpayer cabinet
- ENS unified tax account
- 2-NDFL certificate list
- Russian tax arrears
- INN SNILS profile
- cadastral property objects
- inspector appointment slots
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use