Facio icon

Facio monthly-limit and PIX Inteligente data API

Facio · Lending 4.9 ★

Facio is the Android cash-credit client of Fácio Pagamentos Ltda, a São Paulo fintech at Rua Cláudio Soares 72, Conjunto 115, Pinheiros (CEP 05422-030), that advances a monthly limit into a Brazilian bank account after in-app signup and credit analysis. Borrowers start from a published ceiling of R$ 50, repay to reopen the same limit, and can stay on a single charge or move onto a multi-installment plan once parcelamento is unlocked; Open Finance bank linking (Nubank, Itaú, Bradesco, Santander, Inter, C6, Caixa, Banco do Brasil, PicPay, Mercado Pago and others), PIX Inteligente repayment, PIX and boleto charges, a Mastercard partnership tile, payroll-loan and salary-advance product entries, rate-explained screens and a referral track sit on the same client. Google Play lists a 4.9 rating across 539,903 reviews, ranks it among the top free Finance apps in Brazil, and shows 5M+ downloads; support is [email protected] and +55 11 4040-5513. It competes with other Brazilian short-term credit apps for urban consumers who need cash for an imprevisto.

Monthly revolving-limit rows publish availableLimit against usedLimit as totalLimit in BRL, with nextReviewDate after on-time repayment. Offer simulations stamp offerId with installmentCount, installmentAmount, monthlyRate and cetAnnual for a requested cash amount.

Open Finance consents carry consentId and institutionId; contracted cash lands via disbursementStatus into destinationAccount with pixEndToEndId. The open charge exposes pixCopyPaste and boletoBarcode on amountDue, while PIX Inteligente adds authorizationId and maxAmount, and a multi-installment book lists installmentDueDate and remainingBalance. Collections, treasury matching and CET comparison desks consume those fields; openData Studio turns them into callable open data.

Screenshots

  • Facio screenshot 1
  • Facio screenshot 2
  • Facio screenshot 3
  • Facio screenshot 4
  • Facio screenshot 5

API surface

