Skip to main content
Version: 0.1.21 (Current)

get_transactions

Type: query

Gets transaction data from the account.

Signature

async def get_transactions(
limit: int = DEFAULT_RECORD_LIMIT,
offset: int | None = 0,
start_date: str | None = None,
end_date: str | None = None,
search: str = "",
category_ids: List[str] = [],
account_ids: List[str] = [],
tag_ids: List[str] = [],
has_attachments: bool | None = None,
has_notes: bool | None = None,
hidden_from_reports: bool | None = None,
is_split: bool | None = None,
is_recurring: bool | None = None,
imported_from_mint: bool | None = None,
synced_from_institution: bool | None = None
) -> Dict[str, Any]

Parameters

ParameterTypeRequiredDescription
limitintNothe maximum number of transactions to download, defaults to DEFAULT_RECORD_LIMIT.
offset`intNone`No
start_date`strNone`No
end_date`strNone`No
searchstrNoa string to filter transactions. use empty string for all results.
category_idsList[str]Noa list of category ids to filter.
account_idsList[str]Noa list of account ids to filter.
tag_idsList[str]Noa list of tag ids to filter.
has_attachments`boolNone`No
has_notes`boolNone`No
hidden_from_reports`boolNone`No
is_split`boolNone`No
is_recurring`boolNone`No
imported_from_mint`boolNone`No
synced_from_institution`boolNone`No

Example

from monarchmoney import MonarchMoney

mm = MonarchMoney()
await mm.login(email, password)

result = await mm.get_transactions()
print(result)

GraphQL Operation

Operation Name: GetTransactionsList

GraphQL Query

query GetTransactionsList($offset: Int, $limit: Int, $filters: TransactionFilterInput, $orderBy: TransactionOrdering) {
allTransactions(filters: $filters) {
totalCount
results(offset: $offset, limit: $limit, orderBy: $orderBy) {
id
...TransactionOverviewFields
__typename
}
__typename
}
transactionRules {
id
__typename
}
}

fragment TransactionOverviewFields on Transaction {
id
amount
pending
date
hideFromReports
plaidName
notes
isRecurring
reviewStatus
needsReview
attachments {
id
extension
filename
originalAssetUrl
publicId
sizeBytes
__typename
}
isSplitTransaction
createdAt
updatedAt
category {
id
name
__typename
}
merchant {
name
id
transactionsCount
__typename
}
account {
id
displayName
__typename
}
tags {
id
name
color
order
__typename
}
__typename
}

Try It Out

To test this API method locally:

  1. Install the package: pip install monarchmoney
  2. Create a Python script with the example code above
  3. Replace email and password with your Monarch Money credentials
  4. Run the script

See the Authentication Guide for details on logging in.