{"id":13794309,"url":"https://github.com/fbessez/Tinder","last_synced_at":"2025-05-12T21:30:34.313Z","repository":{"id":39498703,"uuid":"81671867","full_name":"fbessez/Tinder","owner":"fbessez","description":"Official November 2019 Documentation for Tinder's API (wrapper included)","archived":false,"fork":false,"pushed_at":"2023-01-29T23:17:18.000Z","size":710,"stargazers_count":845,"open_issues_count":47,"forks_count":198,"subscribers_count":32,"default_branch":"master","last_synced_at":"2024-11-12T14:22:50.482Z","etag":null,"topics":["dating","python-3","robobrowser","tinder","tinder-api","tinder-bot"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fbessez.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}},"created_at":"2017-02-11T18:09:51.000Z","updated_at":"2024-11-05T08:18:40.000Z","dependencies_parsed_at":"2023-02-16T01:45:56.000Z","dependency_job_id":null,"html_url":"https://github.com/fbessez/Tinder","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/fbessez%2FTinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbessez%2FTinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbessez%2FTinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbessez%2FTinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fbessez","download_url":"https://codeload.github.com/fbessez/Tinder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225152710,"owners_count":17429180,"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":["dating","python-3","robobrowser","tinder","tinder-api","tinder-bot"],"created_at":"2024-08-03T23:00:38.652Z","updated_at":"2024-11-18T08:31:33.351Z","avatar_url":"https://github.com/fbessez.png","language":"Python","readme":"# Tinder API Documentation - 2018\n\nFirst off, I want to give a shoutout to \u003ca href='https://gist.github.com/rtt/10403467#file-tinder-api-documentation-md'\u003e@rtt\u003c/a\u003e 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.\n\n**Note: This was updated in June 2018 so it might be outdated.**\n\n### API Details\n\u003ctable\u003e\n\t\u003ctbody\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003eHost\u003c/td\u003e\n\t\t\t\u003ctd\u003eapi.gotinder.com\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003eProtocol\u003c/td\u003e\n\t\t\t\u003ctd\u003eSSL\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\n### Required Headers\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003cth\u003eHeader\u003c/th\u003e\n\t\t\t\u003cth\u003eExample\u003c/th\u003e\n\t\t\t\u003cth\u003eNotes\u003c/th\u003e\n\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003eX-Auth-Token\u003c/td\u003e\n\t\t\t\u003ctd\u003eSee \"How to get facebook_token\" below\u003c/td\u003e\n\t\t\t\u003ctd\u003e\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003eContent-type\u003c/td\u003e\n\t\t\t\u003ctd\u003eapplication/json\u003c/td\u003e\n\t\t\t\u003ctd\u003eShouldn't be sent to `/like/_id` nor `/pass/_id` (#63)\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003eUser-agent\u003c/td\u003e\n\t\t\t\u003ctd\u003eTinder/7.5.3 (iPhone; iOS 10.3.2; Scale/2.00)\u003c/td\u003e\n\t\t\t\u003ctd\u003e\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\n### Known Endpoints\nNote: All endpoints are concatenated to the host url\n\nNote: 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)\n\u003ctable\u003e\n   \u003cthead\u003e\n      \u003ctr\u003e\n         \u003cth\u003eEndpoint\u003c/th\u003e\n         \u003cth\u003ePurpose\u003c/th\u003e\n         \u003cth\u003eData?\u003c/th\u003e\n         \u003cth\u003eMethod\u003c/th\u003e\n      \u003c/tr\u003e\n   \u003c/thead\u003e\n   \u003ctbody\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/auth\u003c/td\u003e\n         \u003ctd\u003eFor authenticating\u003c/td\u003e\n         \u003ctd\u003e{'facebook_token': INSERT_HERE, 'facebook_id': INSERT_HERE}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n       \u003ctd\u003e/v2/auth/sms/send?auth_type=sms\u003c/td\u003e\n       \u003ctd\u003ePart 1 of SMS authentication (two-factor)\u003c/td\u003e\n       \u003ctd\u003e{'phone_number': string}\u003c/td\u003e\n\t\t \u003ctd\u003ePOST\u003c/td\u003e\n\t  \u003c/tr\u003e\n      \u003ctr\u003e\n\t\t \u003ctd\u003e/v2/auth/sms/validate?auth_type=sms\u003c/td\u003e\n\t\t \u003ctd\u003ePart 2 of SMS authentication (two-factor)\u003c/td\u003e\n\t\t \u003ctd\u003e{'otp_code': string, 'phone_number': string }\u003c/td\u003e\n\t\t \u003ctd\u003ePOST\u003c/td\u003e\n\t  \u003c/tr\u003e\n     \t\u003ctr\u003e\n\t\t \u003ctd\u003e/v2/auth/login/sms\u003c/td\u003e\n\t\t \u003ctd\u003ePart 3 of SMS authentication (two-factor)\u003c/td\u003e\n\t\t \u003ctd\u003e{'refresh_token': string}\u003c/td\u003e\n\t\t \u003ctd\u003ePOST\u003c/td\u003e\n\t  \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/user/recs\u003c/td\u003e\n         \u003ctd\u003eGet match recommendations\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e/v2/matches\u003c/td\u003e\n\t\t\u003ctd\u003eGet your matches\u003c/td\u003e\n\t\t\u003ctd\u003equery in link should have count=1-100 e.g: /v2/matches?count=50\u003c/td\u003e\n\t\t\u003ctd\u003eGET\u003c/td\u003e\n\t   \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/user/matches/_id\u003c/td\u003e\n         \u003ctd\u003eSend Message to that id\u003c/td\u003e\n         \u003ctd\u003e{\"message\": TEXT GOES HERE}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/user/matches/match_id\u003c/td\u003e\n         \u003ctd\u003eUnmatch person\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eDELETE\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/user/_id\u003c/td\u003e\n         \u003ctd\u003eGet a user's profile data\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/user/ping\u003c/td\u003e\n         \u003ctd\u003eChange your location\u003c/td\u003e\n         \u003ctd\u003e{\"lat\": lat, \"lon\": lon}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/updates\u003c/td\u003e\n         \u003ctd\u003eGet all updates since the given date -- inserting \"\" will give you all updates since creating a Tinder account (i.e. matches, messages sent, etc.)\u003c/td\u003e\n         \u003ctd\u003e{\"last_activity_date\": \"\"} Input a timestamp: '2017-03-25T20:58:00.404Z' for updates since that time.\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/profile\u003c/td\u003e\n         \u003ctd\u003eGet your own profile data\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/profile\u003c/td\u003e\n         \u003ctd\u003eChange your search preferences\u003c/td\u003e\n         \u003ctd\u003e{\"age_filter_min\": age_filter_min, \"gender_filter\": gender_filter, \"gender\": gender, \"age_filter_max\": age_filter_max, \"distance_filter\": distance_filter}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/profile\u003c/td\u003e\n         \u003ctd\u003e(Tinder Plus Only) hide/show age\u003c/td\u003e\n         \u003ctd\u003e{\"hide_age\":boolean}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/profile\u003c/td\u003e\n         \u003ctd\u003e(Tinder Plus Only) hide/show distance\u003c/td\u003e\n         \u003ctd\u003e{\"hide_distance\":boolean}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/profile\u003c/td\u003e\n         \u003ctd\u003e(Tinder Plus Only) hide/show ads\u003c/td\u003e\n         \u003ctd\u003e{\"hide_ads\":boolean}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/profile\u003c/td\u003e\n         \u003ctd\u003e(Tinder Plus Only) Set Tinder Blend options to \"Recent Activity\": Shows more recently active users\u003c/td\u003e\n         \u003ctd\u003e{\"blend\":\"recency\"}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/profile\u003c/td\u003e\n         \u003ctd\u003e(Tinder Plus Only) Set Tinder Blend options to \"Optimal\": Scientifically proven to get you more matches\u003c/td\u003e\n         \u003ctd\u003e{\"blend\":\"optimal\"}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/profile\u003c/td\u003e\n         \u003ctd\u003e(Tinder Plus Only) Set discovery settings to only people who already liked you\u003c/td\u003e\n         \u003ctd\u003e{\"discoverable_party\":\"liked\"}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/passport/user/travel\u003c/td\u003e\n         \u003ctd\u003e(Tinder Plus Only) Travel to coordinate\u003c/td\u003e\n         \u003ctd\u003e{\"lat\":lat,\"lon\":lon}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/v1/activity/feed?direction=past\u0026eventTypes=1023\u003c/td\u003e\n         \u003ctd\u003eGet activity feed, including old and updated bios for comparison\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/instagram/authorize\u003c/td\u003e\n         \u003ctd\u003eAuth Instagram\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/v2/profile/spotify/\u003c/td\u003e\n         \u003ctd\u003eGet Spotify settings\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/v2/profile/spotify/theme\u003c/td\u003e\n         \u003ctd\u003eSet Spotify song\u003c/td\u003e\n         \u003ctd\u003e{\"id\":song_id}\u003c/td\u003e\n         \u003ctd\u003ePUT\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/profile/username\u003c/td\u003e\n         \u003ctd\u003eChange your webprofile username\u003c/td\u003e\n         \u003ctd\u003e{\"username\": username}\u003c/td\u003e\n         \u003ctd\u003ePUT\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/profile/username\u003c/td\u003e\n         \u003ctd\u003eReset your webprofile username\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eDELETE\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/meta\u003c/td\u003e\n         \u003ctd\u003eGet your own meta data (swipes left, people seen, etc..)\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/v2/meta\u003c/td\u003e\n         \u003ctd\u003eGet your own meta data from V2 API (extra data like \"top_picks\" info)\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/report/_id\u003c/td\u003e\n         \u003ctd\u003eReport someone --\u0026gt; There are only a few accepted causes... (see tinder_api.py for options)\u003c/td\u003e\n         \u003ctd\u003e{\"cause\": cause, \"text\": explanation}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/like/_id\u003c/td\u003e\n         \u003ctd\u003eLike someone a.k.a swipe right\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/pass/_id\u003c/td\u003e\n         \u003ctd\u003ePass on someone a.k.a swipe left\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/like/_id/super\u003c/td\u003e\n         \u003ctd\u003e~Super Like~ someone a.k.a swipe up\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/matches/{match id}\u003c/td\u003e\n         \u003ctd\u003eGet a match from its id (thanks \u003ca href=\"https://github.com/jtabet\"\u003e @jtabet \u003c/a\u003e)\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/message/{message id}\u003c/td\u003e\n         \u003ctd\u003eGet a message from its id (thanks \u003ca href=\"https://github.com/jtabet\"\u003e @jtabet \u003c/a\u003e)\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/passport/user/reset\u003c/td\u003e\n         \u003ctd\u003eReset your location to your real location\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/passport/user/travel\u003c/td\u003e\n         \u003ctd\u003eChange your swiping location\u003c/td\u003e\n         \u003ctd\u003e{\"lat\": latitutde, \"lon\": longitude}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/user/{user_id}/common_connections\u003c/td\u003e\n         \u003ctd\u003eGet common connection of a user\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/profile/job\u003c/td\u003e\n         \u003ctd\u003eSet job\u003c/td\u003e\n         \u003ctd\u003e{\"company\":{\"id\":\"17767109610\",\"name\":\"University of Miami\",\"displayed\":true},\"title\":{\"id\":\"106123522751852\",\"name\":\"Research Assistant\",\"displayed\":true}}\u003c/td\u003e\n         \u003ctd\u003ePUT\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/profile/job\u003c/td\u003e\n         \u003ctd\u003eDelete job\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eDELETE\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/profile/school\u003c/td\u003e\n         \u003ctd\u003eSet school(s)\u003c/td\u003e\n         \u003ctd\u003e{\"schools\":[{\"id\":school_id}]}\u003c/td\u003e\n         \u003ctd\u003ePUT\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/profile/school\u003c/td\u003e\n         \u003ctd\u003eReset school\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eDELETE\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/message/{message_id}/like\u003c/td\u003e\n         \u003ctd\u003eLike a message\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003ePOST\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/v2/fast-match/preview\u003c/td\u003e\n         \u003ctd\u003eGet the non blurred thumbnail image shown in the messages-window (the one showing the likes you received)\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/v2/fast-match/count\u003c/td\u003e\n         \u003ctd\u003eGet the number of likes you received\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/giphy/trending?limit={limit}\u003c/td\u003e\n         \u003ctd\u003eGet the trending gifs (tinder uses giphy) accessible in chat\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n         \u003ctd\u003e/giphy/search?limit={limit}\u0026query={query}\u003c/td\u003e\n         \u003ctd\u003eGet gifs (tinder uses giphy) based on a search accessible in chat\u003c/td\u003e\n         \u003ctd\u003e{}\u003c/td\u003e\n         \u003ctd\u003eGET\u003c/td\u003e\n      \u003c/tr\u003e\n   \u003c/tbody\u003e\n\u003c/table\u003e\n\n### Status Codes\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003cth\u003eStatus Code\u003c/th\u003e\n\t\t\t\u003cth\u003eExplanation\u003c/th\u003e\n\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e200\u003c/td\u003e\n\t\t\t\u003ctd\u003eEverything went okay, and \n\t\t\t\treturned a result (if any).\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e301\u003c/td\u003e\n\t\t\t\u003ctd\u003eThe server is redirecting you to a different endpoint. This can happen when a company switches domain names, or an endpoint's name has changed.\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e400\u003c/td\u003e\n\t\t\t\u003ctd\u003eThe 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.\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e401\u003c/td\u003e\n\t\t\t\u003ctd\u003eThe server thinks you're not authenticated. This happens when you don't send the right credentials to access an API\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e404\u003c/td\u003e\n\t\t\t\u003ctd\u003eThe server didn't find the resource you tried to access.\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e503\u003c/td\u003e\n\t\t\t\u003ctd\u003eBack-end server is at capacity.\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n### Config File\n\u003ch5\u003e \u003cstrong\u003e facebook_access_token and fb_user_id \u003c/strong\u003e\u003c/h5\u003e\n\nSimply 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!\n\u003cbr\u003e\n\u003ch5\u003e\u003cstrong\u003e SMS Authentication (implemented by \u003ca href='https://github.com/Tagge'\u003e@Tagge\u003c/a\u003e) \u003c/strong\u003e\u003c/h5\u003e\nSMS authentication is even easier. Just run phone_auth_token.py . You'll be asked your phone number at runtime, you'll then have to type in the code you received by SMS, and it will return your token. We didn't directly implement it in the tinder_api.py because, as opposed to Facebook auth, there's a rate limit to the number of SMS you can receive in an hour (actually 60). It's therefore better to get your token once and use it within its lifetime (24 hours) rather than asking for a new one everytime.\u003cbr\u003e\nWith your token ready, add it to tinder_config_ex.py (value for tinder_token). You're now ready to roll !\n\n\n\u003cstrong\u003e Note: \u003c/strong\u003e With the help of \u003ca href=https://github.com/philipperemy/Deep-Learning-Tinder/blob/master/tinder_token.py\u003e philliperemy \u003c/a\u003e, I have included a programatic way to acquire your facebook_token. Now, in your config.py just input your facebook username and password.\n\n\n\u003cstrong\u003e Note: \u003c/strong\u003e With the help of \u003ca href=https://github.com/gloriamacia\u003e gloriamacia \u003c/a\u003e, we added now a jupyter notebook to make the usage even simpler.\n\n\u003ch2\u003e Key Features \u003c/h2\u003e\n\n\u003ch3\u003e Match_Info:\u003c/h3\u003e\n\u003ch4\u003e Creates a local dictionary containing the following keys on each of your matches \u003c/h4\u003e\n\n```javascript\n{\n\t  123456: {\n\t    'messages': [\n\n\t    ],\n\t    'age': 20,\n\t    'match_id': '123456789123456789',\n\t    'name': 'Joakim',\n\t    'photos': [\n\t      'http://images.gotinder.com/123456789123456789.jpg',\n\t      'http://images.gotinder.com/123456789123456789.jpg',\n\t      'http://images.gotinder.com/123456789123456789.jpg',\n\t      'http://images.gotinder.com/123456789123456789.jpg'\n\t    ],\n\t    'message_count': 0,\n\t    'last_activity_date': '15 days, 16 hrs 46 min 57 sec',\n\t    'ping_time': '2017-03-11T04:58:56.433Z',\n\t    'gender': 1,\n\t    'bio': 'New York Knicks Center',\n\t    'avg_successRate': 0\n\t  },\n\t  56789: {\n\t    ...\n\t  }\n}\n```\n\n\u003ch3\u003e Sorting: \u003c/h3\u003e\n\u003ch4\u003e Sorting matches by \"age\", \"message_count\", and \"gender\" \u003c/h4\u003e\n\n```javascript\n[\n\t  ('123456789123456789',\n\t  {\n\t    'messages': [\n\n\t    ],\n\t    'age': 19,\n\t    'match_id': '123456789123456789abcdefghi',\n\t    'name': 'Carmelo',\n\t    'photos': [\n\t      'http://images.gotinder.com/123456789123456789.jpg',\n\t      'http://images.gotinder.com/123456789123456789.jpg',\n\t      'http://images.gotinder.com/123456789123456789.jpg',\n\t      'http://images.gotinder.com/123456789123456789.jpg'\n\t    ],\n\t    'message_count': 0,\n\t    'last_activity_date': '0 days, 22 hrs 23 min 45 sec',\n\t    'ping_time': '2017-03-25T23:22:08.954Z',\n\t    'gender': 1,\n\t    'bio': 'I do not like to win sometimes', 'avg_successRate': 0.7837966008217391\n\t    }\n\t    )\n]\n```\n\n\n\u003ch2\u003e 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.\u003c/h2\u003e\n```\n\n\u003ch3\u003e Friends' Pingtimes: \u003c/h3\u003e\n\u003ch4\u003e friends_pingtimes() will return the following for each facebook friend of yours who has a Tinder\nfriend_pingtime_by_name(\"Joakim Noah\") will return the pingtime for only that particular friend.\nThe following is a sample result for friends_pingtimes(): \u003c/h4\u003e\n\n`\n\t\"Joakim Noah -----\u003e 15 days, 16 hrs 46 min 57 sec\"\n\t\"Carmelo Anthony ------\u003e 0 days, 22 hrs 23 min 45 sec\"\n\t...\n`\n\n\u003ch3\u003e Facebook Friends: \u003c/h3\u003e\n\u003ch4\u003e 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. \u003c/h4\u003e\n\n\n```javascript\n\n{\n\t  'Martin Shkreli': {\n\t    'photo': [\n\t      {\n\t        'processedFiles': [\n\t          {\n\t            'url': 'https://graph.facebook.com/123456789/picture?height=84\u0026width=84',\n\t            'height': 84,\n\t            'width': 84\n\t          },\n\t          {\n\t            'url': 'https://graph.facebook.com/123456789/picture?height=172\u0026width=172',\n\t            'height': 172,\n\t            'width': 172\n\t          },\n\t          {\n\t            'url': 'https://graph.facebook.com/123456789/picture?height=320\u0026width=320',\n\t            'height': 320,\n\t            'width': 320\n\t          },\n\t          {\n\t            'url': 'https://graph.facebook.com/123456789/picture?height=640\u0026width=640',\n\t            'height': 640,\n\t            'width': 640\n\t          }\n\t        ]\n\t      }\n\t    ],\n\t    'in_squad': True,\n\t    'name': 'Martin Shkreli',\n\t    'user_id': '582bf320452u3yy1217f8'\n\t  }\n}\n```\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffbessez%2FTinder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffbessez%2FTinder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffbessez%2FTinder/lists"}