Request/response examples are illustrative, reconstructed from the app's interface — not a live capture.

  • CPF OTP send

    POST /v1/auth/cpf/otp osint

    Sends a one-time code to the phone on file for cpf using channel before a session is minted.

    Auth: Unauthenticated. JSON body cpf and channel.

    • otpId
    • cpf
    • channel
    • ttlSec
    POST /v1/auth/cpf/otp HTTP/1.1
    Host: api.example.invalid
    Content-Type: application/json
    
    {
      "cpf": "12345678901",
      "channel": "sms"
    }
    {
      "otpId": "otp_7f21c9",
      "cpf": "12345678901",
      "channel": "sms",
      "ttlSec": 60
    }
  • CPF session

    POST /v1/auth/cpf/session osint

    Exchanges cpf, otpId and otpCode for accessToken, customerId and onboardingStatus used on later calls.

    Auth: Unauthenticated. JSON body cpf, otpId and otpCode. Returns accessToken for later Authorization headers.

    • accessToken
    • customerId
    • cpf
    • onboardingStatus
    POST /v1/auth/cpf/session HTTP/1.1
    Host: api.example.invalid
    Content-Type: application/json
    
    {
      "cpf": "12345678901",
      "otpId": "otp_7f21c9",
      "otpCode": "483920"
    }
    {
      "accessToken": "tok_demo_a91e2c",
      "customerId": "cus_1048821",
      "cpf": "12345678901",
      "onboardingStatus": "kyc_pending"
    }
  • KYC document submission

    POST /v1/kyc/submission opendata

    Uploads documentType, documentFrontUrl and selfieUrl for the credit-analysis KYC step and returns kycStatus plus livenessPassed.

    Auth: Bearer accessToken from /v1/auth/cpf/session.

    • kycId
    • customerId
    • documentType
    • documentFrontUrl
    • selfieUrl
    • kycStatus
    • livenessPassed
    POST /v1/kyc/submission HTTP/1.1
    Host: api.example.invalid
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "customerId": "cus_1048821",
      "documentType": "rg",
      "documentFrontUrl": "https://cdn.example.invalid/kyc/front.jpg",
      "selfieUrl": "https://cdn.example.invalid/kyc/selfie.jpg"
    }
    {
      "kycId": "kyc_33ab01",
      "customerId": "cus_1048821",
      "documentType": "rg",
      "kycStatus": "in_review",
      "livenessPassed": true
    }
  • Open Finance consent

    POST /v1/open-finance/consents openfinance

    Starts an Open Finance consent for institutionId and returns consentId, bankName, consentStatus and the bank redirectUrl.

    Auth: Bearer accessToken from /v1/auth/cpf/session.

    • consentId
    • institutionId
    • bankName
    • consentStatus
    • permissions
    • redirectUrl
    POST /v1/open-finance/consents HTTP/1.1
    Host: api.example.invalid
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "customerId": "cus_1048821",
      "institutionId": "60701190",
      "permissions": ["ACCOUNTS_READ", "CREDIT_CARDS_ACCOUNTS_READ"]
    }
    {
      "consentId": "urn:facio:consent:88c2",
      "institutionId": "60701190",
      "bankName": "Itaú",
      "consentStatus": "AWAITING_AUTHORISATION",
      "redirectUrl": "https://shared-consent-openfinance.facio.com.br/itaú"
    }
  • Monthly revolving limit

    GET /v1/credit/limit openfinance

    Reads the signed-in monthly revolving ceiling as availableLimit, usedLimit and totalLimit in BRL, plus nextReviewDate after on-time repayment.

    Auth: Bearer accessToken from /v1/auth/cpf/session.

    • customerId
    • availableLimit
    • usedLimit
    • totalLimit
    • currency
    • nextReviewDate
    GET /v1/credit/limit HTTP/1.1
    Host: api.example.invalid
    Authorization: Bearer <accessToken>
    {
      "customerId": "cus_1048821",
      "availableLimit": 50.00,
      "usedLimit": 0.00,
      "totalLimit": 50.00,
      "currency": "BRL",
      "nextReviewDate": "2026-11-18"
    }
  • Offer rate simulation

    POST /v1/offers/simulate openfinance

    Prices a cash offer: offerId, installmentCount, installmentAmount, monthlyRate, cetAnnual and totalPayable for requestedAmount.

    Auth: Bearer accessToken from /v1/auth/cpf/session.

    • offerId
    • requestedAmount
    • installmentCount
    • installmentAmount
    • monthlyRate
    • cetAnnual
    • totalPayable
    POST /v1/offers/simulate HTTP/1.1
    Host: api.example.invalid
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "customerId": "cus_1048821",
      "requestedAmount": 50.00,
      "installmentCount": 1
    }
    {
      "offerId": "off_9c41",
      "requestedAmount": 50.00,
      "installmentCount": 1,
      "installmentAmount": 57.80,
      "monthlyRate": 0.156,
      "cetAnnual": 4.92,
      "totalPayable": 57.80
    }
  • Contract credit offer

    POST /v1/offers/{offerId}/contract openfinance

    Contracts offerId into the borrower's bank account and returns contractId, disbursementStatus, destinationAccount and pixEndToEndId.

    Auth: Bearer accessToken from /v1/auth/cpf/session.

    • contractId
    • offerId
    • disbursementStatus
    • destinationIspb
    • destinationAccount
    • destinationBranch
    • pixEndToEndId
    POST /v1/offers/off_9c41/contract HTTP/1.1
    Host: api.example.invalid
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "offerId": "off_9c41",
      "destinationIspb": "60701190",
      "destinationAccount": "12345-6",
      "destinationBranch": "0001"
    }
    {
      "contractId": "ctr_5510",
      "offerId": "off_9c41",
      "disbursementStatus": "settled",
      "destinationIspb": "60701190",
      "destinationAccount": "12345-6",
      "pixEndToEndId": "E6070119020261019abc"
    }
  • Current bill

    GET /v1/bills/current openfinance

    Returns the open charge: amountDue, dueDate, pixCopyPaste, boletoBarcode and paymentStatus for the current contract.

    Auth: Bearer accessToken from /v1/auth/cpf/session.

    • billId
    • contractId
    • amountDue
    • dueDate
    • pixCopyPaste
    • boletoBarcode
    • paymentStatus
    GET /v1/bills/current HTTP/1.1
    Host: api.example.invalid
    Authorization: Bearer <accessToken>
    {
      "billId": "bil_2201",
      "contractId": "ctr_5510",
      "amountDue": 57.80,
      "dueDate": "2026-11-18",
      "pixCopyPaste": "00020126...BR.GOV.BCB.PIX",
      "boletoBarcode": "23793.38128 60000.000003 00000.000400 1 84450000005780",
      "paymentStatus": "waiting_payment"
    }
  • PIX Inteligente authorization

    POST /v1/payments/pix-inteligente openfinance

    Starts a PIX Inteligente debit authorisation for billId with maxAmount and recurrence, then returns authorizationId and authorizationStatus after the bank callback.

    Auth: Bearer accessToken from /v1/auth/cpf/session.

    • authorizationId
    • billId
    • pixKey
    • maxAmount
    • recurrence
    • authorizationStatus
    • callbackPath
    POST /v1/payments/pix-inteligente HTTP/1.1
    Host: api.example.invalid
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "customerId": "cus_1048821",
      "billId": "bil_2201",
      "maxAmount": 57.80,
      "recurrence": "monthly"
    }
    {
      "authorizationId": "pixint_4410",
      "billId": "bil_2201",
      "pixKey": "12345678901",
      "maxAmount": 57.80,
      "recurrence": "monthly",
      "authorizationStatus": "pending_bank",
      "callbackPath": "/pixInteligente/callback"
    }
  • Installment schedule

    GET /v1/installments openfinance

    Lists multi-installment rows for a contract: installmentNumber, installmentAmount, installmentDueDate, installmentStatus and remainingBalance.

    Auth: Bearer accessToken from /v1/auth/cpf/session.

    • contractId
    • installmentCount
    • remainingBalance
    • installmentNumber
    • installmentAmount
    • installmentDueDate
    • installmentStatus
    GET /v1/installments?contractId=ctr_5510 HTTP/1.1
    Host: api.example.invalid
    Authorization: Bearer <accessToken>
    {
      "contractId": "ctr_5510",
      "installmentCount": 3,
      "remainingBalance": 115.60,
      "items": [
        {
          "installmentNumber": 1,
          "installmentAmount": 57.80,
          "installmentDueDate": "2026-11-18",
          "installmentStatus": "paid"
        }
      ]
    }
  • Salary-advance signup

    POST /v1/advance/signup openfinance

    Opens a salary-advance application with requestedAmount and payday and returns advanceId plus advanceStatus after the employer/bank callback.

    Auth: Bearer accessToken from /v1/auth/cpf/session.

    • advanceId
    • customerId
    • requestedAmount
    • payday
    • advanceStatus
    • callbackPath
    POST /v1/advance/signup HTTP/1.1
    Host: api.example.invalid
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "customerId": "cus_1048821",
      "requestedAmount": 200.00,
      "payday": "2026-10-30"
    }
    {
      "advanceId": "adv_8821",
      "customerId": "cus_1048821",
      "requestedAmount": 200.00,
      "payday": "2026-10-30",
      "advanceStatus": "pending_employer",
      "callbackPath": "/advance/signup/callback"
    }
  • Referral code

    GET /v1/referrals opendata

    Returns the signed-in borrower's referralCode, referredCount and bonusAmount.

    Auth: Bearer accessToken from /v1/auth/cpf/session.

    • customerId
    • referralCode
    • referredCount
    • bonusAmount
    • currency
    GET /v1/referrals HTTP/1.1
    Host: api.example.invalid
    Authorization: Bearer <accessToken>
    {
      "customerId": "cus_1048821",
      "referralCode": "FACIO-ANA7",
      "referredCount": 2,
      "bonusAmount": 20.00,
      "currency": "BRL"
    }

