{"id":17719111,"url":"https://github.com/claromes/waybacktweets","last_synced_at":"2025-04-04T12:06:03.082Z","repository":{"id":163800671,"uuid":"639239555","full_name":"claromes/waybacktweets","owner":"claromes","description":"Retrieves archived tweets from Wayback Machine in HTML, CSV, and JSON","archived":false,"fork":false,"pushed_at":"2025-03-02T22:46:02.000Z","size":6947,"stargazers_count":100,"open_issues_count":3,"forks_count":28,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-03T11:15:31.378Z","etag":null,"topics":["internet-archive","osint","osint-tools","socmint","twitter","wayback-machine","wayback-tweets","x"],"latest_commit_sha":null,"homepage":"https://claromes.github.io/waybacktweets/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/claromes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["claromes"]}},"created_at":"2023-05-11T04:02:02.000Z","updated_at":"2025-03-29T11:56:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"1f891c91-6f00-49f5-896e-9cc5fae2da3b","html_url":"https://github.com/claromes/waybacktweets","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claromes%2Fwaybacktweets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claromes%2Fwaybacktweets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claromes%2Fwaybacktweets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claromes%2Fwaybacktweets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/claromes","download_url":"https://codeload.github.com/claromes/waybacktweets/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246997587,"owners_count":20866686,"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":["internet-archive","osint","osint-tools","socmint","twitter","wayback-machine","wayback-tweets","x"],"created_at":"2024-10-25T15:00:09.531Z","updated_at":"2025-04-04T12:06:03.063Z","avatar_url":"https://github.com/claromes.png","language":"Python","readme":"# Wayback Tweets\n\n[![PyPI](https://img.shields.io/pypi/v/waybacktweets)](https://pypi.org/project/waybacktweets) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.12528447.svg)](https://doi.org/10.5281/zenodo.12528447) [![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://waybacktweets.streamlit.app) [![Open In Collab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1tnaM3rMWpoSHBZ4P_6iHFPjraWRQ3OGe?usp=sharing)\n\n\nRetrieves archived tweets CDX data from the Wayback Machine, performs necessary parsing (see [Field Options](https://claromes.github.io/waybacktweets/field_options.html)), and saves the data in HTML, for easy viewing of the tweets using the iframe tags, CSV, and JSON formats.\n\n## Installation\n\n```shell\npip install waybacktweets\n```\n\n## Quickstart\n\n### Using Wayback Tweets as a standalone command line tool\n\nwaybacktweets [OPTIONS] USERNAME\n\n```shell\nwaybacktweets --from 20150101 --to 20191231 --limit 250 jack\n```\n\n### Using Wayback Tweets as a Web App\n\n[Open the application](https://waybacktweets.streamlit.app), a prototype written in Python with the Streamlit framework and hosted on Streamlit Cloud.\n\n### Using Wayback Tweets as a Python Module\n\n```python\nfrom waybacktweets import WaybackTweets, TweetsParser, TweetsExporter\n\nUSERNAME = \"jack\"\n\napi = WaybackTweets(USERNAME)\narchived_tweets = api.get()\n\nif archived_tweets:\n    field_options = [\n        \"archived_timestamp\",\n        \"original_tweet_url\",\n        \"archived_tweet_url\",\n        \"archived_statuscode\",\n    ]\n\n    parser = TweetsParser(archived_tweets, USERNAME, field_options)\n    parsed_tweets = parser.parse()\n\n    exporter = TweetsExporter(parsed_tweets, USERNAME, field_options)\n    exporter.save_to_csv()\n```\n\n## Documentation\n\n- [Wayback Tweets documentation](https://claromes.github.io/waybacktweets)\n- [Wayback CDX Server API (Beta) documentation](https://archive.org/developers/wayback-cdx-server.html)\n\n## Acknowledgements\n\n- Tristan Lee (Bellingcat's Data Scientist) for the idea of the application.\n- Jessica Smith (Snowflake's Community Growth Specialist) and Streamlit/Snowflake team for the additional server resources on Streamlit Cloud.\n- OSINT Community for recommending the application.\n\n\u003e [!NOTE]\n\u003e If the Streamlit application is down, please check the [Streamlit Cloud Status](https://www.streamlitstatus.com/).\n","funding_links":["https://github.com/sponsors/claromes"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclaromes%2Fwaybacktweets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclaromes%2Fwaybacktweets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclaromes%2Fwaybacktweets/lists"}