{"id":19739491,"url":"https://github.com/maximedrn/pinterest-automatic-upload","last_synced_at":"2025-04-30T05:32:01.574Z","repository":{"id":65779883,"uuid":"424595048","full_name":"maximedrn/pinterest-automatic-upload","owner":"maximedrn","description":"Automatically upload as many Pins as you want to Pinterest.","archived":true,"fork":false,"pushed_at":"2023-12-06T12:44:06.000Z","size":69,"stargazers_count":79,"open_issues_count":0,"forks_count":18,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T09:29:32.598Z","etag":null,"topics":["bot","pinterest","python","upload","uploader"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maximedrn.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-11-04T12:54:03.000Z","updated_at":"2025-03-09T15:20:42.000Z","dependencies_parsed_at":"2023-12-06T13:50:24.733Z","dependency_job_id":null,"html_url":"https://github.com/maximedrn/pinterest-automatic-upload","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maximedrn%2Fpinterest-automatic-upload","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maximedrn%2Fpinterest-automatic-upload/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maximedrn%2Fpinterest-automatic-upload/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maximedrn%2Fpinterest-automatic-upload/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maximedrn","download_url":"https://codeload.github.com/maximedrn/pinterest-automatic-upload/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251649102,"owners_count":21621475,"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":["bot","pinterest","python","upload","uploader"],"created_at":"2024-11-12T01:17:29.521Z","updated_at":"2025-04-30T05:32:01.236Z","avatar_url":"https://github.com/maximedrn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automatically upload as many Pins as you want to Pinterest.\n\n**Version 1.1 - December 27, 2021** _**This script is not maintained anymore.**_  \nThe upload limit on Pinterest is about 150 pins in a row.\n\n## Table of contents:\n\n* **[Changelog](https://github.com/maximedrn/pinterest-automatic-upload#changelog).**\n* **[What does this bot do?](https://github.com/maximedrn/pinterest-automatic-upload#what-does-this-bot-do)**\n* **[Instructions](https://github.com/maximedrn/pinterest-automatic-upload#instructions)**.\n  * [Basic installation of Python for beginners](https://github.com/maximedrn/pinterest-automatic-upload#basic-installation-of-python-for-beginners).\n  * [Configuration of the bot](https://github.com/maximedrn/pinterest-automatic-upload#configuration-of-the-bot).\n* **[Known issues](https://github.com/maximedrn/pinterest-automatic-upload#known-issues).**\n* **[Data files structure](https://github.com/maximedrn/pinterest-automatic-upload#data-files-structure).**\n\n\n## Changelog:\n\n* **Version 1.1:**\n  * Pinboard issue fixed.\n  * Description issue fixed.\n  * Minor bugs fixed. \n\n* **Version 1.0:** \n  * Inital commit.\n\n\n## What does this bot do?\n\nThis script allows you to upload as many Pins (150 in a row) as you want to Pinterest, all automatically and quickly (about 4 Pins per minute).  \nThe upload limit on Pinterest is about 150 pins in a row. **You can do multiple upload sessions in a day but risk having your account suspended.**\n\n\n## Instructions:\n\n### Basic installation of Python for beginners:\n  * Download this repository or clone it:\n  \n  ```\n  git clone https://github.com/maximedrn/pinterest-automatic-uploader.git\n  ```\n  * It requires [Python](https://www.python.org/) 3.7 or a newest version.\n  * Install [pip](https://pip.pypa.io/en/stable/installation/) to be able to have needed Python modules.\n  * Open a command prompt in repository folder and type:\n  \n  ```\n  pip install -r requirements.txt\n  ```\n\n\n### Configuration of bot:\n\n  * Download and install [Google Chrome](https://www.google.com/intl/en_en/chrome/).\n  * Download the [ChromeDriver executable](https://chromedriver.chromium.org/downloads) that is compatible with the actual version of your Google Chrome browser and your OS (Operating System). Refer to: _[What version of Google Chrome do I have?](https://www.whatismybrowser.com/detect/what-version-of-chrome-do-i-have)_\n  * Extract the executable from the ZIP file and copy/paste it in the `assets/` folder of the repository. You may need to change the path of the file:\n\n```python\n    class Pinterest:\n        \"\"\"Main class of the Pinterest uploader.\"\"\"\n\n        def __init__(self, email: str, password: str) -\u003e None:\n            \"\"\"Set path of used file and start webdriver.\"\"\"\n            self.email = email  # Pinterest email.\n            self.password = password  # Pinterest password.\n            self.webdriver_path = os.path.abspath('assets/chromedriver.exe')  # Edit this line with your path.\n            self.driver = self.webdriver()  # Start new webdriver.\n            self.login_url = 'https://www.pinterest.com/login/'\n            self.upload_url = 'https://www.pinterest.com/pin-builder/'\n```\n  * **Optional:** the email and the password are asked when you run the bot, but you can:\n    * create and open the `assets/email.txt` file, and then write your Pinterest email;\n    * create and open the `assets/password.txt` file, and then write your Pinterest password.\n  * Create your Pins data file containing all details of each Pin. It can be a JSON or CSV file. Save it in the data folder.  \n    **[What structure should the files have?](https://github.com/maximedrn/pinterest-automatic-upload#data-files-structure)**\n\n\n## Known issues:\n\n* If you are using a Linux distribution or MacOS, you may need to change some parts of the code:  \n  * ChromeDriver extension may need to be changed from `.exe` to something else.\n* **If you use a JSON file for your Pins data, the file path should not contain a unique \"\\\\\". It can be a \"/\" or a \"\\\\\\\\\":**\n\n```json\n  \"file_path\": \"C:/Users/Admin/Desktop/Pinterest/image.png\",\n  // or:\n  \"file_path\": \"C:\\\\Users\\\\Admin\\\\Desktop\\\\Pinterest\\\\image.png\",\n  // but not:\n  \"file_path\": \"C:\\Users\\Admin\\Desktop\\Pinterest\\image.png\", // You can see that \"\\\" is highlighted in red.\n  ```\n\n* ### Data files structure:\n\n   * \u003cstrong\u003erequired value *\u003c/strong\u003e\n          \n   \u003cbr\u003e\n   \u003ctable\u003e\n      \u003ctbody\u003e\n         \u003ctr\u003e\n            \u003ctd\u003eSettings\u003c/td\u003e\n            \u003ctd\u003eTypes\u003c/td\u003e\n            \u003ctd\u003eExamples\u003c/td\u003e\n         \u003c/tr\u003e\n         \u003ctr\u003e\n            \u003ctd\u003e\u003cstrong\u003ePinboard *\u003c/strong\u003e\u003c/td\u003e\n            \u003ctd\u003eString\u003c/td\u003e\n         \u003c/tr\u003e\n         \u003ctr\u003e\n            \u003ctd\u003e\u003cstrong\u003eFile Path *\u003c/strong\u003e\u003c/td\u003e\n            \u003ctd\u003eString\u003c/td\u003e\n         \u003c/tr\u003e\n         \u003ctr\u003e\n            \u003ctd\u003e\u003cstrong\u003eTitle *\u003c/strong\u003e\u003c/td\u003e\n            \u003ctd\u003eString (maximum 100 characters).\u003c/td\u003e\n         \u003c/tr\u003e\n         \u003ctr\u003e\n            \u003ctd\u003eDescription\u003c/td\u003e\n            \u003ctd\u003eString (maximum 500 characters).\u003c/td\u003e\n         \u003c/tr\u003e\n         \u003ctr\u003e\n            \u003ctd\u003eAlt text\u003c/td\u003e\n            \u003ctd\u003eString (maximum 500 characters).\u003c/td\u003e\n         \u003c/tr\u003e\n         \u003ctr\u003e\n            \u003ctd\u003eLink\u003c/td\u003e\n            \u003ctd\u003eString\u003c/td\u003e\n         \u003c/tr\u003e\n         \u003ctr\u003e\n            \u003ctd\u003eDate\u003c/td\u003e\n            \u003ctd\u003eString (Maximum 14 days later)\n              \u003cbr\u003e(Format: DD/MM/YYYY HH:MM).\u003c/td\u003e\n            \u003ctd\u003e\"01/01/2022 12:00\" or \"01/01/2022 15:30\"\u003c/td\u003e\n         \u003c/tr\u003e\n      \u003c/tbody\u003e\n   \u003c/table\u003e\n\nYou should have something like this:  [JSON](https://github.com/maximedrn/pinterest-automatic-upload/blob/master/data/json_structure.json), [CSV](https://github.com/maximedrn/pinterest-automatic-upload/blob/master/data/csv_structure.csv).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaximedrn%2Fpinterest-automatic-upload","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaximedrn%2Fpinterest-automatic-upload","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaximedrn%2Fpinterest-automatic-upload/lists"}