Skip to main content

Finary Unofficial API wrapper

A simple command line tool to interact with your Finary account.

Finary is a real time portfolio & stocks tracker. It supports precious metal, cryptos, stocks and a lot more. If you don't already have an account, here is a referral link to sign up: https://finary.com/referral/7a49bf74c6d9cb3fca2a

:warning: Use at your own risk. I'm not responsible if you trash your account. :warning:

Project goals

  • Provide a command line tool to do a large part of what you can do on Finary website
  • Automate some requested features not yet implemented by finary like CSV import/export

Quick start

  1. Install requirements. pip install finary_uapi.
  2. Copy paste the credentials.json.tpl file to credentials.json and file your username and password.
  3. Run python -m finary_uapi signin
  4. You are good to go and can explore the API. Run python -m finary_uapi for available commands.
  5. Try python -m finary_uapi me or python -m finary_uapi investments.
  6. If you get errors about being unauthorized, you need to signin again.

Usage

Run ``python -m finary_uapi` for an up to date version.

Usage:
    finary_uapi signin [MFA_CODE]
    finary_uapi me
    finary_uapi institution_connections
    finary_uapi organizations
    finary_uapi timeseries <period> <type>
    finary_uapi checking_accounts transactions [--page=<page>] [--perpage=<perpage>] [--account=<account_ids>] [--institution=<institution_ids>] [--query=<query>]
    finary_uapi fonds_euro
    finary_uapi startups
    finary_uapi investments
    finary_uapi investments dividends
    finary_uapi investments transactions [--page=<page>] [--perpage=<perpage>] [--account=<account_ids>] [--institution=<institution_ids>] [--query=<query>]
    finary_uapi crowdlendings
    finary_uapi crowdlendings distribution
    finary_uapi crowdlendings add <account_name> <name> <annual_yield> <month_duration> <initial_investment> <current_price> <currency_code> <start_date>
    finary_uapi crowdlendings delete <crowdlending_id>
    finary_uapi cryptos
    finary_uapi cryptos distribution
    finary_uapi cryptos add <code> <quantity> <price> <account_id>
    finary_uapi cryptos update <code> <quantity> <price> <account_id>
    finary_uapi cryptos delete <code> <account_id>
    finary_uapi precious_metals search QUERY
    finary_uapi precious_metals
    finary_uapi precious_metals add <name> <quantity> <price>
    finary_uapi precious_metals delete <commodity_id>
    finary_uapi holdings_accounts [crypto | stocks | crowdlending | <account_name>]
    finary_uapi holdings_accounts add (crypto | stocks | crowdlending) <account_name>
    finary_uapi holdings_accounts add (checking | saving) <account_name> <bank_name> <account_type> <balance>
    finary_uapi holdings_accounts delete <account_id>
    finary_uapi holdings_accounts update <account_id> <account_name> [<account_balance>]
    finary_uapi generic_asset_categories
    finary_uapi generic_assets
    finary_uapi generic_assets add <name> <category> <quantity> <buying_price> <current_price>
    finary_uapi generic_assets update <asset_id> <name> <category> <quantity> <buying_price> <current_price>
    finary_uapi generic_assets delete <asset_id>
    finary_uapi crypto_chains
    finary_uapi crypto_currency search QUERY
    finary_uapi fiat_currency search QUERY
    finary_uapi institutions search QUERY
    finary_uapi securities search QUERY
    finary_uapi securities
    finary_uapi securities add <code> <quantity> <price> <account_id>
    finary_uapi securities delete <security_id>
    finary_uapi insights
    finary_uapi loans
    finary_uapi credit_accounts transactions [--page=<page>] [--perpage=<perpage>] [--account=<account_ids>] [--institution=<institution_ids>] [--query=<query>]
    finary_uapi real_estates
    finary_uapi real_estates add rent <address> <user_estimated_value> <description> <surface> <buying_price> <building_type> <ownership_percentage> <monthly_charges> <monthly_rent> <yearly_taxes> <rental_period> <rental_type> [<currency_code>]
    finary_uapi real_estates add <category> <address> <user_estimated_value> <description> <surface> <buying_price> <building_type> <ownership_percentage> [<currency_code>]
    finary_uapi real_estates update rent <asset_id> <user_estimated_value> <description> <buying_price> <ownership_percentage> <monthly_rent>
    finary_uapi real_estates update <category> <asset_id> <user_estimated_value> <description> <buying_price> <ownership_percentage>
    finary_uapi real_estates delete <asset_id>
    finary_uapi scpis search QUERY
    finary_uapi scpis
    finary_uapi watches search QUERY
    finary_uapi import crowdlending_csv FILENAME [-d] [-f]
    finary_uapi import cryptocom FILENAME [(--new=NAME | --edit=account_id | --add=account_id)]
    finary_uapi import nexo FILENAME [(--new=NAME | --edit=account_id | --add=account_id)]
    finary_uapi import crypto_csv FILENAME [(--new=NAME | --edit=account_id | --add=account_id)]
    finary_uapi import stocks_csv FILENAME [(--new=NAME | --edit=account_id | --add=account_id)] [-d]
    finary_uapi import stocks_json FILENAME [(--new=NAME | --edit=account_id | --add=account_id)] [-d]

Examples

  • List crypto accounts, and display id and name
python -m finary_uapi holdings_accounts crypto | jq '.result[] | {id: .id, name: .name}'
  • List investment accounts, and display id and name
python -m finary_uapi holdings_accounts stocks | jq '.result[] | {id: .id, name: .name}'
  • Import a CSV file from crypto.com in a new crypto account on Finary. Replace the filename and the account name
python -m finary_uapi import cryptocom crypto_transactions_record.csv --new Crypto.com
  • Import a generic CSV file (see tests directory for a sample) in a new crypto account on Finary. Replace the filename and the account name.
python -m finary_uapi import crypto_csv cryptodump.csv --new MyLovelyExchange
  • Create a "Compte d'épargne' with a 1000€ balance at BNP Paribas
python -m finary_uapi holdings_accounts add checking testchecking "BNP Paribas" "Compte d'épargne" 1000
  • Print gross wealth
python -m finary_uapi dashboard gross all | jq '.result["total"]["amount"]'

TODO

  • See Issues
  • Tests :smile:
  • More typing hints
  • CSV export. Use pandas ?
  • Write, update, delete for Loans, Real estates, SCPIs are entirely TODO
  • Precious metal update
  • Interactive command line (it would make automation less fun, but manual use easier)

Remarks for finary devs

  • Delete responses should be normalized, sometimes we get json back sometimes nothing but the 204 HTTP code.

Contributors ✨

All Contributors

Thanks go to these people (emoji key):

Nicolas Froment
Nicolas Froment

📆 📣 💻 🐛 🤔 📖
Victor Quach
Victor Quach

💻
NickFR
NickFR

💻
Clémence Lesné
Clémence Lesné

💻
OxyFlax
OxyFlax

💻
Patrick Martin
Patrick Martin

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Metadata

Release files for finary-uapi 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for finary-uapi 0.2.3
File Size Uploaded Provenance Actions
finary_uapi-0.2.3.tar.gz 23.2 kB With provenance Details for finary_uapi-0.2.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for finary-uapi 0.2.3
File Interpreter ABI Platform Actions
finary_uapi-0.2.3-py3-none-any.whl Python 3 none any Details for finary_uapi-0.2.3-py3-none-any.whl

Total release size: 58.8 kB

Release files / finary_uapi-0.2.3.tar.gz

Download URL finary_uapi-0.2.3.tar.gz
Size 23.2 kB
Tags Source
SHA-256 checksum
How to use checksums
550bae590222e8f27773d1df6034e3095c62806d10a9ce26da3f61576854d0a6
BLAKE2b-256 checksum
How to use checksums
d08b52d53c222e98ad2f6dd39d67e77e0280a29835dd0b1e16d7d30dcbcc3309
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.

Transparency log

Release files / finary_uapi-0.2.3-py3-none-any.whl

Download URL finary_uapi-0.2.3-py3-none-any.whl
Size 35.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a79fba88da473fd820fd8e587ac89a6e782f90143e97a16fcde8c2af8fca5f91
BLAKE2b-256 checksum
How to use checksums
7ff7c090a0fdf736deb9c8d28ba767699759e7e35090b7887e3be3f5c4bf4d3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.

Transparency log

Security for finary-uapi 0.2.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for finary_uapi-0.2.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page