{"id":14065118,"url":"https://github.com/mmohades/Venmo","last_synced_at":"2025-07-29T20:31:06.657Z","repository":{"id":45201504,"uuid":"230363006","full_name":"mmohades/Venmo","owner":"mmohades","description":"Venmo API client for Python","archived":false,"fork":false,"pushed_at":"2023-08-16T23:42:25.000Z","size":100,"stargazers_count":134,"open_issues_count":8,"forks_count":38,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-03-15T01:03:34.236Z","etag":null,"topics":["api-wrapper","venmo","venmo-api"],"latest_commit_sha":null,"homepage":"","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/mmohades.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}},"created_at":"2019-12-27T03:00:46.000Z","updated_at":"2024-02-26T16:04:10.000Z","dependencies_parsed_at":"2022-07-15T08:51:43.310Z","dependency_job_id":"80d2c55c-b2ef-493b-80a2-6fde4b748ed2","html_url":"https://github.com/mmohades/Venmo","commit_stats":{"total_commits":35,"total_committers":9,"mean_commits":3.888888888888889,"dds":"0.22857142857142854","last_synced_commit":"0f0739dc8090d96073539722c57972df3ef315db"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmohades%2FVenmo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmohades%2FVenmo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmohades%2FVenmo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmohades%2FVenmo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmohades","download_url":"https://codeload.github.com/mmohades/Venmo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228046076,"owners_count":17861089,"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":["api-wrapper","venmo","venmo-api"],"created_at":"2024-08-13T07:04:18.775Z","updated_at":"2024-12-04T04:30:45.862Z","avatar_url":"https://github.com/mmohades.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Venmo API\n\nDisclaimer: This is an individual effort and is not PayPal/Venmo sponsored or maintained. \n\n## Introduction\n\nThis is a wrapper for the Venmo API. This library provides a Python interface for the Venmo API. It's compatible with Python versions 3.6+.\n\n## Installing\n\nYou can install or upgrade venmo-api with:\n\n```bash\n$ pip3 install venmo-api --upgrade\n```\n\nOr you can install it from the source:\n\n```bash\n$ git clone https://github.com/mmohades/Venmo.git --recursive\n$ cd Venmo\n$ python3 setup.py install\n```\n\n## Getting Started\n\n### Usage\n\nTo use the API client, you first need to get your account's access token. Store your access token somewhere safe as anyone with the token can do everything with your Venmo account (e.g., transferring money). Also, make sure to revoke your access token once you are done using it using [log_out()](#revoke-token).\n\n```python\nfrom venmo_api import Client\n\n# Get your access token. You will need to complete the 2FA process\n# Please store it somewhere safe and use it next time\n# Never commit your credentials or token to a git repository\naccess_token = Client.get_access_token(username='myemail@random.com',\n                                        password='your password')\nprint(\"My token:\", access_token)\n```\n\nThe following is an example of initializing and working with the api client.\n\n ```python\naccess_token = \"YOUR_ACCESS_TOKEN\"\n\n# Initialize api client using an access-token\nclient = Client(access_token=access_token)\n\n# Search for users. You get a maximum of 50 results per request.\nusers = client.user.search_for_users(query=\"Peter\")\nfor user in users:\n    print(user.username)\n\n# Or pass a callback to make it multi-threaded\ndef callback(users):\n    for user in users:\n        print(user.username)\n\nclient.user.search_for_users(query=\"peter\",\n                             callback=callback,\n                             limit=10)\n ```\n##### Revoke token\n\nKeep this in mind that your access token never expires! You will need to revoke it yoursef:\n\n```Python\nclient.log_out(\"Bearer a40fsdfhsfhdsfjhdkgljsdglkdsfj3j3i4349t34j7d\")\n```\n\n\n\n##### Payment methods\n\nGet all your payment methods to use one's id for sending_money\n\n````python\npayment_methods = client.payment.get_payment_methods()\nfor payment_method in payment_methods:\n    print(payment_method.to_json())\n````\n\n##### Sending or requesting money\n\n```python\n# Request money\nclient.payment.request_money(32.5, \"house expenses\", \"0000000000000000000\")\n# Send money (with default payment method)\nclient.payment.send_money(13.68, \"thanks for the 🍔\", \"0000000000000000000\")\n\n# Send money (with the provided payment method id)\nclient.payment.send_money(amount=13.68,\n                          note=\"thanks for the 🍔\",\n                          target_user_id=\"0000000000000000000\",\n                          funding_source_id='9999999999999999999')\n```\n\n##### Transactions\n\nGetting a user's transactions (only the ones that are visible to you, e.g, their `public` transactions)\n\n```python\ndef callback(transactions_list):\n    for transaction in transactions_list:\n        print(transaction)\n\n# callback is optional. Max number of transactions per request is 50.\nclient.user.get_user_transactions(user_id='0000000000000000000',\n                                     callback=callback)\n```\n\n##### Friends list\n\n```python\n# Get a user's friend's list\nusers = client.user.get_user_friends_list(user_id='0000000000000000000')\nfor user in users:\n    print(user)\n```\n\n##### Pagination\n\nHere is a pagination example:\n\n```python\n# Get all the transactions possible (prints 50 per request until nothing has left)\ntransactions = client.user.get_user_transactions(user_id='0000000000000000000')\nwhile transactions:\n    for transaction in transactions:\n        print(transaction)\n\n    print(\"\\n\" + \"=\" * 15 + \"\\n\\tNEXT PAGE\\n\" + \"=\" * 15 + \"\\n\")\n    transactions = transactions.get_next_page()\n```\n\n### Documentation\n\n`venmo-api`'s documentation lives at [readthedocs.io](https://venmo.readthedocs.io/en/latest/).\n\n## Contributing\n\nContributions of all sizes are welcome. You can help with the wrapper documentation located in /docs. You can also help by [reporting bugs](https://github.com/mmohades/VenmoApi/issues/new). You can add more routes to both  [Venmo Unofficial API Documentation](https://github.com/mmohades/VenmoApiDocumentation) and the `venmo-api` wrapper. \n\n## Venmo Unofficial API Documentation\n\nYou can find and contribute to the [Venmo Unofficial API Documentation](https://github.com/mmohades/VenmoApiDocumentation).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmohades%2FVenmo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmohades%2FVenmo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmohades%2FVenmo/lists"}