{"id":13983695,"url":"https://github.com/nmapx/revolut-stocks-list","last_synced_at":"2025-07-21T23:31:10.391Z","repository":{"id":56646045,"uuid":"233586489","full_name":"nmapx/revolut-stocks-list","owner":"nmapx","description":"Extract Revolut stocks list from the list screenshot(s).","archived":true,"fork":false,"pushed_at":"2021-11-13T16:46:00.000Z","size":2045,"stargazers_count":74,"open_issues_count":1,"forks_count":22,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-11-28T21:36:24.516Z","etag":null,"topics":["extract","image","list","ocr","revolut","screenshot","stocks","tesseract"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/nmapx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-13T12:05:04.000Z","updated_at":"2024-09-14T18:07:53.000Z","dependencies_parsed_at":"2022-08-15T22:31:32.519Z","dependency_job_id":null,"html_url":"https://github.com/nmapx/revolut-stocks-list","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmapx%2Frevolut-stocks-list","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmapx%2Frevolut-stocks-list/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmapx%2Frevolut-stocks-list/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmapx%2Frevolut-stocks-list/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nmapx","download_url":"https://codeload.github.com/nmapx/revolut-stocks-list/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226998791,"owners_count":17715386,"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":["extract","image","list","ocr","revolut","screenshot","stocks","tesseract"],"created_at":"2024-08-09T05:01:51.685Z","updated_at":"2024-11-28T22:30:42.147Z","avatar_url":"https://github.com/nmapx.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Revolut Stocks List ![GitHub](https://img.shields.io/github/license/nmapx/revolut-stocks-list?style=flat) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/nmapx/revolut-stocks-list?style=flat) [![Go Report Card](https://goreportcard.com/badge/github.com/nmapx/revolut-stocks-list)](https://goreportcard.com/report/github.com/nmapx/revolut-stocks-list) [![Build Status](https://travis-ci.com/nmapx/revolut-stocks-list.svg?branch=master)](https://travis-ci.com/nmapx/revolut-stocks-list)\n\nExtract Revolut stocks list from the list screenshot(s) ([example screenshot](./example-input.jpg) - use your mobile app for this).\n\nI made this app since there is no official list of all available Revolut stocks.\n\n**[Here](./LIST.md) you can find already extracted list of all available stocks. I will update it from time to time.**\n\n## Technologies\n\n- Go\n- Docker with **compose**\n- Tesseract OCR\n- Make\n\n## Requirements\n\n- Docker \u003e= 19.03 with **compose** \u003e= 1.25\n- Make \u003e= 4.1 *(optional)*\n\u003e Note: use appropriate commands (found in Makefiles) without Make\n\n## Setup guide\n\n1. Clone the repository and navigate to the project root\n2. Copy `.env.dist` file to `.env` and fill missing parameters\n\u003e Note: HOST_UID is your system user ID\n3. Build docker image `make build`\n4. Start container `make up` (development purposes only)\n5. Run the script by executing appropriate command inside the container (see below)\n6. Compile the app by executing `make -f Makefile.native build` inside the container\n\n## Basic usage\n\n### Docker\n\n```bash\ndocker exec {CONTAINER_NAME} go run . extract\n```\n\nor\n\n```bash\ndocker-compose -p {PROJECT_NAME} exec app go run . extract\n```\n\n### Binary\n\nBinary not supported yet - use Docker environment.\n\n### I'm just looking for the list\n\nScroll down. The list is as the bottom of this page.\n\n## Advanced usage\n\n### Input files (images/screenshots)\n\nFirst of all - check [example screenshot](./example-input.jpg). Your screenshot(s) must follow the pattern!\n\nThe screenshot should be at least **720px wide** in order to preserve OCR accuracy (\u003e99,9%)!\n\n**OCR is still not the most accurate solution (about 2-3% misidentified tickers for screenshots smaller than 720px wide). In order to improve it take smaller screenshots (which means better quality per screenshot). For images which are at least 720px wide the accuracy is ~99,9%.**\n\nYou can specify multiple input files by adding more parameters. By default it's processing 1 file (filepath `./input.jpg`) which can be very long (complete stock list in 1 screenshot (possible on some mobiles)). See example below.\n\n```bash\n... extract --input ./this/is/input/file_1.jpg --input ./this/is/input/file_2.jpg --input ./this/is/input/file_3.jpg\n```\n\n### Output file (CSV)\n\nScript generates 1 output file (including all input files in it). By default it's `./output.csv` - you can change the filepath. See example below.\n\n```bash\n... extract --output ./this/is/output/file.csv\n```\n\n### Languages\n\nBy default only English is being installed and used by the Tesseract library. In order to use also other languages like Polish or Russian you can add an optional parameters. You need to install appropriate language library (Tesseract) first (eg. [tesseract-ocr-data-pol](https://pkgs.alpinelinux.org/package/edge/community/x86_64/tesseract-ocr-data-pol)). See example below.\n\n```bash\n... extract --lang eng --lang pol --lang rus\n```\n\n### Whitelist\n\nBy default whitelist includes only A-Z characters (upper-case) for tickers and whole alphabet for companies names. It's the best setup but you can change it if you want to experiment a bit. See example below.\n\n```bash\n... extract --whitelist-tickers abcDEF123 --whitelist-names qwertyQWERTY\n```\n\n## License\n\n[MIT License](./LICENSE)\n\n## The list\n\nAs the result you will get a file with all recognized tickers and companies names.\n\n[Here](./LIST.md) you can find already extracted list of all available stocks. I will update it from time to time.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmapx%2Frevolut-stocks-list","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnmapx%2Frevolut-stocks-list","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmapx%2Frevolut-stocks-list/lists"}