{"id":24962814,"url":"https://github.com/fynnius/tradingview.screener","last_synced_at":"2026-02-26T01:10:38.924Z","repository":{"id":275402088,"uuid":"925977758","full_name":"Fynnius/TradingView.Screener","owner":"Fynnius","description":"A powerful C# library for creating custom stock screeners using TradingView's API. Retrieve market data for stocks, crypto, and forex without web scraping. Features comprehensive filtering, sorting, and a CLI tool for quick market analysis.","archived":false,"fork":false,"pushed_at":"2025-02-02T08:40:55.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T22:45:29.440Z","etag":null,"topics":["cli-tool","csharp","dotnet","financial-analysis","financial-data","live-data","market-data","nuget-package","stock-market","stock-screener","trading","tradingview","tradingview-scanner","tradingview-screener"],"latest_commit_sha":null,"homepage":"","language":"C#","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/Fynnius.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"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}},"created_at":"2025-02-02T08:22:50.000Z","updated_at":"2025-02-02T08:41:47.000Z","dependencies_parsed_at":"2025-02-02T09:24:43.085Z","dependency_job_id":"cb43915a-aab1-479f-a789-330969b203db","html_url":"https://github.com/Fynnius/TradingView.Screener","commit_stats":null,"previous_names":["fynnius/tradingview.screener"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fynnius%2FTradingView.Screener","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fynnius%2FTradingView.Screener/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fynnius%2FTradingView.Screener/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fynnius%2FTradingView.Screener/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fynnius","download_url":"https://codeload.github.com/Fynnius/TradingView.Screener/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249116248,"owners_count":21215143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cli-tool","csharp","dotnet","financial-analysis","financial-data","live-data","market-data","nuget-package","stock-market","stock-screener","trading","tradingview","tradingview-scanner","tradingview-screener"],"created_at":"2025-02-03T09:23:15.432Z","updated_at":"2026-02-26T01:10:38.887Z","avatar_url":"https://github.com/Fynnius.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TradingView.Screener\n\n[![NuGet version](https://img.shields.io/nuget/v/TradingView.Screener.svg)](https://www.nuget.org/packages/TradingView.Screener/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA C# port of the [TradingView-Screener Python package](https://github.com/shner-elmo/TradingView-Screener) that allows you to create custom stock screeners using TradingView's API. This package retrieves data directly from TradingView without web scraping or HTML parsing.\n\n## Credits\nThis project is a C# port of the excellent [TradingView-Screener](https://github.com/shner-elmo/TradingView-Screener) Python package by [shner-elmo](https://github.com/shner-elmo). All credit for the original implementation and API research goes to them.\n\n## Requirements\n- Only tested on .NET 9.0\n\n## Installation\n\nInstall via NuGet Package Manager:\n```bash\ndotnet add package TradingView.Screener\n```\n\nFor the CLI tool:\n```bash\ndotnet tool install --global TradingView.Screener.Cli\n```\n\n## Features\n\n* **Multiple Markets**: Stocks, crypto, forex, and more\n* **Comprehensive Data**: Access to price, volume, market cap, and technical indicators\n* **Flexible Filtering**: Filter by price, volume, market cap, and other metrics\n* **Sorting \u0026 Pagination**: Order results and control result size\n* **Async Support**: Built with modern .NET async patterns\n* **Command Line Interface**: Easy-to-use CLI tool for quick scans\n\n## Quick Start\n\nHere's a simple example using the library:\n\n```csharp\nusing TradingView.Screener;\nusing static TradingView.Screener.Columns;\n\n// Basic query - Get top stocks by volume\nvar result = await new Query()\n    .Select(\"name\", \"close\", \"volume\", \"market_cap_basic\")\n    .Limit(5)\n    .GetScannerDataRawAsync();\n\n// Print results\nforeach (var row in result.Data)\n{\n    Console.WriteLine($\"Symbol: {row.Symbol}, Name: {row.Data[0]}, Close: {row.Data[1]}, Volume: {row.Data[2]}\");\n}\n```\n\n## CLI Usage\n\nThe CLI tool provides a simple interface for running stock screens:\n\n```bash\n# Basic scan\ntvscreener scan\n\n# With filters\ntvscreener scan --min-price 10 --min-volume 1000000 --limit 5\n\n# With market filter\ntvscreener scan -m crypto --min-volume 1000000 --limit 5\n\n# With JSON output\ntvscreener scan --min-price 50 --limit 3 --json\n```\n\nAvailable options:\n- `-m, --market`: Market to scan (e.g., america, japan, crypto)\n- `--min-price`: Minimum price\n- `--max-price`: Maximum price\n- `--min-volume`: Minimum volume\n- `--max-volume`: Maximum volume\n- `--min-market-cap`: Minimum market cap\n- `--max-market-cap`: Maximum market cap\n- `--exchange`: Exchange (e.g., NASDAQ, NYSE)\n- `--sector`: Sector\n- `--industry`: Industry\n- `-l, --limit`: Maximum number of results\n- `--order-by`: Column to sort by\n- `--descending`: Sort in descending order\n- `--json`: Output in JSON format\n\n## Advanced Examples\n\n### Value Stock Screening\n```csharp\n// Find value stocks with good fundamentals\nvar valueStocks = await new Query()\n    .Select(\"name\", \"close\", \"volume\", \"market_cap_basic\", \"price_earnings_ttm\")\n    .Where(\n        Close \u003e 5,\n        Volume \u003e 100000,\n        MarketCap \u003e 1_000_000_000  // At least 1B market cap\n    )\n    .OrderBy(\"volume\", ascending: false)\n    .Limit(5)\n    .GetScannerDataRawAsync();\n```\n\n### Technical Analysis Screening\n```csharp\n// Find stocks with specific technical indicators\nvar technicalSignals = await new Query()\n    .Select(\"name\", \"close\", \"volume\", \"EMA20\", \"EMA50\", \"RSI\")\n    .Where(\n        Volume \u003e 1000000,\n        Close \u003e 10,\n        MarketCap \u003e 1_000_000_000\n    )\n    .OrderBy(\"volume\", ascending: false)\n    .Limit(5)\n    .GetScannerDataRawAsync();\n```\n\n### Crypto Market Screening\n```csharp\n// Find top cryptocurrencies by volume\nvar cryptoScreener = await new Query()\n    .SetMarkets(\"crypto\")\n    .Select(\"name\", \"close\", \"volume\", \"market_cap_basic\", \"Volatility.D\")\n    .Where(\n        Volume \u003e 1000000\n    )\n    .OrderBy(\"market_cap_basic\", ascending: false)\n    .Limit(5)\n    .GetScannerDataRawAsync();\n```\n\n## Known Limitation\n\n1. Complex AND/OR filters using `Where2()` may not work reliably. Use simple filters with `Where()` instead.\n\n## Legal Notice\n\nThis package is provided under the MIT License. While it interacts with TradingView's API, it is not affiliated with, endorsed by, or sponsored by TradingView. Users should ensure they comply with TradingView's terms of service when using this package.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.\n\n### Development Setup\n\n1. Clone the repository\n2. Install dependencies:\n```bash\ndotnet restore\n```\n3. Run tests:\n```bash\ndotnet test\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffynnius%2Ftradingview.screener","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffynnius%2Ftradingview.screener","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffynnius%2Ftradingview.screener/lists"}