Sample - Plaid API
POST/investments/transactions/get

Get investment transactions

Lists up to 24 months of user-authorized investment transactions for an Item. Supply start_date and end_date to define the date range, and use options.count and options.offset to paginate the reverse-chronological results. If asynchronous extraction is enabled, wait for the HISTORICAL_UPDATE webhook before requesting data that is not yet available.

  • RetriesRetries up to 2×, 500ms backoff, 30s timeout.

6 body fields

Credentials, a date range, and optional filters and pagination controls for retrieving investment transactions.

client_idstringoptional
Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.
secretstringoptional
Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.
access_tokenstringrequired
The access token associated with the Item for which data is being requested.
start_datestringrequired
The earliest date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD. Plaid returns all investment transaction history stored for the Item (up to 2 years prior to the initial linking of the Item).
end_datestringrequired
The most recent date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD.
optionsobjectoptional
An optional object to filter `/investments/transactions/get` results. If provided, must be non-`null`.

2 status codes
200Returns the Item metadata, accounts, securities, investment transactions, total transaction count, request identifier, and an optional Investments Fallback indicator.
itemobjectrequired
Metadata about the Item.
accountsarray<InvestmentAccount>required
The accounts for which transaction history is being fetched.
securitiesarray<Security>required
All securities for which there is a corresponding transaction being fetched.
investment_transactionsarray<InvestmentTransaction>required
The transactions being fetched
total_investment_transactionsintegerrequired
The total number of transactions available within the date range specified. If `total_investment_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched via manipulating the `offset` parameter.
request_idstringrequired
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
is_investments_fallback_itembooleanoptional
When true, this field indicates that the Item's portfolio was manually created with the Investments Fallback flow.
defaultError response
error_typestringrequired
A broad categorization of the error. Safe for programmatic use.
Allowed:INVALID_REQUESTINVALID_RESULTINVALID_INPUTINSTITUTION_ERRORRATE_LIMIT_EXCEEDEDAPI_ERRORITEM_ERRORASSET_REPORT_ERRORBASE_REPORT_ERRORRECAPTCHA_ERROROAUTH_ERRORPAYMENT_ERROR
error_codestringrequired
The particular error code. Safe for programmatic use.
error_code_reasonstringoptional
The specific reason for the error code. Currently, reasons are only supported for OAuth-based item errors; `null` will be returned otherwise. Safe for programmatic use. Possible values: `OAUTH_INVALID_TOKEN`: The user's OAuth connection to this institution has been invalidated. `OAUTH_CONSENT_EXPIRED`: The user's access consent for this OAuth connection to this institution has expired. `OAUTH_USER_REVOKED`: The user's OAuth connection to this institution is invalid because the user revoked their connection.
error_messagestringrequired
A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.
display_messagestringrequired
A user-friendly representation of the error code. `null` if the error is not related to user action. This may change over time and is not safe for programmatic use.
request_idstringoptional
A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.
causesarrayoptional
In this product, a request can pertain to more than one Item. If an error is returned for such a request, `causes` will return an array of errors containing a breakdown of these errors on the individual Item level, if any can be identified. `causes` will be provided for the `error_type` `ASSET_REPORT_ERROR` or `CHECK_REPORT_ERROR`. `causes` will also not be populated inside an error nested within a `warning` object.
statusintegeroptional
The HTTP status code associated with the error. This will only be returned in the response body when the error information is provided via a webhook.
documentation_urlstringoptional
The URL of a Plaid documentation page with more information about the error
suggested_actionstringoptional
Suggested steps for resolving the error
required_account_subtypesarray<string>optional
A list of the account subtypes that were requested via the `account_filters` parameter in `/link/token/create`. Currently only populated for `NO_ACCOUNTS` errors from Items with `investments_auth` as an enabled product.
provided_account_subtypesarray<string>optional
A list of the account subtypes that were extracted but did not match the requested subtypes via the `account_filters` parameter in `/link/token/create`. Currently only populated for `NO_ACCOUNTS` errors from Items with `investments_auth` as an enabled product.

Error handling

access_token, start_date, and end_date are required; both dates must use YYYY-MM-DD format. options.count must be between 1 and 500 and defaults to 100, while options.offset must be at least 0 and defaults to 0; use total_investment_transactions to determine whether more results remain.