Intuit Credit Karma data API
Intuit Credit Karma is Intuit's free US consumer-finance app for bureau credit scores, credit monitoring, and a marketplace of credit-card and personal-loan offers. After Intuit bought Credit Karma in 2020 the Android client (Play title Credit Karma) remains the front door: TransUnion and Equifax VantageScore 3.0 on the home dashboard, credit-factor and credit-change screens, a card and loan marketplace with prequalified and preapproved offers, CK Money checking and savings with an ATM map, a TurboTax handoff, identity-theft monitoring, and Karma Assistant. It competes with Experian, NerdWallet, LendingTree, WalletHub and Credit Sesame for US consumers who want free scores and a place to shop cards and loans without a paid credit-monitoring subscription. Sign-in is an Intuit identity account (email and password, passkey, or one-time code) with optional biometric unlock on the device.
TransUnion and Equifax VantageScore readings sit in score and updatedAtTimestamp, with per-bureau history as timestamp/value pairs and factor rows that carry utilizationPercentage, impact and type. Credit-health change rows add header, rating and snippet for the tradeline that moved. Intuit IDX linked accounts add accountURN, accountBalance.value and providerName, and the transaction page lists id, amount, merchant.name and category.name.
Recurring detections expose recurringId, merchantName, nextDate and isIncome; the bills calendar returns minAmountDue, paymentStatus and recurringID. Net-worth and cash-flow surfaces reuse those balances. Personal-loan tiles expose approvalOdds, apr, loanAmount and monthlyPayment; the preapproved shelf flags preapproved / prequalified with providerId. CK Money checking returns accountId, debit cardId and remote-deposit ckCheckDepositSessionId plus remaining depositLimits. Payoff-simulator rows add interestSaved and originalPayOffDate; a completed remote deposit returns receiptNumber and wallet push carries debit lastFour plus paymentNetwork. Lenders, PFM apps and offer-matching tools watch score deltas, reconcile card utilization, schedule bills and filter prequalified terms — openData Studio turns the same objects into callable open data.
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Mint Intuit access token
POST
/v1/identity/session-tokenosintExchanges the signed-in Intuit identity session for the short-lived accessToken used as the Bearer on later GraphQL calls.
Auth: Authorization: Bearer accessToken from the session-token call, plus intuit_tid / intuit_userid / intuit_deviceid.
- accessToken
- message
POST /v1/identity/session-token HTTP/1.1 intuit_tid: 7c2a9e1b-4d55-4a1e-9c10-aa11bb22cc33 intuit_deviceid: android-ck-8f21 Content-Type: application/json {"operationName": "SessionToken", "query": "query SessionToken($input: SessionTokenInput) { session { token(input: $input) { ... on SessionTokenSuccess { accessToken } ... on SessionError { message } } } }", "variables": {"input": {"offering": "consumer-mobile"}}}{"data": {"session": {"token": {"accessToken": "<access_token>"}}}}Credit hub scores
POST
/v1/credit/scoresopenfinanceLoads the Credit tab hub: per-bureau Equifax and TransUnion scores (score, rating, updatedAtTimestamp, delta) plus factor tiles.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- score
- rating
- updatedAtTimestamp
- delta
- factors
- title
- impact
- color
POST /v1/credit/scores HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "CreditScores", "query": "query CreditScores { creditHub { equifax { creditScore { score rating updatedAtTimestamp delta { value } } creditFactors { factors { title impact { text } color } } } transunion { creditScore { score rating updatedAtTimestamp } } } }"}{"data": {"creditHub": {"equifax": {"creditScore": {"score": 734, "rating": "Good", "updatedAtTimestamp": "2026-10-12T14:03:11Z", "delta": {"value": 6}}, "creditFactors": {"factors": [{"title": "Credit card use", "impact": {"text": "Low"}, "color": "GREEN"}]}}, "transunion": {"creditScore": {"score": 741, "rating": "Good", "updatedAtTimestamp": "2026-10-12T14:03:11Z"}}}}}Bureau score history
POST
/v1/credit/scores/historyopenfinanceReturns the Equifax and TransUnion score-over-time series (timestamp/value points) behind the simulator and history chart.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- bureau
- scores
- timestamp
- value
POST /v1/credit/scores/history HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "ScoreHistory", "query": "query ScoreHistory { creditHistory { equifax { bureau scores { timestamp value } } transunion { bureau scores { timestamp value } } } }"}{"data": {"creditHistory": {"equifax": {"bureau": "EQUIFAX", "scores": [{"timestamp": "2026-10-12T00:00:00Z", "value": 734}]}, "transunion": {"bureau": "TRANSUNION", "scores": [{"timestamp": "2026-10-12T00:00:00Z", "value": 741}]}}}}Pull latest bureau reports
POST
/v1/credit/reports/refreshopenfinanceTriggers a fresh Equifax and TransUnion report pull (per-bureau flags plus toastMessage) from the score refresh control.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- equifax
- transunion
- toastMessage
POST /v1/credit/reports/refresh HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "ReportRefresh", "query": "mutation ReportRefresh { credit { refreshReports { equifax transunion toastMessage } } }"}{"data": {"credit": {"refreshReports": {"equifax": true, "transunion": true, "toastMessage": "Your scores were updated."}}}}Credit factors
POST
/v1/credit/factorsopenfinanceReturns TransUnion credit-factor rows (utilization, payment history, age of credit) with type, value, impact, rating and contributing accountId list.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- displayName
- type
- value
- impact
- rating
- aggregateData
- accountId
POST /v1/credit/factors HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "CreditFactors", "query": "query CreditFactors { creditFactors { transunion { displayName type value impact rating aggregateData { type value } accounts { items { accountId } } } } }"}{"data": {"creditFactors": {"transunion": [{"displayName": "Credit card use", "type": "UTILIZATION", "value": "18%", "impact": "LOW", "rating": "GREAT", "aggregateData": {"type": "UTILIZATION", "value": "18"}, "accounts": {"items": [{"accountId": "tu-cc-4412"}]}}]}}}Credit-card account details
POST
/v1/credit/accounts/detailsopenbankingReads one tradeline from the Accounts overview: standing, open flag, category and utilizationPercentage for a bureau credit-card accountId.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- accountId
- accountStanding
- categoryType
- hasLimit
- isOpen
- utilizationPercentage
POST /v1/credit/accounts/details HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "AccountDetails", "query": "query AccountDetails($accountId: String!, $bureau: String!) { credit { accountDetails { creditCard(accountId: $accountId, bureau: $bureau) { accountId accountStanding categoryType hasLimit isOpen utilizationPercentage } } } }", "variables": {"accountId": "tu-cc-4412", "bureau": "TRANSUNION"}}{"data": {"credit": {"accountDetails": {"creditCard": {"accountId": "tu-cc-4412", "accountStanding": "OPEN_CURRENT", "categoryType": "CREDIT_CARD", "hasLimit": true, "isOpen": true, "utilizationPercentage": 18}}}}}Linked-account connections
POST
/v1/money/connectionsopenbankingLists aggregated bank connections (Plaid-style link) with providerName, masked accountNumberDisplay and accountBalance.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- connectionId
- lastRefreshTimeStamp
- providerId
- providerName
- accountURN
- accountName
- accountType
- accountSubType
- accountNumberDisplay
- accountBalance
- value
- asCurrencyString
POST /v1/money/connections HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "LinkedAccounts", "query": "query LinkedAccounts($input: ConnectionsInput) { money { connections(input: $input) { connections { connectionId lastRefreshTimeStamp providerMetadata { providerId providerName } accounts { accountURN accountName accountNumberDisplay accountBalance { value asCurrencyString } } } } } }", "variables": {"input": {}}}{"data": {"money": {"connections": {"connections": [{"connectionId": "idx-chase-19ab", "lastRefreshTimeStamp": "2026-10-14T08:11:02Z", "providerMetadata": {"providerId": "chase", "providerName": "Chase"}, "accounts": [{"accountURN": "urn:account:checking:4412", "accountName": "Total Checking", "accountNumberDisplay": "••••4412", "accountBalance": {"value": 2841.17, "asCurrencyString": "$2,841.17"}}]}]}}}}Transaction list
POST
/v1/money/transactionsopenbankingPages transaction rows for linked accounts: amount, merchant, category, status and accountURN, with cursor pageInfo.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- id
- date
- description
- status
- amount
- value
- asCurrencyString
- merchant
- name
- logoUrl
- category
- accountURN
- providerName
- endCursor
- hasNextPage
POST /v1/money/transactions HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "TransactionList", "query": "query TransactionList($dateCriteria: DateCriteriaInput, $input: TransactionListFiltersInput) { money { transactions(dateCriteria: $dateCriteria, input: $input) { transactions { id date description status amount { value asCurrencyString } merchant { name } category { name } account { name accountURN providerName } } pageInfo { endCursor hasNextPage } } } }", "variables": {"dateCriteria": {"startDate": "2026-09-01", "endDate": "2026-10-14"}, "input": {"accountUrns": ["urn:account:checking:4412"]}}}{"data": {"money": {"transactions": {"transactions": [{"id": "txn-9f3c", "date": "2026-10-11", "description": "WHOLEFDS MKT", "status": "POSTED", "amount": {"value": -54.22, "asCurrencyString": "-$54.22"}, "merchant": {"name": "Whole Foods Market"}, "category": {"name": "Food and drink"}, "account": {"name": "Total Checking", "accountURN": "urn:account:checking:4412", "providerName": "Chase"}}], "pageInfo": {"endCursor": "cursor-2", "hasNextPage": true}}}}}Cash-flow surface
POST
/v1/money/cash-flowopenbankingBuilds the Money cash-flow calendar (granularity, date range) from the same accountBalance snapshot as net worth.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- accountURN
- accountName
- accountBalance
- value
- asCurrencyString
- granularity
- startDate
- endDate
POST /v1/money/cash-flow HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "CashFlowSurface", "query": "query CashFlowSurface($input: CashFlowInput!) { money { cashFlow(input: $input) { connections { accountURN accountName accountBalance { value asCurrencyString } } } } }", "variables": {"input": {"granularity": "MONTH", "startDate": "2026-10-01", "endDate": "2026-10-31"}}}{"data": {"money": {"cashFlow": {"connections": [{"accountURN": "urn:account:checking:4412", "accountName": "Total Checking", "accountBalance": {"value": 2841.17, "asCurrencyString": "$2,841.17"}}]}}}}Net-worth snapshot
POST
/v1/money/net-worthopenfinanceLoads the net-worth layout (cards) or the welcome layout that mints an idxAuth token to start linking accounts.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- cards
- idxAuth
- token
POST /v1/money/net-worth HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "NetWorthPage", "query": "query NetWorthPage($input: NetWorthInput) { money { netWorth(input: $input) { ... on NetWorthLayout { cards { __typename } } ... on WelcomeLayout { idxAuth { token } } } } }", "variables": {"input": {}}}{"data": {"money": {"netWorth": {"cards": []}}}}Personal-loan grouped offers
POST
/v1/offers/personal-loansopendataReturns grouped personal-loan marketplace tiles with approvalOdds, apr, loanAmount, monthlyPayment and termInMonths.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- groupIdentifier
- features
- loanType
- lenderRating
- approvalOdds
- apr
- loanAmount
- monthlyPayment
- termInMonths
POST /v1/offers/personal-loans HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "GroupedLoanOffers", "query": "query GroupedLoanOffers($input: GroupedOffersInput!, $platform: Int!) { loans { groupedOffers(input: $input, platform: $platform) { groupedData { groupIdentifier offerData { attributes { features loanType } partnerDetails { lenderRating } terms { approvalOdds apr loanAmount monthlyPayment termInMonths } } } } }", "variables": {"input": {"loanPurpose": "DEBT_CONSOLIDATION"}, "platform": 1}}{"data": {"loans": {"groupedOffers": {"groupedData": [{"groupIdentifier": "prequalified", "offerData": [{"attributes": {"features": ["NO_ORIGINATION_FEE"], "loanType": "PERSONAL"}, "partnerDetails": {"lenderRating": 4.6}, "terms": {"approvalOdds": "VERY_GOOD", "apr": 11.49, "loanAmount": 12000, "monthlyPayment": 278.14, "termInMonths": 48}}]}]}}}}Borrowing power
POST
/v1/offers/borrowing-poweropenfinanceReads the borrowing-power estimate and its history series (timestamp, value) used to size loanAmount ranges in the marketplace.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- borrowingPowerHistories
- timestamp
- value
POST /v1/offers/borrowing-power HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "BorrowingPower", "query": "query BorrowingPower { loans { borrowingPower { borrowingPowerHistories { timestamp value } } } }"}{"data": {"loans": {"borrowingPower": {"borrowingPowerHistories": [{"timestamp": "2026-07-01T00:00:00Z", "value": 9800}, {"timestamp": "2026-10-01T00:00:00Z", "value": 12500}]}}}}Take credit-card offer
POST
/v1/offers/credit-cards/takeopendataStarts the credit-card take-offer handoff from a marketplace tile: destination contentId, partnerId, recommendationId.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- contentId
- partnerId
- recommendationId
- trackingEventId
- fallbackUrl
POST /v1/offers/credit-cards/take HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "TakeOffer", "query": "mutation TakeOffer($contentId: String!, $variantId: String, $badge: Int, $certainty: Int) { offers { takeCreditCard(contentId: $contentId, variantId: $variantId, badge: $badge, certainty: $certainty) { destination { contentId partnerId recommendationId trackingEventId fallbackUrl } } }", "variables": {"contentId": "cc-offer-8821", "variantId": "default", "badge": 1, "certainty": 2}}{"data": {"offers": {"takeCreditCard": {"destination": {"contentId": "cc-offer-8821", "partnerId": "chase-sapphire", "recommendationId": "rec-55c1", "trackingEventId": "te-901", "fallbackUrl": "https://partners.example.com/apply"}}}}}CK Money checking and savings hub
POST
/v1/money/hubopenbankingReads CK Money checking and savings profile state (open / closed / in-progress): checking accountId and physical/virtual debit cardId.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- accountId
- cardId
- closedDate
POST /v1/money/hub HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "MoneyHub", "query": "query MoneyHub($input: MoneyHubInput!) { money { savingsTab(intent: SAVINGS) { hub(input: $input) { accountProfile { checking { accountProfile { ... on OpenCheckingProfile { accountId newestPhysicalCard { cardId } newestVirtualCard { cardId } } ... on ClosedCheckingProfile { closedDate } } } savings { accountProfile { ... on OpenSavingsProfile { accountId } ... on ClosedSavingsProfile { closedDate } } } } } }", "variables": {"input": {}}}{"data": {"money": {"hub": {"accountProfile": {"checking": {"accountProfile": {"__typename": "OpenCheckingProfile", "accountId": "ck-chk-1044", "newestPhysicalCard": {"cardId": "dc-phys-12"}, "newestVirtualCard": {"cardId": "dc-virt-08"}}}, "savings": {"accountProfile": {"__typename": "OpenSavingsProfile", "accountId": "ck-sav-2201"}}}}}}}ATM locations by ZIP
POST
/v1/money/atms/locateopendataFinds surcharge-free CK Money ATMs near a ZIP (name, distanceInMiles, latitude, longitude); a sibling query accepts fromLatLong.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- name
- distanceInMiles
- latitude
- longitude
POST /v1/money/atms/locate HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "AtmLocations", "query": "query AtmLocations($radiusInMiles: Float!, $zipCode: String!) { money { checking { atms { fromZipCode(input: { zipCode: $zipCode, radiusInMiles: $radiusInMiles }) { atms { name distanceInMiles point { latitude longitude } } } } } }", "variables": {"zipCode": "94105", "radiusInMiles": 5.0}}{"data": {"money": {"atms": {"fromZipCode": {"atms": [{"name": "Allpoint — Ferry Building", "distanceInMiles": 0.4, "point": {"latitude": 37.7955, "longitude": -122.3937}}]}}}}}Credit-report change history
POST
/v1/credit/changesopenfinanceLists per-bureau credit-health timeline rows (header, rating, snippet) for Equifax and TransUnion.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- reportChanges
- changes
- insights
- header
- rating
- snippet
POST /v1/credit/changes HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "CreditChanges", "query": "query CreditChanges { creditHealth { changeHistory { equifax { reportChanges { changes { insights { header rating snippet } } } } transunion { reportChanges { changes { insights { header rating snippet } } } } } }"}{"data": {"creditHealth": {"changeHistory": {"equifax": {"reportChanges": [{"changes": [{"insights": {"header": "New credit-card account", "rating": "NEUTRAL", "snippet": "A Chase Freedom Unlimited account was added."}}]}]}, "transunion": {"reportChanges": [{"changes": [{"insights": {"header": "Utilization dropped", "rating": "POSITIVE", "snippet": "Credit-card use fell from 31% to 18%."}}]}]}}}}}Bills calendar
POST
/v1/money/billsopenbankingLoads the Money bills calendar (minAmountDue, paymentStatus, recurringID, nested transaction merchant) for a date window.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- frequency
- periodText
- minAmountDue
- value
- asCurrencyString
- paymentStatus
- recurringID
- id
- date
- description
- merchant
POST /v1/money/bills HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "BillsCalendar", "query": "query BillsCalendar($input: BillsInput!) { money { billsCalendar(input: $input) { bills { frequency { periodText } minAmountDue { value } paymentStatus recurringID transaction { id date description amount { value } merchant { name } } } } } }", "variables": {"input": {"startDate": "2026-10-01", "endDate": "2026-10-31"}}}{"data": {"money": {"billsCalendar": {"bills": [{"frequency": {"periodText": "Monthly"}, "minAmountDue": {"value": 128.4, "asCurrencyString": "$128.40"}, "paymentStatus": "UNPAID", "recurringID": "rec-visa-19", "transaction": {"id": "txn-bill-19", "date": "2026-10-22", "description": "CHASE CREDIT CRD", "amount": {"value": -128.4, "asCurrencyString": "-$128.40"}, "merchant": {"name": "Chase"}}}]}}}}Recurring transactions
POST
/v1/money/recurringopenbankingReturns recurring-transaction rows detected on linked accounts: merchantName, amount, periodText, nextDate, isIncome, typeEnum.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- recurringId
- merchantName
- amount
- value
- asCurrencyString
- periodText
- dueDateText
- isIncome
- nextDate
- typeEnum
- isNewRecurringTransaction
POST /v1/money/recurring HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "RecurringTransactions", "query": "query RecurringTransactions { money { recurringTransactions { items { amount { value } categoryId { name } merchantDetails { merchantName } period { periodText } recurringId recurringTransactionDetails { dueDateText isIncome nextDate } recurringTransactionType { displayText typeEnum } } } } }"}{"data": {"money": {"recurringTransactions": {"items": [{"amount": {"value": -14.99, "asCurrencyString": "-$14.99"}, "categoryId": {"id": "subscriptions", "name": "Subscriptions"}, "isNewRecurringTransaction": false, "merchantDetails": {"merchantName": "Netflix"}, "period": {"periodText": "Monthly"}, "recurringId": "rec-nflx-02", "recurringTransactionDetails": {"dueDateText": "Due Oct 18", "isIncome": false, "nextDate": "2026-10-18"}, "recurringTransactionType": {"displayText": "Subscription", "typeEnum": "SUBSCRIPTION"}}]}}}}Start mobile check deposit
POST
/v1/money/check-deposits/startopenbankingOpens a CK Money remote-deposit session: destination accountId, availableBalance, remaining/total depositLimits, ckCheckDepositSessionId.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- accountId
- accountNumberLast4
- availableBalance
- value
- asCurrencyString
- name
- productId
- ckCheckDepositSessionId
- depositLimitPeriod
- remaining
- total
- miSnapLicense
POST /v1/money/check-deposits/start HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "StartCheckDeposit", "query": "mutation StartCheckDeposit($input: StartCheckDepositInput!) { money { checking { startCheckDeposit(input: $input) { accounts { accountId accountNumberLast4 availableBalance { value } name productId } ckCheckDepositSessionId depositLimits { depositLimitPeriod remaining { value } total { value } } miSnapLicense } } } }", "variables": {"input": {"accountId": "ck-chk-1044"}}}{"data": {"money": {"startCheckDeposit": {"accounts": [{"accountId": "ck-chk-1044", "accountNumberLast4": "1044", "availableBalance": {"value": 2841.17}, "productId": "CHECKING"}], "ckCheckDepositSessionId": "cds-7e21", "depositLimits": {"depositLimitPeriod": "DAILY", "remaining": {"value": 1500.0, "asCurrencyString": "$1,500.00"}, "total": {"value": 2000.0, "asCurrencyString": "$2,000.00"}}, "miSnapLicense": "<sdk-license>"}}}}Preapproved offer shelf
POST
/v1/offers/preapprovedopendataLoads the My Preapproved shelf: category rows with amount, monthlyPayment, preapproved/prequalified flags, providerId, approval-odds level.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- categoryKey
- title
- id
- amount
- monthlyPayment
- preapproved
- prequalified
- providerId
- level
POST /v1/offers/preapproved HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "PreapprovedShelf", "query": "query PreapprovedShelf { offers { preapprovedScreen { sections { categoryKey title recommendations { id amount monthlyPayment preapproved prequalified providerId approvalOdds { level } } } } }"}{"data": {"offers": {"preapprovedScreen": {"sections": [{"categoryKey": "CREDIT_CARDS", "title": "Preapproved cards", "recommendations": [{"id": "rec-cc-8821", "amount": "$5,000", "monthlyPayment": null, "preapproved": true, "prequalified": false, "providerId": "chase-sapphire", "approvalOdds": {"level": "EXCELLENT"}}]}]}}}}Mint Plaid public token
POST
/v1/money/connections/tokenopenbankingMints a Plaid-style publicToken for an existing connection itemId to re-enter Link or refresh a bank connection.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- token
- code
- message
POST /v1/money/connections/token HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "PublicToken", "query": "mutation PublicToken($itemId: String!) { money { connectionToken(input: { itemId: $itemId }) { error { code message } token } } }", "variables": {"itemId": "item-chase-19ab"}}{"data": {"money": {"connectionToken": {"error": null, "token": "<public_token>"}}}}Credit-health action cards
POST
/v1/credit/actionsopenfinanceLoads credit-health coaching cards (id, lockVersion) for a LocationTaxonomy slot such as the Credit hub.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- id
- lockVersion
- actionCards
- labelText
- location
POST /v1/credit/actions HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "CreditActions", "query": "query CreditActions($location: LocationTaxonomy) { creditHealth { actions { actionCards(location: $location) { id lockVersion } labelText(location: $location) { text } } } }", "variables": {"location": "CREDIT_HUB"}}{"data": {"creditHealth": {"actions": {"actionCards": [{"__typename": "ActionCardSimple", "id": "pay-down-util-12", "lockVersion": 3}], "labelText": {"text": "Recommended actions"}}}}}Tradeline payoff simulator
POST
/v1/credit/simulations/payoffopenfinanceRuns the payoff simulator for a bureau tradeline: interestSaved, originalPayOffDate and originalTotalCost versus an extra-payment plan.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- interestSaved
- originalPayOffDate
- originalTotalCost
- accountId
POST /v1/credit/simulations/payoff HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "PayoffSimulation", "query": "query PayoffSimulation($input: PayoffSimulationInput) { credit { payoffSimulation(input: $input) { simulationData { interestSaved originalPayOffDate originalTotalCost } } } }", "variables": {"input": {"accountId": "tu-cc-4412", "extraPaymentAmount": 50}}}{"data": {"credit": {"payoffSimulation": {"simulationData": {"interestSaved": 412.18, "originalPayOffDate": "2029-08-01", "originalTotalCost": 3180.44}}}}}Complete mobile check deposit
POST
/v1/money/check-deposits/completeopenbankingSubmits captured check images for a CK Money remote-deposit session and returns id, receiptNumber and transactionDateTime.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- id
- receiptNumber
- transactionDateTime
- ckCheckDepositSessionId
POST /v1/money/check-deposits/complete HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "CompleteCheckDeposit", "query": "mutation CompleteCheckDeposit($input: CompleteCheckDepositInput!) { money { checking { completeCheckDeposit(input: $input) { id receiptNumber transactionDateTime } } } }", "variables": {"input": {"ckCheckDepositSessionId": "cds-7e21", "accountId": "ck-chk-1044", "amount": {"value": 250.0}}}}{"data": {"money": {"completeCheckDeposit": {"id": "dep-4412", "receiptNumber": "RCPT-908821", "transactionDateTime": "2026-10-15T16:04:22Z"}}}}Issue debit-card wallet provisioning data
POST
/v1/money/cards/wallet-provisioningopenbankingIssues CK Money debit-card material for Google Pay / digital-wallet push: lastFour, paymentNetwork, lockType, accountLocator.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- accountLocator
- type
- value
- id
- lastFour
- lockType
- firstName
- lastName
- paymentNetwork
POST /v1/money/cards/wallet-provisioning HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "WalletProvisioningData", "query": "mutation WalletProvisioningData { money { checking { walletProvisioningData { accountLocator { type value } digitalDebitCard { id lastFour lockType } firstName lastName paymentNetwork } } } }"}{"data": {"money": {"walletProvisioningData": {"accountLocator": {"type": "ACCOUNT_ID", "value": "ck-chk-1044"}, "digitalDebitCard": {"id": "dc-virt-08", "lastFour": "4412", "lockType": "UNLOCKED"}, "firstName": "Alex", "lastName": "Rivera", "paymentNetwork": "MASTERCARD"}}}}CK Money signup personal information
POST
/v1/money/signup/personal-infoosintReads the legal firstName and lastName on the CK Money checking signup record.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- firstName
- lastName
POST /v1/money/signup/personal-info HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "SignupPersonalInformation", "query": "query SignupPersonalInformation { money { signup { personalInformation { result { firstName lastName } } } }"}{"data": {"money": {"signup": {"personalInformation": {"result": {"firstName": "Alex", "lastName": "Rivera"}}}}}}Bureau report validity flags
POST
/v1/credit/reports/validityopenfinanceReturns per-bureau isValid flags (EQUIFAX / TRANSUNION) gating the tradeline and simulator screens.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- isValid
POST /v1/credit/reports/validity HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "ReportValidity", "query": "query ReportValidity { credit { equifax: reportValid(input: { source: EQUIFAX }) { isValid } transunion: reportValid(input: { source: TRANSUNION }) { isValid } } }"}{"data": {"credit": {"equifax": {"isValid": true}, "transunion": {"isValid": true}}}}Credit-card quick-apply form
POST
/v1/offers/credit-cards/applyopendataLoads the in-app Quick Apply form (cardDetails, editable form sections) for a credit-card contentId / partnerId after take-offer.
Auth: Bearer accessToken plus intuit_tid / intuit_userid / intuit_deviceid headers.
- contentId
- partnerId
- clickEventPayload
- editable
- headline
POST /v1/offers/credit-cards/apply HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json {"operationName": "QuickApplyForm", "query": "query QuickApplyForm($clickEventPayload: String!, $contentId: String!, $partnerId: String!) { offers { quickApplyForm(clickEventPayload: $clickEventPayload, contentId: $contentId, partnerId: $partnerId) { cardDetails { title { text } } forms { editable headline { text } } } }", "variables": {"clickEventPayload": "te-901", "contentId": "cc-offer-8821", "partnerId": "chase-sapphire"}}{"data": {"offers": {"quickApplyForm": {"cardDetails": {"title": {"text": "Chase Sapphire Preferred"}}, "forms": [{"editable": true, "headline": {"text": "Confirm your info"}}]}}}}
Data categories
- credit scores
- credit factors
- credit reports
- credit changes
- linked bank accounts
- transactions
- recurring transactions
- bills
- cash flow
- net worth
- personal loan offers
- credit card offers
- preapproved offers
- checking and savings
- check deposits
- ATM locations
- credit actions
- payoff simulator
- digital wallet provisioning
- personal information
- quick apply
Where teams use this data
Bureau-score watch for underwriting
A lender or PFM dashboard polls the credit hub's Equifax and TransUnion score, rating and updatedAtTimestamp, appends score-history timestamp/value points, and overlays change insights (header, rating, snippet) so a delta outside a band fires with the tradeline that moved.
Card utilization and tradeline audit
Reconcile bureau credit-card tradelines (accountId, accountStanding, utilizationPercentage, isOpen) against the issuer ledger to flag accounts dragging the utilization factor.
Linked-account cash-flow and bills PFM
From linked accounts (accountURN, providerName, accountBalance.value), page transaction rows (amount, merchant.name, category.name, date), overlay recurring nextDate/isIncome, and drop bill minAmountDue/paymentStatus onto the cash-flow calendar.
Prequalified loan-offer matching
Read borrowing-power history plus grouped offer terms (approvalOdds, apr, loanAmount, monthlyPayment, termInMonths) and the My Preapproved shelf (preapproved, prequalified, providerId, level), then hand off via partnerId and recommendationId.
Frequently asked questions
Which bureaus do the Credit Karma score endpoints cover?
The credit hub and history operations return Equifax and TransUnion side by side — score, rating, updatedAtTimestamp and per-point history for each bureau. Experian is not part of this client's score data.
How does the app authenticate its API calls?
Sign-in is the user's Intuit identity account (email and password, passkey, or one-time code). The app mints a short-lived access token, sent as an Authorization: Bearer header together with the intuit_tid, intuit_userid and intuit_deviceid tracing headers.
What linked-account and money data is available?
Bank connections return accountURN, masked accountNumberDisplay and accountBalance, refreshable through a Plaid-style public token. Transaction paging, recurring detections and the bills calendar add merchant, category, nextDate/isIncome and minAmountDue/paymentStatus; cash-flow and net-worth views roll the same balances up; the money hub and check-deposit start add CK Money checking accountId, debit cardId, availableBalance and depositLimits.
Do the loan-offer endpoints include pricing fields?
Yes. Grouped loan offers carry approvalOdds, apr, loanAmount, monthlyPayment, termInMonths and lenderRating; borrowing-power history sizes the range. The preapproved shelf adds preapproved/prequalified flags, providerId and an approval-odds level, and taking an offer hands the tile to the partner via contentId, partnerId and recommendationId.
Apps similar to Intuit Credit Karma
- Experian — Experian's consumer app gives a free Experian FICO Score and credit report, plus Experian Boost and Experian Go, from the US bureau Credit Karma does not score on its dashboard.
- Credit Sesame — Credit Sesame shows a free daily credit score and monitoring alerts, then matches credit-card and loan offers to approval odds, with credit data provided by TransUnion.
- WalletHub — WalletHub offers free TransUnion credit scores, reports and daily monitoring, plus comparison tools for credit cards, personal loans, car insurance and bank accounts.
- LendingTree — LendingTree is an online lending marketplace that also gives users a free VantageScore 3.0 and connects borrowers with multiple lenders for loans, cards and insurance.
- NerdWallet — NerdWallet is a personal-finance comparison site and app that promotes credit cards, loans and bank products and lists a free credit-score tool among its guides.
- CreditWise — Capital One's CreditWise app gives a free FICO Score 8 and TransUnion credit report, with alerts when a new inquiry or delinquency hits TransUnion or Experian files.
- AnnualCreditReport.com — AnnualCreditReport.com is the FACTA site jointly run by Equifax, Experian and TransUnion for statutory free US credit reports; the reports do not include a credit score.
- myFICO — myFICO is FICO's own consumer service; the free plan updates an Equifax FICO Score 8 monthly, while paid plans add mortgage, auto and other FICO scores plus monitoring.
Topics
- credit karma api
- intuit credit karma graphql
- transunion vantageScore
- equifax credit score api
- credit card utilization
- linked bank accounts
- bills calendar
- personal loan offers
- ck money check deposit
- preapproved credit cards
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