{"id":17760903,"url":"https://github.com/dgnsrekt/nitter_scraper","last_synced_at":"2025-07-14T13:11:31.037Z","repository":{"id":44777796,"uuid":"291561413","full_name":"dgnsrekt/nitter_scraper","owner":"dgnsrekt","description":"Scrape Twitter API without authentication using Nitter.","archived":false,"fork":false,"pushed_at":"2022-11-04T20:01:05.000Z","size":219,"stargazers_count":63,"open_issues_count":8,"forks_count":13,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-10T13:06:26.597Z","etag":null,"topics":["client","docker","javascript","nitter","nitter-scraper","no-authentication","profile","python","scrape-tweets","self-hosted","tweets","twitter","twitter-api"],"latest_commit_sha":null,"homepage":"https://nitter-scraper.readthedocs.io/","language":"HTML","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/dgnsrekt.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}},"created_at":"2020-08-30T22:21:20.000Z","updated_at":"2025-07-05T08:26:28.000Z","dependencies_parsed_at":"2023-01-21T14:04:02.445Z","dependency_job_id":null,"html_url":"https://github.com/dgnsrekt/nitter_scraper","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/dgnsrekt/nitter_scraper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgnsrekt%2Fnitter_scraper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgnsrekt%2Fnitter_scraper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgnsrekt%2Fnitter_scraper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgnsrekt%2Fnitter_scraper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dgnsrekt","download_url":"https://codeload.github.com/dgnsrekt/nitter_scraper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgnsrekt%2Fnitter_scraper/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265297049,"owners_count":23742585,"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":["client","docker","javascript","nitter","nitter-scraper","no-authentication","profile","python","scrape-tweets","self-hosted","tweets","twitter","twitter-api"],"created_at":"2024-10-26T19:14:28.139Z","updated_at":"2025-07-14T13:11:30.746Z","avatar_url":"https://github.com/dgnsrekt.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nitter Scraper\n\nNitter Scraper is for anyone who enjoys the [twitter-scraper](https://github.com/bisguzar/twitter-scraper/) library. Nitter Scraper leverages running a local docker container instance of [nitter](https://github.com/zedeus/nitter) to scrape a users tweets and profile information without the twitter api ratelimit. This api works similar to the [twitter-scraper](https://github.com/bisguzar/twitter-scraper/) project with a few differences.\n\n## Docker Engine\nFor the best experience use this library with [Docker Engine](https://docs.docker.com/engine/) properly installed. The NitterScraper manager will start, stop and remove a docker instance of [nitter](https://hub.docker.com/r/zedeus/nitter). If you can't run docker you can import the get_tweets and get_profile functions to scrape from [nitter.net](http://www.nitter.net).\n\n\n## Getting Started\n\n### Prereqs\n* Docker Engine\n* Python ^3.7\n\n### Install\n```shell\npip install nitter-scraper\n```\n\n#### How to Scrape a twitter users profile information.\n```python\nfrom pprint import pprint\n\nfrom nitter_scraper import NitterScraper\n\nwith NitterScraper(host=\"0.0.0.0\", port=8008) as nitter:\n    profile = nitter.get_profile(\"dgnsrekt\")\n    print(\"serialize to json\\n\")\n    print(profile.json(indent=4))\n    print(\"serialize to a dictionary\\n\")\n    pprint(profile.dict())\n\n```\n#### Output\n```python\n$ python3 examples/basic_usage.py\n2020-09-21 18:11:23.429 | INFO     | nitter_scraper.nitter:_get_client:31 - Docker connection successful.\n2020-09-21 18:11:25.102 | INFO     | nitter_scraper.nitter:start:135 - Running container infallible_noyce 91122c9b7b.\nserialize to json\n\n{\n    \"username\": \"DGNSREKT\",\n    \"name\": \"DGNSREKT\",\n    \"profile_photo\": \"/pic/profile_images%2F1307990704384245760%2FSBVd3XT6.png\",\n    \"tweets_count\": 2897,\n    \"following_count\": 904,\n    \"followers_count\": 117,\n    \"likes_count\": 4992,\n    \"is_verified\": false,\n    \"banner_photo\": \"/pic/profile_banners%2F2474416796%2F1600684261%2F1500x500\",\n    \"biography\": \"BITCOIN IS DEAD AGAIN. :(\",\n    \"user_id\": 2474416796,\n    \"location\": \"Moon\",\n    \"website\": \"https://github.com/dgnsrekt\"\n}\nserialize to a dictionary\n\n{'banner_photo': '/pic/profile_banners%2F2474416796%2F1600684261%2F1500x500',\n 'biography': 'BITCOIN IS DEAD AGAIN. :(',\n 'followers_count': 117,\n 'following_count': 904,\n 'is_verified': False,\n 'likes_count': 4992,\n 'location': 'Moon',\n 'name': 'DGNSREKT',\n 'profile_photo': '/pic/profile_images%2F1307990704384245760%2FSBVd3XT6.png',\n 'tweets_count': 2897,\n 'user_id': 2474416796,\n 'username': 'DGNSREKT',\n 'website': 'https://github.com/dgnsrekt'}\n2020-09-21 18:11:25.905 | INFO     | nitter_scraper.nitter:stop:139 - Stopping container infallible_noyce 91122c9b7b.\n2020-09-21 18:11:31.284 | INFO     | nitter_scraper.nitter:stop:142 - Container infallible_noyce 91122c9b7b Destroyed.\n\n\n```\n#### Next step run the [examples](https://nitter-scraper.readthedocs.io/en/latest/examples/)\n\n## NitterScraper Limitation\n\n* About max 800 tweets per user.\n* Unable to scrape trends from nitter.\n* To scrape the user_id the user must have a banner photo. If the banner photo url isn't present\nthe user_id will be none.\n* The user_id cannot be scraped from the tweets.\n* birthday and is_private are not implemented in the profile.\n\n## Contact Information\nTelegram = Twitter = Tradingview = Discord = @dgnsrekt\n\nEmail = dgnsrekt@pm.me\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgnsrekt%2Fnitter_scraper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdgnsrekt%2Fnitter_scraper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgnsrekt%2Fnitter_scraper/lists"}