Skip to content

Instantly share code, notes, and snippets.

Created October 3, 2015 19:46
Show Gist options
  • Save UndergroundLabs/fad38205068ffb904685 to your computer and use it in GitHub Desktop.
Save UndergroundLabs/fad38205068ffb904685 to your computer and use it in GitHub Desktop.
Facebook Python Login Script
import argparse
import requests
import pyquery
def login(session, email, password):
Attempt to login to Facebook. Returns user ID, xs token and
fb_dtsg token. All 3 are required to make requests to
Facebook endpoints as a logged in user. Returns False if
login failed.
# Navigate to Facebook's homepage to load Facebook's cookies.
response = session.get('')
# Attempt to login to Facebook
response ='', data={
'email': email,
'pass': password
}, allow_redirects=False)
# If c_user cookie is present, login was successful
if 'c_user' in response.cookies:
# Make a request to homepage to get fb_dtsg token
homepage_resp = session.get('')
dom = pyquery.PyQuery(homepage_resp.text.encode('utf8'))
fb_dtsg = dom('input[name="fb_dtsg"]').val()
return fb_dtsg, response.cookies['c_user'], response.cookies['xs']
return False
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Login to Facebook')
parser.add_argument('email', help='Email address')
parser.add_argument('password', help='Login password')
args = parser.parse_args()
session = requests.session()
'User-Agent': 'Mozilla/5.0 (X11; Linux i686; rv:39.0) Gecko/20100101 Firefox/39.0'
fb_dtsg, user_id, xs = login(session,, args.password)
if user_id:
print '{0}:{1}:{2}'.format(fb_dtsg, user_id, xs)
print 'Login Failed'
Copy link

error: the following arguments are required: email, password
i am trying to put username and password but it gives error

Copy link

Working 2 april 2019. Thanks!

it doesn't work!!!!how it works with you ,please.??

Copy link

python-life commented Nov 24, 2023 via email

Copy link

T31337 commented Mar 18, 2024

File "C:\Users\Admin\Dev\Python\PyProject\", line 57, in
fb_dtsg, user_id, xs = login(session,, args.password)
TypeError: cannot unpack non-iterable bool object

This Might Be A Parsing Error Due To {and} in user password?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment