Serasa CPF score and Limpa Nome APIs
Serasa: Consulta CPF e Score is Serasa Experian's Brazil consumer-bureau app for CPF lookup, Serasa Score, Limpa Nome debt negotiation, credit monitoring, a Pix wallet and bills-to-pay, score lock/unlock, and Serasa Extract (the LGPD personal-data report). The Android home surfaces the score card, lock-unlock, debts to settle, credit-area offers, wallet/Pix keys, dark-web alerts and the extract request. It competes with Boa Vista SCPC, Quod and the score widgets inside Nubank, Itaú, Santander and Caixa apps for Brazilians who want a bureau score and a place to settle overdue debts without calling each creditor. Sign-in uses the CPF with a password or a stored biometric login, with optional remember-me.
Bureau score readings land in score as a numeric value with a status label, and the lock-status payload pairs that number with isPremium and autoLockUnlock, whose isLocked flag says whether the consumer has hidden the score from lenders. Limpa Nome debt offers carry offerId, contractHash, debtType, discountPercentage and discountValue; offer details add debtOrigin and companyInformation, and settled deals reappear as agreementId with agreementStatus. The bureau summary buckets negativatedDebts, bankruptcies, badChecks, protests and lawSuits, each debt keyed by contractNumber, occurrenceDate and value, and the whole report is stamped with an authenticityCode. CPF identity is cpf, ppid, birthDate and cellphone; wallet cash is balance.total beside Pix hasKeys and transactionsByMonth. Monitoring adds alertSend, the watched companies items and a dark-web status card, while the credit area mints a redirectUrl that hands the signed-in consumer to a partner checkout.
Collection desks, credit-marketplace partners, debt-settlement ERPs and identity-monitoring stacks consume these fields to pause underwriting on a locked score, reconcile instalments against creditor ledgers and flag new bureau or dark-web hits the same day. openData Studio turns them into callable open data.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Mint biometric login token
POST
/v1/consumer/auth/biometric-exchangeosintExchanges the CPF plus a stored biometricToken (or password) for the token, sessionToken and utToken used as Bearer credentials on later consumer calls.
Auth: Unauthenticated JSON body. The returned token, sessionToken and utToken become the Bearer credential on later consumer calls.
- cpf
- isRemember
- password
- biometricToken
- prefSe
- prefSe2
- event
- requestToken
- id
- otp
- token
- utToken
- validAt
- sessionToken
- persistentToken
- name
- cellphone
- loa
- status
- type
- needsReconfirm
- tokenEligible
- userData
POST /v1/consumer/auth/biometric-exchange HTTP/1.1 Content-Type: application/json { "cpf": "12345678901", "isRemember": true, "password": null, "biometricToken": "<biometric-token>", "prefSe": "android", "prefSe2": "9.100.1", "event": "login", "requestToken": "<request-token>" }{ "id": "usr-4412", "otp": false, "token": "<jwt>", "utToken": "ut_7c2a", "validAt": "2026-10-17T18:30:00Z", "sessionToken": "sess_aa11", "persistentToken": "pt_bb22", "cpf": "12345678901", "name": "Maria Silva", "email": "[email protected]", "cellphone": "11987654321", "loa": 2, "status": "ACTIVE", "type": "PF", "needsReconfirm": false, "tokenEligible": true, "userData": { "id": "usr-4412" } }Read signed-in session
GET
/v1/consumer/identity/currentosintReturns the signed-in identity (id, cpf, name, email, cellphone, birth_date) for the current token.
Auth: Bearer token from the sign-in exchange.
- id
- cellphone
- cpf
- name
- birth_date
- accepted_terms
- cellphone_verified_at
GET /v1/consumer/identity/current HTTP/1.1 Authorization: Bearer <access-token>{ "id": "usr-4412", "email": "[email protected]", "cellphone": "11987654321", "cpf": "12345678901", "name": "Maria Silva", "birth_date": "1990-03-12", "accepted_terms": "2026-01-15T12:00:00Z", "cellphone_verified_at": "2026-02-01T09:14:00Z" }Retrieve consumer profile
GET
/v1/consumer/identity/profileosintLoads the consumer profile after sign-in: identity (id, ppid, cpf, name, email, cellphone) plus loa, sessionId and the ewallet and bills-to-pay opt-in flags.
Auth: Bearer token from the sign-in exchange.
- id
- ppid
- cpf
- name
- firstName
- initials
- cellphone
- birthDate
- loa
- sessionId
- token
- transactionId
- billsToPayUserOptIn
- billsToPayDdaAuthorizePartner
- ewallet
- picture
- kba
- subscription
- settings
GET /v1/consumer/identity/profile HTTP/1.1 Authorization: Bearer <access-token>{ "id": "usr-4412", "ppid": "pp-10028441", "cpf": "12345678901", "name": "Maria Silva", "firstName": "Maria", "initials": "MS", "email": "[email protected]", "cellphone": "11987654321", "birthDate": "1990-03-12", "loa": 2, "sessionId": "sess_aa11", "token": "<jwt>", "transactionId": "txn-7c2a", "billsToPayUserOptIn": true, "billsToPayDdaAuthorizePartner": false, "ewallet": { "enabled": true } }Score lock-unlock resume
GET
/v1/consumer/score/lock-statusopenfinanceReturns the score-lock home: the score value with its status label, isPremium, autoLockUnlock.isLocked and the vipCard block.
Auth: Bearer token from the sign-in exchange.
- title
- isPremium
- score
- value
- status
- details
- autoLockUnlock
- isLocked
- icon
- description
- processingIcon
- processingDescription
- faqResume
- vipCard
GET /v1/consumer/score/lock-status HTTP/1.1 Authorization: Bearer <access-token>{ "title": "Serasa Score", "isPremium": false, "score": { "value": 734, "status": { "label": "GOOD" }, "details": { "model": "serasa-score" } }, "status": { "label": "UNLOCKED" }, "autoLockUnlock": { "icon": "lock", "isLocked": false, "description": "Score visivel para o mercado", "processingIcon": "hourglass", "processingDescription": "Atualizando" }, "faqResume": { "items": [] }, "vipCard": { "visible": false } }Wallet resume
GET
/v1/consumer/wallet/summaryopenbankingReads the in-app wallet home: balance.total and the saved creditCards.
Auth: Bearer token from the sign-in exchange.
- balance
- total
- creditCards
GET /v1/consumer/wallet/summary HTTP/1.1 Authorization: Bearer <access-token>{ "balance": { "total": 128.45 }, "creditCards": { "items": [ { "idCreditCard": "cc-4412", "brand": "mastercard" } ] } }List Pix keys
GET
/v1/consumer/wallet/pix-keysopenbankingLists the registered Pix keys as hasKeys plus each key's id and key value.
Auth: Bearer token from the sign-in exchange.
- hasKeys
- key
- id
GET /v1/consumer/wallet/pix-keys HTTP/1.1 Authorization: Bearer <access-token>{ "hasKeys": true, "key": { "id": "pix-7c2a", "key": "12345678901" } }Pix cash-in extract
GET
/v1/consumer/wallet/pix-ledgeropenbankingReturns the Pix cash-in ledger as transactionsByMonth plus the running balance.
Auth: Bearer token from the sign-in exchange.
- transactionsByMonth
- balance
GET /v1/consumer/wallet/pix-ledger HTTP/1.1 Authorization: Bearer <access-token>{ "balance": 128.45, "transactionsByMonth": [ { "month": "2026-10", "items": [ { "amount": 50.0, "type": "CASHIN" } ] } ] }List Limpa Nome debt offers
GET
/v1/consumer/debt-offersopenfinanceLists Limpa Nome offer rows with offerId, contractHash and the card's discountPercentage, discountValue and debtType.
Auth: Bearer token from the sign-in exchange. Optional query selects the offer context.
- message
- status
- data
- offers
- offerId
- contractHash
- card
- tags
- debtType
- offerType
- hasInstallments
- discountPercentage
- discountValue
- isCart
- isEligibleCart
- recommended
- footer
- consolidationCard
- cartDataOffersResponse
- otherOffersResponse
GET /v1/consumer/debt-offers HTTP/1.1 Authorization: Bearer <access-token>{ "message": "OK", "status": 200, "data": { "offers": [ { "offerId": "off-9c10", "contractHash": "ch_aa11", "card": { "tags": ["discount"], "debtType": "NEGATIVATED", "offerType": "INSTALLMENT", "hasInstallments": true, "discountPercentage": 40.0, "discountValue": 800.0, "isCart": false, "isEligibleCart": true } } ], "recommended": [], "footer": {}, "consolidationCard": {}, "cartDataOffersResponse": {}, "otherOffersResponse": {} } }Debt offer details
GET
/v1/consumer/debt-offers/{offerId}openfinanceLoads one debt offer by offerId: id, debtType, offerType, debtOrigin and the creditor's companyInformation (partner, title).
Auth: Bearer token from the sign-in exchange.
- message
- status
- data
- id
- header
- debtType
- offerType
- debtOrigin
- companyInformation
- title
- subtitle
- debtDisclaimer
- partner
- details
GET /v1/consumer/debt-offers/off-9c10 HTTP/1.1 Authorization: Bearer <access-token>{ "message": "OK", "status": 200, "data": { "id": "off-9c10", "header": "Negocie com o credor", "debtType": "NEGATIVATED", "offerType": "INSTALLMENT", "debtOrigin": "SPC", "companyInformation": { "title": "Loja Exemplo", "subtitle": "CNPJ 00.000.000/0001-00", "debtDisclaimer": "Valores sujeitos a atualizacao", "partner": "lno", "details": [] } } }List debt agreements
GET
/v1/consumer/debt-agreementsopenfinanceReturns agreement sections with agreementId, cartId, consolidationId and agreementStatus for settled Limpa Nome deals.
Auth: Bearer token from the sign-in exchange.
- message
- status
- data
- emptyState
- agreementList
- section
- title
- description
- list
- agreementId
- cartId
- consolidationId
- image
- agreementStatus
GET /v1/consumer/debt-agreements HTTP/1.1 Authorization: Bearer <access-token>{ "message": "OK", "status": 200, "data": { "emptyState": null, "agreementList": [ { "section": "ACTIVE", "title": "Acordos vigentes", "description": "Parcelas em dia", "list": [ { "agreementId": "agr-4412", "cartId": null, "consolidationId": null, "image": "https://cdn.example/partner.png", "description": "Loja Exemplo", "agreementStatus": "ACTIVE" } ] } ] } }Serasa Extract report
GET
/v1/consumer/reports/personal-dataopenfinanceLoads the personal-data report home: userBlocked, subscriberBox and the per-section cards.
Auth: Bearer token from the sign-in exchange.
- userBlocked
- cards
- subscriberBox
- error
- key
- icon
- title
- description
- observation
GET /v1/consumer/reports/personal-data HTTP/1.1 Authorization: Bearer <access-token>{ "userBlocked": false, "subscriberBox": { "visible": true }, "cards": [ { "error": false, "key": "debts", "icon": "alert", "title": "Dividas negativadas", "description": "2 ocorrencias", "observation": "Atualizado hoje" } ] }Bureau document resume
GET
/v1/consumer/reports/bureau-summaryopenfinanceReturns the bureau summary: authenticityCode plus negativatedDebts (companyName, contractNumber, occurrenceDate, value) alongside bankruptcies, badChecks, protests and lawSuits.
Auth: Bearer token from the sign-in exchange.
- subscription
- authenticityCode
- report
- generationDate
- negativatedDebts
- bankruptcies
- badChecks
- protests
- lawSuits
- companyName
- document
- debts
- availabilityDate
- date
- occurrenceDate
- value
- contractNumber
- source
GET /v1/consumer/reports/bureau-summary HTTP/1.1 Authorization: Bearer <access-token>{ "subscription": { "active": true }, "authenticityCode": "auth-7c2a", "report": { "generationDate": "2026-10-17T12:00:00Z", "negativatedDebts": { "items": [ { "companyName": "Loja Exemplo", "document": "00000000000100", "debts": [ { "availabilityDate": "2026-09-01", "date": "2026-08-15", "occurrenceDate": "2026-08-10", "value": 1999.9, "contractNumber": "CT-9981", "source": "SPC" } ] } ] }, "bankruptcies": {"items": []}, "badChecks": {"items": []}, "protests": {"items": []}, "lawSuits": {"items": []} } }Dark-web monitoring card
GET
/v1/consumer/monitoring/breach-watchosintLoads the premium dark-web watch screen: title, description, the status card (icon, title, description) and info.
Auth: Bearer token from the sign-in exchange.
- title
- description
- card
- icon
- info
GET /v1/consumer/monitoring/breach-watch HTTP/1.1 Authorization: Bearer <access-token>{ "title": "Monitoramento Dark Web", "description": "Seus dados na dark web", "card": { "icon": "shield", "title": "Nenhum vazamento novo", "description": "Ultima varredura hoje" }, "info": { "hint": "Adicione e-mail e celular" } }Monitoring alerts
GET
/v1/consumer/monitoring/alert-settingsosintReturns the CPF monitoring alert settings: alertSend, info and the monitored companies.
Auth: Bearer token from the sign-in exchange.
- alertSend
- info
- companies
GET /v1/consumer/monitoring/alert-settings HTTP/1.1 Authorization: Bearer <access-token>{ "alertSend": { "enabled": true }, "info": { "title": "Alertas do CPF" }, "companies": { "items": [ { "name": "Loja Exemplo", "document": "00000000000100" } ] } }Credit-area redirect token
GET
/v1/consumer/credit-offers/handoffopenfinanceMints a redirectUrl so the credit-area marketplace can hand the signed-in consumer to a partner checkout.
Auth: Bearer token from the sign-in exchange. Query carries the credit-area order identifier.
- redirectUrl
GET /v1/consumer/credit-offers/handoff?orderId=ord-8f21 HTTP/1.1 Authorization: Bearer <access-token>{ "data": { "redirectUrl": "https://credito.example/checkout?tok=rt_9c10" } }
Data categories
- CPF identity
- session tokens
- credit score
- score lock-unlock
- Limpa Nome offers
- debt agreements
- Pix keys
- wallet balance
- bureau extract
- negativated debts
- dark-web monitoring
- credit marketplace
Where teams use this data
Bureau score lock monitoring
A lender or collection desk polls score value, isPremium and autoLockUnlock.isLocked so underwriting pauses when the consumer has locked Serasa Score from the market.
Limpa Nome offer reconciliation
A debt-marketplace or ERP matches offerId, discountPercentage, discountValue, agreementId and agreementStatus against creditor ledgers so settled negativated debts drop the same day the instalment posts.
Pix wallet treasury
A payments ops bot reads WalletResponse.balance.total, PixKeysResponse.key and PixExtractResponse.transactionsByMonth to reconcile cash-in against Limpa Nome Pix checkout.
CPF leak and protest watch
An identity-risk stack joins MonitoringResponse.companies and DarkWebMonitoringResponse.card with SAFReportResponse.negativatedDebts, protests and contractNumber so a new bureau hit or dark-web card fires the same day.
Frequently asked questions
Which identity fields does a Serasa session return?
After CPF sign-in the identity payloads expose id, ppid, cpf, name, email, cellphone, birthDate, loa and sessionId, plus token / sessionToken / utToken for later calls.
What sits on a Limpa Nome debt offer?
Each offer row has offerId and contractHash; its card carries debtType, offerType, hasInstallments, discountPercentage, discountValue and cart eligibility. Details add companyInformation.partner and debtOrigin. Settled deals appear under agreementId and agreementStatus.
How is Serasa Score lock represented?
The lock-status payload returns the score value with its status label, isPremium and autoLockUnlock.isLocked, plus a vipCard block and faqResume items for the lock screen.
What does the bureau report include?
The personal-data report home returns keyed section cards (userBlocked, subscriberBox). The bureau summary adds authenticityCode and the buckets negativatedDebts, bankruptcies, badChecks, protests and lawSuits, each debt with contractNumber, occurrenceDate, value and source.
Apps similar to Serasa: Consulta CPF e Score
- SPC Consumidor — SPC Consumidor is SPC Brasil's official app: it shows a free SPC Score and whether the CPF has pending records on SPC Brasil's separate bureau file.
- Acordo Certo — Acordo Certo is Consumidor Positivo's debt-settlement app in the Equifax Boa Vista group: check a CPF for free, see which debts are hitting the score, and negotiate with partner banks in one login.
- Consumidor Positivo — Equifax BoaVista's Consumidor Positivo portal is the consumer side of the SCPC bureau, for a free CPF consult and a Score that uses Cadastro Positivo, debt history and time on credit.
- Quod — Quod is a Brazilian credit bureau whose Cadastro Positivo file yields a Quod Score from 300 to 1,000; consumers can check the score and registry for free after registering on Quod's consumer site.
- Nubank — Nubank's NuScore (0–1,000) rates card use, saving habits and indebtedness inside Nubank; the result does not change bureau scores such as Serasa's.
- Registrato — Registrato is Banco Central do Brasil's CPF report of active bank accounts, Pix keys and SCR debts; it lists credit relationships and does not produce a score.
Topics
- serasa api
- serasa score
- limpa nome
- cpf consulta
- pix wallet serasa
- serasa extract
- dark web monitoring
- negativated debts
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