Skip to main content
Income API
Anita Onwuemene avatar
Written by Anita Onwuemene
Updated over 4 months ago

Income provides a clear and insightful analysis of a user's income over a certain period. This includes a general summary of the income streams, type, description, and period. The Income API provides income insights via the webhook. Here, an API response will be sent indicating that the request is being processed and the data can be accessed via webhook.

The Income API endpoint has been upgraded to v2 to give you more value and help you understand your customers better and build a clear profile around their earning capacity, income types (both formal and informal, such as wages), frequency, amount, description, and more.

As a lending company looking to lower lending risk or a banking service looking to build customer profiles and engage users better, the Income endpoint provides needed insights and is of great value to these operations.

Income Records

For Income records, you can get the insights directly in the body of the API response without referring to the webhook. Here's the API reference for the Income Records API endpoint.

Here's a breakdown of all insights that can be gotten from the income API:

VARIABLE

SAMPLE VALUE

DESCRIPTION

account

6656ee88b4385629bf9f7954

The account id

accountName

Samuel Olumide

Name on the account record

accountNumber

0100000058

Account number on the account record

income_summary

income_summary: {
total_income: 500000,
employer: "Mono Technologies"
}

Income summary: most recent income stream where income type is salary

total_income: most recent amount received
employer: who sent the money to the account. (We try to retrieve this from the transaction narration)

income_streams

"income_streams": [
{
"income_type": "SALARY",
"frequency": "MONTHLY",
"monthly_average": 2500,
"average_income_amount": 2500,
"last_income_amount": 2500,
"currency": "NGN",
"stability": 1,
"last_income_description": "Mono salary GTBPADE2900000",
"last_income_date": "2023-02-09",
"periods_with_income": 9,
"number_of_incomes": 9
},
{
"income_type": "WAGES",
"frequency": "VARIABLE",
"monthly_average": 2500,
"average_income_amount": 2500,
"last_income_amount": 2500,
"currency": "NGN",
"stability": 0,
"last_income_description": "Freelancing salary",
"last_income_date": "2023-02-09",
"periods_with_income": 9,
"number_of_incomes": 9
}
],

income_type

The type of income. This can either be salary or wages.

If the transaction categoriser classifies the stream as salary, we use salary else we use wages

frequency

The frequency of income. This can either be monthly or variable.

If the average number of days between the transactions in a stream is ≥ 20 and ≤ 35, then we consider it as monthly, else variable.

monthly_average

Total income in the stream / number of months

average_income_amount

Total income in the stream / total count of income

last_income_amount

Last amount received for the stream

currency

currency

stability

Variance of transaction amounts in the cluster. Ranges between 0-1

last_income_description

Transaction narration for last transaction received for the stream

last_income_date

Date of last transaction received for the stream

periods_with_income

Number of months with income in stream

number_of_incomes

Total count of income

income_source_type

income_source_type: "BANK"

first_transaction_date

first_transaction_date: "2022-06-09"

Date of earliest transaction from all the income streams. Format YYYY-MM-DD

last_transaction_date

last_transaction_date: "2023-02-09"

Date of latest transaction from all the income streams. Format YYYY-MM-DD

number_of_income_streams

number_of_income_streams: 2

number_of_income_streams: Number of streams

Credit transactions are grouped together based on their narration. Each group is called a stream.

A stream should have a minimum of 2 transactions

monthly_average

monthly_average: 2500

total monthly average from all streams / total number of months from all stream

monthly_average_regular

monthly_average_regular: 2500

Regular = stream.stability ≥ 0.6

total monthly average from regular streams / total number of months from regular stream

monthly_average_irregular

monthly_average_irregular: 0

Irregular = stream.stability < 0.6

total monthly average from irregular streams / total number of months from irregular stream

total_regular_income_amount

total_regular_income_amount: 22500

total average income amount for regular streams

total_irregular_income_amount

total_irregular_income_amount: 0

total average income amount for irregular streams

Pricing

The Income API endpoint costs NGN200 per successful call.

Did this answer your question?