Skip to content

jasonwoz/Tinder

 
 

Repository files navigation

Tinder API Documentation - 2018

First off, I want to give a shoutout to @rtt who initially posted the Tinder API Documentation that I found most of these endpoints on. I am writing this to provide a more up-to-date resource for working with the Tinder API.

Note: This was updated in February 2018 so it might be outdated.

API Details

Host api.gotinder.com
Protocol SSL

Required Headers

Header Example
X-Auth-Token See "How to get facebook_token" below
Content-type application/json
User-agent Tinder/7.5.3 (iPhone; iOS 10.3.2; Scale/2.00)

Known Endpoints

Note: All endpoints are concatenated to the host url

Note: All curls must be sent with the headers as well (the only exception is that the /auth call must not have the X-Auth-Token header)

Endpoint Purpose Data? Method
/auth For authenticating {'facebook_token': INSERT_HERE, 'facebook_id': INSERT_HERE} POST
/user/recs Get match recommendations {} GET
/user/matches/_id Send Message to that id {"message": TEXT GOES HERE} POST
/user/_id Get a user's profile data {} GET
/user/ping Change your location {"lat": lat, "lon": lon} POST
/updates Get all updates since the given date -- inserting "" will give you all updates since creating a Tinder account (i.e. matches, messages sent, etc.) {"last_activity_date": ""} Input a timestamp: '2017-03-25T20:58:00.404Z' for updates since that time. POST
/profile Get your own profile data {} GET
/profile Change your search preferences {"age_filter_min": age_filter_min, "gender_filter": gender_filter, "gender": gender, "age_filter_max": age_filter_max, "distance_filter": distance_filter} POST
/meta Get your own meta data (swipes left, people seen, etc..) {} GET
/report/_id Report someone --> There are only a few accepted causes... (see tinder_api.py for options) {"cause": cause, "text": explanation} POST
/like/_id Like someone a.k.a swipe right {} GET
/pass/_id Pass on someone a.k.a swipe left {} GET
/like/_id/super ~Super Like~ someone a.k.a swipe up {} POST
/matches/{match id} Get a match from its id (thanks @jtabet ) {} GET
/message/{message id} Get a message from its id (thanks @jtabet ) {} GET
/passport/user/reset Reset your location to your real location {} POST
/passport/user/travel Change your swiping location {lat: latitutde, lon: longitude} POST

Status Codes

Status Code Explanation
200 Everything went okay, and the server returned a result (if any).
301 he server is redirecting you to a different endpoint. This can happen when a company switches domain names, or an endpoint's name has changed.
400 The server thinks you made a bad request. This can happen when you don't send the information the API requires to process your request, among other things.
401 The server thinks you're not authenticated. This happens when you don't send the right credentials to access an API
404 The server didn't find the resource you tried to access.

Config File

facebook_access_token and fb_user_id

Simply input your facebook username/email and password in your config file. Then, the fb_auth_token.py module will programmatically retrieve your facebook_access_token and fb_user_id. These are then used to generate your tinder_auth_token in tinder_api.py which grants you access to your data! Happy Swiping!

Note: With the help of philliperemy , I have included a programatic way to acquire your facebook_token. Now, in your config.py just input your facebook username and password.

Note: With the help of gloriamacia , we added now a jupyter notebook to make the usage even simpler.

Key Features

Match_Info:

Creates a local dictionary containing the following keys on each of your matches

{
	  123456: {
	    'messages': [

	    ],
	    'age': 20,
	    'match_id': '123456789123456789',
	    'name': 'Joakim',
	    'photos': [
	      'http://images.gotinder.com/123456789123456789.jpg',
	      'http://images.gotinder.com/123456789123456789.jpg',
	      'http://images.gotinder.com/123456789123456789.jpg',
	      'http://images.gotinder.com/123456789123456789.jpg'
	    ],
	    'message_count': 0,
	    'last_activity_date': '15 days, 16 hrs 46 min 57 sec',
	    'ping_time': '2017-03-11T04:58:56.433Z',
	    'gender': 1,
	    'bio': 'New York Knicks Center',
	    'avg_successRate': 0
	  },
	  56789: {
	    ...
	  }
}

Sorting:

Sorting matches by "age", "message_count", and "gender"

[
	  ('123456789123456789',
	  {
	    'messages': [

	    ],
	    'age': 19,
	    'match_id': '123456789123456789abcdefghi',
	    'name': 'Carmelo',
	    'photos': [
	      'http://images.gotinder.com/123456789123456789.jpg',
	      'http://images.gotinder.com/123456789123456789.jpg',
	      'http://images.gotinder.com/123456789123456789.jpg',
	      'http://images.gotinder.com/123456789123456789.jpg'
	    ],
	    'message_count': 0,
	    'last_activity_date': '0 days, 22 hrs 23 min 45 sec',
	    'ping_time': '2017-03-25T23:22:08.954Z',
	    'gender': 1,
	    'bio': 'I do not like to win sometimes', 'avg_successRate': 0.7837966008217391
	    }
	    )
]

The following is no longer available due to Tinder setting their ping_time to a constant date in 2014 and/or the removal of Tinder Social.

```

Friends' Pingtimes:

friends_pingtimes() will return the following for each facebook friend of yours who has a Tinder friend_pingtime_by_name("Joakim Noah") will return the pingtime for only that particular friend. The following is a sample result for friends_pingtimes():

"Joakim Noah -----> 15 days, 16 hrs 46 min 57 sec" "Carmelo Anthony ------> 0 days, 22 hrs 23 min 45 sec" ...

Facebook Friends:

Given a name, it returns some profile information and their id. Once you have the ID, then you can call api.get_person(id) to get more in-depth information on your friends.

{
	  'Martin Shkreli': {
	    'photo': [
	      {
	        'processedFiles': [
	          {
	            'url': 'https://graph.facebook.com/123456789/picture?height=84&width=84',
	            'height': 84,
	            'width': 84
	          },
	          {
	            'url': 'https://graph.facebook.com/123456789/picture?height=172&width=172',
	            'height': 172,
	            'width': 172
	          },
	          {
	            'url': 'https://graph.facebook.com/123456789/picture?height=320&width=320',
	            'height': 320,
	            'width': 320
	          },
	          {
	            'url': 'https://graph.facebook.com/123456789/picture?height=640&width=640',
	            'height': 640,
	            'width': 640
	          }
	        ]
	      }
	    ],
	    'in_squad': True,
	    'name': 'Martin Shkreli',
	    'user_id': '582bf320452u3yy1217f8'
	  }
}

About

Official September 2017 Documentation for Tinder's API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 94.2%
  • Python 5.8%