get_recurring_transactions
Get recurring transactions like subscriptions, bills, and regular income automatically identified by Plaid’s machine learning.Parameters
None - automatically analyzes all available transaction history (up to 24 months).Response
Returns organized view of recurring streams:- Active subscriptions with monthly costs
- Active bills (rent, utilities, insurance)
- Other recurring expenses
- Income streams (salary, freelance payments)
- Inactive/cancelled subscriptions
- Monthly totals for expenses and income
- Next payment dates
- Pattern confidence indicators
Example
Request:How It Works
Plaid’s machine learning automatically:- Analyzes all available transaction history (up to 24 months)
- Identifies recurring patterns (minimum 3 occurrences for MATURE status)
- Detects frequency (monthly, weekly, biweekly, annually, etc.)
- Calculates average amounts (handles variable bills)
- Tracks active vs inactive status using
is_activefield - Predicts next payment dates
- Categorizes by type (subscriptions, bills, income)
Pattern Confidence
- MATURE: 3+ transactions on regular cadence (high confidence)
- EARLY_DETECTION: Less than 3 occurrences (new pattern, marked with
[new pattern]) - TOMBSTONED: Was early detection but stopped (shown as inactive)
Smart Categorization
- Subscriptions: Entertainment, streaming, software, gym memberships
- Bills: Rent, utilities, insurance, loan payments
- Other Expenses: Regular purchases that don’t fit standard categories
- Income: Salary, freelance, regular deposits
Variable Amounts
For bills with varying amounts (like utilities):- Shows average amount across history
- Displays “(varies)” indicator
- Includes last transaction date
Use Cases
- “What subscriptions am I paying for?”
- “What are my recurring bills?”
- “Do I have any forgotten subscriptions?”
- “How much do I spend on recurring expenses?”
- “Did I cancel my gym membership?”
- “Show my recurring income”
Notes
- No date parameters needed - Plaid analyzes everything automatically
- Perfect for finding forgotten subscriptions
- More transaction history = better pattern detection
- Uses
is_activefield (not status) to determine if stream is still active
