{"id":15521036,"url":"https://github.com/sloev/nemid_bank_transcripts","last_synced_at":"2026-04-22T13:33:37.768Z","repository":{"id":142330295,"uuid":"345978663","full_name":"sloev/nemid_bank_transcripts","owner":"sloev","description":null,"archived":false,"fork":false,"pushed_at":"2021-03-11T08:18:11.000Z","size":40,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-09T22:45:47.936Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/sloev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2021-03-09T11:10:21.000Z","updated_at":"2021-03-16T05:54:46.000Z","dependencies_parsed_at":"2023-06-03T04:15:46.603Z","dependency_job_id":null,"html_url":"https://github.com/sloev/nemid_bank_transcripts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sloev/nemid_bank_transcripts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sloev%2Fnemid_bank_transcripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sloev%2Fnemid_bank_transcripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sloev%2Fnemid_bank_transcripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sloev%2Fnemid_bank_transcripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sloev","download_url":"https://codeload.github.com/sloev/nemid_bank_transcripts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sloev%2Fnemid_bank_transcripts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32139417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T13:27:12.868Z","status":"ssl_error","status_checked_at":"2026-04-22T13:26:44.791Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-10-02T10:31:53.030Z","updated_at":"2026-04-22T13:33:37.749Z","avatar_url":"https://github.com/sloev.png","language":"JavaScript","funding_links":["https://www.buymeacoffee.com/sloev"],"categories":[],"sub_categories":[],"readme":"# Scrape your bank transactions to stdout jsonlines (with NemId)\n\n\u003ca href=\"https://www.buymeacoffee.com/sloev\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-pink.png\" alt=\"Buy Me A Coffee\" height=\"51px\" width=\"217px\"\u003e\u003c/a\u003e\n\n\u003e :warning: **always read the code before running, this is afterall given your nemid!**\n\n## How it works\n\n![diagram](/metadata/diagram.png)\n\n\n`scrape.js` logs into your netbank using NemId credentials, it will click \"send auth request\" which will prompt your NemId app to let you authenticate.\n\nIt will then go to your transactions and scroll down while intercepting all HTTP requests made to a certain path containing your transaction history. After scrolling for a bit it will go back to the top and start from scratch scrolling again.\n\nIt will continue to do so until it gets logged out where it again will prompt the users Nemid app to authorize that it logs in again and starts polling transaction records.\n\n\u003e :warning: In theory it should work with most danish banks using \"Bankernes EDB Central\" according to [this issue](https://github.com/bank2ynab/bank2ynab/issues/219)\n\n## Usage\n\ninstall `nodejs\u003e=15.3` *[get nodejs](https://nodejs.org/en/)*\n\n```bash\n$ npm install .\n```\n\n\u003e *Example based on using Fælleskassen*\n\n```bash\n$ NETBANK_URL=https://netbank.faelleskassen.dk \\\n  NEM_USERNAME=something \\\n  NEM_PASSWORD=darkly \\\n  node scrape.js \u003e\u003e stream.jsonl\n```\n\nand `stream.jsonl` will contain something like:\n\n```json\n...\n{\"amount\":-23,\"balance\":3413.27,\"description\":\"Kontaktløs something\",\"timestamp\":\"2016-10-02T04:43:26.348622+01:00\",\"id\":\"BR-adsfsdafdfdasdfas\"}\n{\"amount\":543,\"balance\":23.27,\"description\":\"gamle varer something\",\"timestamp\":\"2017-10-02T04:43:26.348622+01:00\",\"id\":\"BR-asdfasfvasghsghsd\"}\n...\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsloev%2Fnemid_bank_transcripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsloev%2Fnemid_bank_transcripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsloev%2Fnemid_bank_transcripts/lists"}