Data categories

  • cpf sessions
  • kyc documents
  • open finance consents
  • revolving credit limits
  • priced credit offers
  • disbursements
  • pix and boleto bills
  • pix inteligente authorizations
  • installment schedules
  • salary advances
  • referrals

Where teams use this data

  • Revolving-limit monitors

    Collections dashboards poll availableLimit against usedLimit and nextReviewDate so a missed dueDate does not silently freeze the next cash advance.

  • PIX Inteligente and boleto matching

    Treasury bots match inbound PIX by pixCopyPaste / pixEndToEndId, boletoBarcode, or PIX Inteligente authorizationId to billId and flip paymentStatus, then reopen totalLimit.

  • Open Finance consent audit

    Compliance stacks store consentId, institutionId and consentStatus per customerId to show which bank link underpins the credit analysis.

  • Offer CET comparison

    Pricing desks archive offerId rows with monthlyRate, cetAnnual, installmentCount and totalPayable to compare single-charge versus multi-installment books.

Frequently asked questions

What identity does Facio bind a credit limit to?

A Brazilian CPF. The session returns customerId and cpf after the SMS code, then KYC attaches documentType, selfie liveness and kycStatus before the first availableLimit is granted.

How does repayment reopen the monthly ceiling?

The current bill carries amountDue, dueDate, pixCopyPaste and boletoBarcode. PIX Inteligente can attach an authorizationId with maxAmount and recurrence so the bank debits on the due date. When paymentStatus clears, usedLimit drops and availableLimit returns; nextReviewDate is the window the client uses to raise totalLimit after on-time cycles.

