Skip to main content

Unofficial pinterest api implemented in python 3

Project description

py3-pinterest

Unofficial Pinterest API implemented in python 3 that can do almost all pinterest tasks like comment, pin, repin, follow, unfollow and more. It is implemented by directly calling the pinterest servers, mimicking an actual browser, so you don't need pinterest API key.

If you see any issues, or find bugs feel free to report them here on the github repo.

Install using pip

pip install py3-pinterest

NOTE: for each of the functionalities listed below there is a working example under the project root.

Create new instance of the API

pinterest = Pinterest(email='your email goes here', password='password goes here', username='look in pinterest url', cred_root='cred root dir')

cred_root is the dir (automatically created if missing) that will store some cookies nad sessions, so you don't need to login before each request. Make sure you specify a path with read/write persmissions.

The following features are currently supported

Login

Login will store auth cookies for later use. These cookies are usually valid for ~15 days, then you will start getting 403 and 401 errors, which means you need to call login again.

pinterest.login()

Load profile

You can load profile for currently logged in user or any user specified by username.

user_profile = pinterest.get_user_overview()

Board and pin management

Get all boards of user:

boards = pinterest.boards(username='username')

List all pins in board

pins = pinterest.board_feed(board_id=board_id)

If username is left blank, current logged in user will be used.

Delete pin

pinterest.delete_pin(pin_id='pin_id')

Repin

pinterest.repin(board_id='board_id', pin_id='pin_id')

Get pinnable images

A pinterest feature they use to pin from websites

pinterest.get_pinnable_images(url='https://www.tumblr.com/search/food')

Pin

pinterest.pin(board_id=board_id, image_url=image_url, description=description, title=title)

Get home feed pins

home_feed_batch = pinterest.home_feed()

Get board recommendations (this is the 'more ideas' api)

rec_batch = pinterest.board_recommendations(board_id=board_id)

Get pin by id

pinterest.load_pin(pin_id='pin_id')

Section support

pinterest.create_board_section(board_id=board_id, section_name=section_name) pinterest.delete_board_section(section_id=section_id) pinterest.get_board_sections(board_id=board_id)

You can also pin and repin to sections.

Follow/Unfollow

Follow

pinterest.follow_user(user_id='target_user_id', username='target_username')

Follow limit is 300 per day, after that they might place you on watch list

Unfollow

pinterest.unfollow_user(user_id='target_user_id', username='target_username')

Unfollow limit is 350 per day, after that they might place you on watch list

Get following

following_batch = pinterest.get_following(username='some_user')

If username is not provided current user will be used

Get followers

followers_batch=pinterest.get_user_followers(username='some_user')

If username is not provided current user will be used

Follow board

pinterest.follow_board(board_id=board_id)

Unfollow board

pinterest.unfollow_board(board_id=board_id)

Search

search_batch = pinterest.search(scope='boards', query='food')

Current pinterest scopes are: pins, buyable_pins, my_pins, videos, users, boards

User interactions

Invite to board

pinterest.invite(board_id=board_id, user_id=target_user_id)

Delete board invite

pinterest.delete_invite(board_id=board_id, invited_user_id=target_user_id)

Get board invites

invites_batch = pinterest.get_board_invites(board_id=board_id)

Comment

pinterest.comment(pin_id=pin_id, text=comment_text)

Delete comment

pinterest.delete_comment(pin_id=pin_id, comment_id=comment_id)

Get Pin comments

pinterest.get_comments(pin_id='pin_id')

Send perosnal message

pinterest.send_message(conversation_id=conversation_id, pin_id="(pin_id)", message="hey")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py3-pinterest-1.0.1.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py3_pinterest-1.0.1-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file py3-pinterest-1.0.1.tar.gz.

File metadata

  • Download URL: py3-pinterest-1.0.1.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.5.2

File hashes

Hashes for py3-pinterest-1.0.1.tar.gz
Algorithm Hash digest
SHA256 f063e13ede42de0e739262d0a2ca5de140de7a6e73a294a544a1780c11c343ff
MD5 0d716429ab411c7f96a1e5252a62a3fb
BLAKE2b-256 74791c1d4e4ebe17035d9e3d14de5874e77caa91c56d51a06976b5514e96f126

See more details on using hashes here.

File details

Details for the file py3_pinterest-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: py3_pinterest-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.5.2

File hashes

Hashes for py3_pinterest-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c96ca20314c85add0cf10a3f10b9126b086d63c7b52c85031e9cfcd9001a003b
MD5 f0811c6067af7e4776d157a47e831259
BLAKE2b-256 09a5bb025371d4a14f57e64a053e2794c093c3145a57b2e704b98c152c5fca29

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page