{"id":13741139,"url":"https://github.com/lit26/finvizfinance","last_synced_at":"2026-08-27T21:12:22.052Z","repository":{"id":37934795,"uuid":"282070967","full_name":"lit26/finvizfinance","owner":"lit26","description":"Finviz analysis python library.","archived":false,"fork":false,"pushed_at":"2026-08-26T17:37:31.000Z","size":7320,"stargazers_count":1623,"open_issues_count":13,"forks_count":272,"subscribers_count":25,"default_branch":"master","last_synced_at":"2026-08-26T19:14:54.698Z","etag":null,"topics":["crypto","earnings-calls","financial-analysis","forex","fundament","fundamental-analysis","inside-trader","outer-ratings","pandas","pypi","screener","stock-charts","stock-news","technical-analysis","web-scraping"],"latest_commit_sha":null,"homepage":"https://finvizfinance.readthedocs.io/en/latest/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lit26.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"github":["lit26"],"custom":["https://www.paypal.com/paypalme/TIANNINGL/"]}},"created_at":"2020-07-23T22:38:18.000Z","updated_at":"2026-08-26T17:14:58.000Z","dependencies_parsed_at":"2026-01-04T04:04:05.316Z","dependency_job_id":null,"html_url":"https://github.com/lit26/finvizfinance","commit_stats":{"total_commits":254,"total_committers":6,"mean_commits":"42.333333333333336","dds":"0.18110236220472442","last_synced_commit":"fc2f13700315bc3c5640e7bc2257d8efc71cafe8"},"previous_names":[],"tags_count":62,"template":false,"template_full_name":null,"purl":"pkg:github/lit26/finvizfinance","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lit26%2Ffinvizfinance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lit26%2Ffinvizfinance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lit26%2Ffinvizfinance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lit26%2Ffinvizfinance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lit26","download_url":"https://codeload.github.com/lit26/finvizfinance/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lit26%2Ffinvizfinance/sbom","scorecard":{"id":592615,"data":{"date":"2025-08-11","repo":{"name":"github.com/lit26/finvizfinance","commit":"10a8b33a68462ca25bb2fca47418e291ae630705"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":6,"reason":"6 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/7 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: __pycache__/runtest.cpython-37-pytest-6.2.2.pyc:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":8,"reason":"2 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-20T22:21:17.505Z","repository_id":37934795,"created_at":"2025-08-20T22:21:17.505Z","updated_at":"2025-08-20T22:21:17.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36947241,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-27T02:00:07.166Z","response_time":96,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crypto","earnings-calls","financial-analysis","forex","fundament","fundamental-analysis","inside-trader","outer-ratings","pandas","pypi","screener","stock-charts","stock-news","technical-analysis","web-scraping"],"created_at":"2024-08-03T04:00:55.887Z","updated_at":"2026-08-27T21:12:22.047Z","avatar_url":"https://github.com/lit26.png","language":"Jupyter Notebook","funding_links":["https://github.com/sponsors/lit26","https://www.paypal.com/paypalme/TIANNINGL/","https://www.paypal.me/TIANNINGL/"],"categories":["Python"],"sub_categories":["Visualization","数据可视化"],"readme":"![PyPI - Python Version](https://img.shields.io/pypi/pyversions/finvizfinance)\n![PyPI](https://img.shields.io/pypi/v/finvizfinance)\n![PyPI - Wheel](https://img.shields.io/pypi/wheel/finvizfinance)\n![PyPI - License](https://img.shields.io/pypi/l/finvizfinance?color=gre)\n[![Coverage Status](https://coveralls.io/repos/github/lit26/finvizfinance/badge.svg)](https://coveralls.io/github/lit26/finvizfinance)\n![Read the Docs](https://img.shields.io/readthedocs/finvizfinance)\n[![Downloads](https://pepy.tech/badge/finvizfinance)](https://pepy.tech/project/finvizfinance)\n[![CodeFactor](https://www.codefactor.io/repository/github/lit26/finvizfinance/badge/master)](https://www.codefactor.io/repository/github/lit26/finvizfinance/overview/master)\n[![Donate PayPal](https://img.shields.io/badge/Donate%20%24-PayPal-brightgreen.svg)](https://www.paypal.me/TIANNINGL/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n# finvizfinance\n\nfinvizfinance is a package which collects financial information from FinViz website. The package provides the information of the following:\n\n- Stock charts, fundamental \u0026 technical information, insider information and stock news\n- Forex charts and performance\n- Crypto charts and performance\n\nScreener and Group provide dataframes for comparing stocks according to different filters and trading signals.\n\nDocs: https://finvizfinance.readthedocs.io/en/latest/\n\n### Downloads\n\nTo download the latest version from GitHub:\n\n```\n$ git clone https://github.com/lit26/finvizfinance.git\n```\n\nOr install from PyPi:\n\n```\n$ pip install finvizfinance\n```\n\n### Quote\n\nGetting information (fundament, description, outer rating, stock news, inside trader) of an individual stock.\n\n```python\nfrom finvizfinance.quote import finvizfinance\n\nstock = finvizfinance('tsla')\n```\n\n#### Chart\n\n```python\nstock.ticker_charts()\n```\n\n#### Fundament\n\n```python\nstock_fundament = stock.ticker_fundament()\n\n# result\n# stock_fundament = {'Company': 'Tesla, Inc.', 'Sector': 'Consumer Cyclical',\n# 'Industry': 'Auto Manufacturers', 'Country': 'USA', 'Index': '-', 'P/E': '849.57',\n# 'EPS (ttm)': '1.94', 'Insider Own': '0.10%', 'Shs Outstand': '186.00M',\n# 'Perf Week': '13.63%', 'Market Cap': '302.10B', 'Forward P/E': '106.17',\n# ...}\n```\n\n#### Description\n\n```python\nstock_description = stock.ticker_description()\n\n# stock_description\n# stock_description = 'Tesla, Inc. designs, develops, manufactures, ...'\n```\n#### Peer\n\n```python\nstock_peer = stock.ticker_peer()\n\n# stock_peer\n# stock_peer = ['LI', 'XPEV', 'NIO', 'RIVN', 'LCID', 'TM', 'HMC', 'GM', 'STLA', 'F']\n```\n#### ETF Holders\n\n```python\nstock_etf_holders = stock.ticker_etf_holders()\n\n# stock_etf_holders\n# stock_etf_holders = ['VTI', 'VOO', 'IVV', 'SPY', 'VUG', 'QQQ', 'VGT', 'IWF', 'XLK', 'SPLG']\n```\n\n#### Outer Ratings\n\n```python\nouter_ratings_df = stock.ticker_outer_ratings()\n```\n\n![Outer Ratings example](asset/outer_rating.png)\n\n#### Stock News\n\n```python\nnews_df = stock.ticker_news()\n```\n\n![stock news example](asset/stock_news.png)\n\n#### Inside Trader\n\n```python\ninside_trader_df = stock.ticker_inside_trader()\n```\n\n![insider trader example](asset/insider_trader.png)\n\n### News\n\nGetting recent financial news from finviz.\n\n```python\nfrom finvizfinance.news import News\n\nfnews = News()\nall_news = fnews.get_news()\n```\n\nFinviz News include 'news' and 'blogs'.\n\n```python\nall_news['news'].head()\n```\n\n![news example](asset/news_news.png)\n\n```python\nall_news['blogs'].head()\n```\n\n![news example](asset/news_blogs.png)\n\n### Insider\n\nGetting insider trading information.\n\n```python\nfrom finvizfinance.insider import Insider\n\nfinsider = Insider(option='top owner trade')\n# option: latest, top week, top owner trade\n# default: latest\n\ninsider_trader = finsider.get_insider()\n```\n\n![insider example](asset/insider.png)\n\n### Screener (Overview, Valuation, Financial, Ownership, Performance, Technical)\n\nGetting multiple tickers' information according to the filters.\n\n#### Example: Overview\n\n```python\nfrom finvizfinance.screener.overview import Overview\n\nfoverview = Overview()\nfilters_dict = {'Index':'S\u0026P 500','Sector':'Basic Materials'}\nfoverview.set_filter(filters_dict=filters_dict)\ndf = foverview.screener_view()\ndf.head()\n```\n\n![insider example](asset/screen_overview.png)\n\n### Screener (Ticker)\n\nGetting list of tickers according to the filters.\n\n### Misc (Proxy)\n\nOptional proxy can be used for getting information from FinViz website. Accessible from finvizfinance\nit's an extension of requests library proxies\n\n```python\nfrom finvizfinance.util import set_proxy\n\nproxies={'http': 'http://127.0.0.1:8080'}\nset_proxy(proxies)\n```\n\n### Credit\n\nDeveloped by Tianning Li. Feel free to give comments or suggestions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flit26%2Ffinvizfinance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flit26%2Ffinvizfinance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flit26%2Ffinvizfinance/lists"}