Does the surface include Open Finance bank links?

Yes. A consent row holds consentId, institutionId, bankName and consentStatus for the bank the borrower picks (Itaú, Nubank, Bradesco, Santander and the other brands on the link sheet) so credit analysis can read accounts the user authorised.

Single charge or installments?

The offer simulation returns installmentCount alongside installmentAmount, monthlyRate and cetAnnual. A one-period book is the default 30-day charge; a multi-installment contract then lists installmentNumber rows and remainingBalance. A separate salary-advance track carries advanceId, payday and advanceStatus.

Apps similar to Facio

  • Blipay — Blipay is a Brazilian salary-advance app that lets workers take up to R$1,000 of already-earned pay per month, receive it in minutes in a bank account of their choice, and repay on payday plus a fixed fee rather than compound interest.
  • Jeitto — Jeitto is a Brazilian banking correspondent whose app opens a personal credit limit from R$250 to R$3,000 over 3–24 months, with repayment by Pix or boleto.
  • RecargaPay — RecargaPay is a Banco Central–regulated Brazilian payment institution whose in-app personal loan starts at R$10, is available 24 hours, and after approval credits the amount via Pix to the RecargaPay account, with a short-term option beside instalments.
  • PicPay — PicPay's personal loan, when a pre-approved offer appears in the wallet, credits the amount to the PicPay account with the first instalment due in up to 45 days, and the same hub also lists payroll-deduction credit for carteira assinada workers.
  • SuperSim — SuperSim is a Brazilian online personal-loan provider that takes a CPF application in a few minutes and, when approved, sends the funds by Pix, including offers aimed at borrowers with negative bureau records.
  • Simplic — Simplic is a São Paulo banking correspondent, founded in 2014, for unsecured personal loans: after an online credit analysis the funds are deposited in the borrower's bank account, with advertised arrival in up to 48 hours.
  • Nubank — Nubank's unsecured empréstimo pessoal is contracted inside the Nubank app after an in-app simulation of amount, instalments and due date, and the same loan hub also offers consignado CLT with payroll deduction.
  • Serasa Crédito — Serasa Crédito is Serasa's credit marketplace where a CPF simulation returns personal-loan and card offers from partner lenders such as Jeitto and Simplic, so borrowers can compare terms before contracting.

Topics

  • Facio API
  • Facio availableLimit
  • Facio pixCopyPaste
  • Facio PIX Inteligente
  • Fácio Pagamentos Ltda data
  • Brazilian CPF credit limit
  • Facio installmentAmount
  • Facio Open Finance consentId
  • Facio boletoBarcode

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

Get a quote