Recurring Transactions

Retrieve recurring transactions (inflows and outflows) for a user

Returns recurring transaction patterns detected across the user's linked bank accounts, split into recurring outflows (subscriptions, bills, and other recurring expenses) and recurring inflows (salary, benefits, and other recurring income sources).

get/v1/users/{user_id}/transactions/recurring/

Query parameters

status'active' | 'inactive' | 'irregular' | 'all'

Filter by recurring source status. Defaults to active. Use all to return sources in any state.

link_idstring

Filter to a specific link ID. Defaults to all of the user's links.

Response

Example response

{
  "recurring_transactions": {
    "outflows": [
      {
        "source_id": "68a7e80942ce4ad58a93f70ce411549a",
        "source_name": "Netflix",
        "account_id": "68a7e80942ce4ad58a93f70ce411549a",
        "categories": [
          "Entertainment",
          "Subscriptions"
        ],
        "description": "NETFLIX.COM",
        "merchant_category_code": "5968",
        "frequency": "M",
        "status": "active",
        "average_amount": "15.99",
        "median_amount": "15.99",
        "last_amount": "15.99",
        "first_detected": "2024-01-15",
        "last_transaction_date": "2024-11-15",
        "next_expected_date": "2024-12-15",
        "logo_url": "https://example.com/logos/company.png",
        "historical_transactions": [
          {
            "transaction_id": "24d7e80942ce4ad58a93f70ce4115f5c",
            "date": "2025-05-04",
            "amount": "200.31",
            "description": "NETFLIX.COM"
          }
        ]
      }
    ],
    "inflows": [
      {
        "source_id": "68a7e80942ce4ad58a93f70ce411549a",
        "source_name": "Acme Corp",
        "account_id": "68a7e80942ce4ad58a93f70ce411549a",
        "description": "Salary",
        "frequency": "BW",
        "average_amount": "3500.00",
        "median_amount": "3500.00",
        "last_amount": "3500.00",
        "status": "active",
        "first_detected": "2024-01-01",
        "last_transaction_date": "2024-11-15",
        "next_expected_date": "2024-11-29",
        "logo_url": "https://example.com/logos/company.png",
        "historical_transactions": [
          {
            "transaction_id": "24d7e80942ce4ad58a93f70ce4115f5c",
            "date": "2025-05-04",
            "amount": "200.31",
            "description": "NETFLIX.COM"
          }
        ],
        "income_type": "PAYCHECK"
      }
    ]
  }
}

Changes

Changed in 2 of the 11 revisions of this API.138

    • the recurring_transactions/inflows/items/average_amount response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status 200

      response-property-pattern-added

    • the recurring_transactions/inflows/items/historical_transactions/items/amount response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status 200

      response-property-pattern-added

    • the recurring_transactions/inflows/items/last_amount response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status 200

      response-property-pattern-added

    • the recurring_transactions/inflows/items/median_amount response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status 200

      response-property-pattern-added

    • the recurring_transactions/outflows/items/average_amount response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status 200

      response-property-pattern-added

    • the recurring_transactions/outflows/items/historical_transactions/items/amount response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status 200

      response-property-pattern-added

    • the recurring_transactions/outflows/items/last_amount response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status 200

      response-property-pattern-added

    • the recurring_transactions/outflows/items/median_amount response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status 200

      response-property-pattern-added

  • e58688835e2513See the full diff
    • the response property recurring_transactions/outflows/items/merchant_category_code became nullable for the status 200

      response-property-became-nullable

    • added the new undefined enum value to the recurring_transactions/inflows/items/frequency response property for the response status 200

      response-property-enum-value-added

    • added the new undefined enum value to the recurring_transactions/inflows/items/income_type response property for the response status 200

      response-property-enum-value-added

    • added the new undefined enum value to the recurring_transactions/outflows/items/frequency response property for the response status 200

      response-property-enum-value-added