Skip to content

Instantly share code, notes, and snippets.

@rtt
Last active April 20, 2024 17:01
Show Gist options
  • Save rtt/10403467 to your computer and use it in GitHub Desktop.
Save rtt/10403467 to your computer and use it in GitHub Desktop.
Tinder API Documentation

Tinder API documentation

Note: this was written in April/May 2014 and the API may has definitely changed since. I have nothing to do with Tinder, nor its API, and I do not offer any support for anything you may build on top of this. Proceed with caution

http://rsty.org/

I've sniffed most of the Tinder API to see how it works. You can use this to create bots (etc) very trivially. Some example python bot code is here -> https://gist.github.com/rtt/5a2e0cfa638c938cca59 (horribly quick and dirty, you've been warned!)

API Details

Host api.gotinder.com
Protocol https only

Request headers

Header name Description / example Required?
X-Auth-Token A UUID4 format authentication token obtained via the /auth api endpoint Yes
Content-type application/json Yes
app_version 3 no
platform ios no
User-agent User-Agent: Tinder/3.0.4 (iPhone; iOS 7.1; Scale/2.00) Yes
os_version 700001 No

Note: all curl examples below omit headers for brevity -- you'll need to add the required headers shown in the table above

Authenticating

You'll need to supply a facebook auth token and an associated facebook id.

> curl -X POST https://api.gotinder.com/auth --data '{"facebook_token": fb_token, "facebook_id": fb_user_id}'

The easiest way to get this is to go here, log in and then pick the auth token out of the URL you are redirected to.

Response:

{
	"token": "8c839cee-0980-4b73-861b-8739cb597f57",
	"user": { ... }, 
	"globals": { ... },
	"versions": { ... }
}

Updating your profile

> curl -X POST https://api.tinder.com/profile --data '{"age_filter_min": 26, "gender": 1, "age_filter_max": 32, "distance_filter": 14}'

Parameter info:

Gender 0: Male
1: Female
age_filter_min int of min age match
age_filter_max int of max age match
distance_filter max search radius in kilometers

Reporting a user

> curl -X POST 'https://api.gotinder.com/report/{_id} --data '{"cause": cause_id}'

Note cause_id: should be 1 or 2, (1 is spam, 2 is inappropriate/offensive)

Message sending

Send a message to a match. Note you'll get a 500 back if you try to send a message to someone who isn't a match

curl 'https://api.gotindaer.com/user/matches/{_id} --data '{"message": "your message here"}'

response:

{
	"_id":"53467235483cb56c475cc1d6",
	"from":"53430689ab3c04c13e006ffb",
	"to":"533a59ea52046fc077002815",
	"match_id":"53464b0728ac73976d0a3fbf",
	"sent_date":"2014-04-10T10:28:05.764Z",
	"message":"hi!",
	"created_date":"2014-04-10T10:28:05.764Z"
}

Updating your location

curl 'https://api.gotindaer.com/user/ping --data '{"lat": latitude, "lon": longitude}'

{
	"status": 200,
	"error": "position change not significant"
}

Get "updates"

> curl 'https://api.gotindaer.com/updates'

Response:

{
	"matches": [{
		"_id": "53464b0728ac73976d0a3fbf",
		"messages": [{
			"_id": "534651198ce6da797248c1a3",
			"match_id": "53464b0728ac73976d0a3fbf",
			"to": "53430689ab3c04c13e006ffb",
			"from": "533a59ea52046fc077002815",
			"message": "hi  .... how is it going?",
			"sent_date": "2014-04-10T08:06:49.800Z",
			"created_date": "2014-04-10T08:06:49.800Z",
			"timestamp": 1397117209800
		}, {
			"_id": "53466fd298b7278b72156523",
			"match_id": "53464b0728ac73976d0a3fbf",
			"to": "533a59ea52046fc077002815",
			"from": "53430689ab3c04c13e006ffb",
			"message": "Good thanks you? :)",
			"sent_date": "2014-04-10T10:17:54.379Z",
			"created_date": "2014-04-10T10:17:54.379Z",
			"timestamp": 1397125074379
		}],
		"last_activity_date": "2014-04-10T10:17:54.379Z"
	}],
	"blocks": [],
	"lists": [],
	"deleted_lists": [],
	"last_activity_date": "2014-04-10T10:17:54.379Z"
}

To 'like' or 'pass' a User

> curl https://api.gotinder.com/{like|pass}/{_id}

Response:

{match: match_result}

match_result will be true if they like you, false if they haven't liked you or don't like you

Recommendations

> curl https://api.gotinder.com/user/recs
{
    "status": 200,
    "results": [{
        "distance_mi": 2,
        "common_like_count": 0,
        "common_friend_count": 0,
        "common_likes": [],
        "common_friends": [],
        "_id": "518d666a2a00df0e490000b9",
        "bio": "",
        "birth_date": "1986-05-17T00:00:00.000Z",
        "gender": 1,
        "name": "Elen",
        "ping_time": "2014-04-08T11:59:18.494Z",
        "photos": [{
            "id": "fea4f480-7ce0-4143-a310-a03c2b2cdbc6",
            "main": true,
            "crop": "source",
            "fileName": "fea4f480-7ce0-4143-a310-a03c2b2cdbc6.jpg",
            "extension": "jpg",
            "processedFiles": [{
                "width": 640,
                "height": 640,
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/640x640_fea4f480-7ce0-4143-a310-a03c2b2cdbc6.jpg"
            }, {
                "width": 320,
                "height": 320,
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/320x320_fea4f480-7ce0-4143-a310-a03c2b2cdbc6.jpg"
            }, {
                "width": 172,
                "height": 172,
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/172x172_fea4f480-7ce0-4143-a310-a03c2b2cdbc6.jpg"
            }, {
                "width": 84,
                "height": 84,
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/84x84_fea4f480-7ce0-4143-a310-a03c2b2cdbc6.jpg"
            }],
            "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/fea4f480-7ce0-4143-a310-a03c2b2cdbc6.jpg"
        }, {
            "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/5c1d3231-5a75-4a07-91ff-5c012716583f.jpg",
            "processedFiles": [{
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/640x640_pct_0_29.5312464_540_540_5c1d3231-5a75-4a07-91ff-5c012716583f.jpg",
                "height": 640,
                "width": 640
            }, {
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/320x320_pct_0_29.5312464_540_540_5c1d3231-5a75-4a07-91ff-5c012716583f.jpg",
                "height": 320,
                "width": 320
            }, {
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/172x172_pct_0_29.5312464_540_540_5c1d3231-5a75-4a07-91ff-5c012716583f.jpg",
                "height": 172,
                "width": 172
            }, {
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/84x84_pct_0_29.5312464_540_540_5c1d3231-5a75-4a07-91ff-5c012716583f.jpg",
                "height": 84,
                "width": 84
            }],
            "extension": "jpg",
            "fileName": "5c1d3231-5a75-4a07-91ff-5c012716583f.jpg",
            "main": false,
            "ydistance_percent": 0.75,
            "yoffset_percent": 0.04101562,
            "xoffset_percent": 0,
            "id": "5c1d3231-5a75-4a07-91ff-5c012716583f",
            "xdistance_percent": 1
        }, {
            "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/5abd87e5-a181-4946-a8b9-880926a78943.jpg",
            "processedFiles": [{
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/640x640_pct_0_118.125_540_540_5abd87e5-a181-4946-a8b9-880926a78943.jpg",
                "height": 640,
                "width": 640
            }, {
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/320x320_pct_0_118.125_540_540_5abd87e5-a181-4946-a8b9-880926a78943.jpg",
                "height": 320,
                "width": 320
            }, {
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/172x172_pct_0_118.125_540_540_5abd87e5-a181-4946-a8b9-880926a78943.jpg",
                "height": 172,
                "width": 172
            }, {
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/84x84_pct_0_118.125_540_540_5abd87e5-a181-4946-a8b9-880926a78943.jpg",
                "height": 84,
                "width": 84
            }],
            "extension": "jpg",
            "fileName": "5abd87e5-a181-4946-a8b9-880926a78943.jpg",
            "main": false,
            "ydistance_percent": 0.75,
            "yoffset_percent": 0.1640625,
            "xoffset_percent": 0,
            "id": "5abd87e5-a181-4946-a8b9-880926a78943",
            "xdistance_percent": 1
        }, {
            "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/5e168698-a034-40c0-b7fb-7c05743f2310.jpg",
            "processedFiles": [{
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/640x640_pct_157.570344_0_405_405_5e168698-a034-40c0-b7fb-7c05743f2310.jpg",
                "height": 640,
                "width": 640
            }, {
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/320x320_pct_157.570344_0_405_405_5e168698-a034-40c0-b7fb-7c05743f2310.jpg",
                "height": 320,
                "width": 320
            }, {
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/172x172_pct_157.570344_0_405_405_5e168698-a034-40c0-b7fb-7c05743f2310.jpg",
                "height": 172,
                "width": 172
            }, {
                "url": "http://images.gotinder.com/518d666a2a00df0e490000b9/84x84_pct_157.570344_0_405_405_5e168698-a034-40c0-b7fb-7c05743f2310.jpg",
                "height": 84,
                "width": 84
            }],
            "extension": "jpg",
            "fileName": "5e168698-a034-40c0-b7fb-7c05743f2310.jpg",
            "main": false,
            "ydistance_percent": 1,
            "yoffset_percent": 0,
            "xoffset_percent": 0.2188477,
            "id": "5e168698-a034-40c0-b7fb-7c05743f2310",
            "xdistance_percent": 0.5625
        }],
        "birth_date_info": "fuzzy birthdate active, not displaying real birth_date"
    }, {
        "distance_mi": 4,
        "common_like_count": 0,
        "common_friend_count": 0,
        "common_likes": [],
        "common_friends": [],
        "_id": "52cfc097f43cd91a67003639",
        "bio": "",
        "birth_date": "1987-11-02T00:00:00.000Z",
        "gender": 1,
        "name": "Cristina",
        "ping_time": "2014-04-06T16:52:51.605Z",
        "photos": [{
            "id": "4ab7173f-7884-4fe3-872f-32c01d77de2a",
            "main": "main",
            "shape": "center_square",
            "fileName": "4ab7173f-7884-4fe3-872f-32c01d77de2a.jpg",
            "extension": "jpg",
            "processedFiles": [{
                "width": 640,
                "height": 640,
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/640x640_4ab7173f-7884-4fe3-872f-32c01d77de2a.jpg"
            }, {
                "width": 320,
                "height": 320,
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/320x320_4ab7173f-7884-4fe3-872f-32c01d77de2a.jpg"
            }, {
                "width": 172,
                "height": 172,
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/172x172_4ab7173f-7884-4fe3-872f-32c01d77de2a.jpg"
            }, {
                "width": 84,
                "height": 84,
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/84x84_4ab7173f-7884-4fe3-872f-32c01d77de2a.jpg"
            }],
            "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/4ab7173f-7884-4fe3-872f-32c01d77de2a.jpg"
        }, {
            "id": "bb8ac90b-f48a-4a1c-8cba-0c05d26f1b47",
            "shape": "center_square",
            "fileName": "bb8ac90b-f48a-4a1c-8cba-0c05d26f1b47.jpg",
            "extension": "jpg",
            "processedFiles": [{
                "width": 640,
                "height": 640,
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/640x640_bb8ac90b-f48a-4a1c-8cba-0c05d26f1b47.jpg"
            }, {
                "width": 320,
                "height": 320,
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/320x320_bb8ac90b-f48a-4a1c-8cba-0c05d26f1b47.jpg"
            }, {
                "width": 172,
                "height": 172,
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/172x172_bb8ac90b-f48a-4a1c-8cba-0c05d26f1b47.jpg"
            }, {
                "width": 84,
                "height": 84,
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/84x84_bb8ac90b-f48a-4a1c-8cba-0c05d26f1b47.jpg"
            }],
            "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/bb8ac90b-f48a-4a1c-8cba-0c05d26f1b47.jpg"
        }, {
            "id": "dabe1c27-f186-48f2-807f-8a68e3831fe9",
            "shape": "center_square",
            "fileName": "dabe1c27-f186-48f2-807f-8a68e3831fe9.jpg",
            "extension": "jpg",
            "processedFiles": [{
                "width": 640,
                "height": 640,
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/640x640_dabe1c27-f186-48f2-807f-8a68e3831fe9.jpg"
            }, {
                "width": 320,
                "height": 320,
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/320x320_dabe1c27-f186-48f2-807f-8a68e3831fe9.jpg"
            }, {
                "width": 172,
                "height": 172,
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/172x172_dabe1c27-f186-48f2-807f-8a68e3831fe9.jpg"
            }, {
                "width": 84,
                "height": 84,
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/84x84_dabe1c27-f186-48f2-807f-8a68e3831fe9.jpg"
            }],
            "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/dabe1c27-f186-48f2-807f-8a68e3831fe9.jpg"
        }, {
            "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/59263e9d-6d76-4f42-8c8e-b4cf635b03c7.jpg",
            "processedFiles": [{
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/640x640_59263e9d-6d76-4f42-8c8e-b4cf635b03c7.jpg",
                "height": 640,
                "width": 640
            }, {
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/320x320_59263e9d-6d76-4f42-8c8e-b4cf635b03c7.jpg",
                "height": 320,
                "width": 320
            }, {
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/172x172_59263e9d-6d76-4f42-8c8e-b4cf635b03c7.jpg",
                "height": 172,
                "width": 172
            }, {
                "url": "http://images.gotinder.com/52cfc097f43cd91a67003639/84x84_59263e9d-6d76-4f42-8c8e-b4cf635b03c7.jpg",
                "height": 84,
                "width": 84
            }],
            "extension": "jpg",
            "fileName": "59263e9d-6d76-4f42-8c8e-b4cf635b03c7.jpg",
            "main": false,
            "ydistance_percent": 0.75,
            "yoffset_percent": 0.08554687,
            "xoffset_percent": 0,
            "id": "59263e9d-6d76-4f42-8c8e-b4cf635b03c7",
            "xdistance_percent": 1
        }],
        "birth_date_info": "fuzzy birthdate active, not displaying real birth_date"
    }, ... ]
}
@R0L02796
Copy link

Tried to get the user recs but am getting a 404 now, any ideas?

Im having the same issue di you fix it?

@Scylla2020
Copy link

Try this one instead https://github.com/fbessez/Tinder. There's a solution in the pr

@R0L02796
Copy link

yeah thank u i was able to solve it by changing the api client i had for get instead of a post of user/recs

@WiseEye
Copy link

WiseEye commented Aug 20, 2023

Is this still working?

@Cdaprod
Copy link

Cdaprod commented Sep 13, 2023

Yeah but how do I set the girl width and height? 😂

@Camel-light
Copy link

Guys, everything broke down on the authentication. At least the SMS authentication. Everything is new: endpoints and the POST request and response payloads are strange, and encrypted. They have the annoying akroselbs embedded into it now. New challenge!

@idb-
Copy link

idb- commented Oct 5, 2023

Guys, everything broke down on the authentication. At least the SMS authentication. Everything is new: endpoints and the POST request and response payloads are strange, and encrypted. They have the annoying akroselbs embedded into it now. New challenge!

The auth payloads are not encrypted. The models are just protobuf based now instead of json. I've successfully written the authorization code. I need to implement the arkose challenge solving, but it seems like the documentation on 2captcha for it is incorrect, and trying to get information from those guys is like pulling teeth. Their response time on support tickets is garbage.

@Scylla2020
Copy link

Guys this was solved ages ago in a different repo that I linked above why are you wasting time reinventing lol you’ll come to the same solution anyways its all protobuff stuff

@gelodefaultbrain
Copy link

Guys this was solved ages ago in a different repo that I linked above why are you wasting time reinventing lol you’ll come to the same solution anyways its all protobuff stuff

Hi , any solution to what Im encountering here?

@Scylla2020
Copy link

Guys this was solved ages ago in a different repo that I linked above why are you wasting time reinventing lol you’ll come to the same solution anyways its all protobuff stuff

Hi , any solution to what Im encountering here?

Did you follow the link i posted above? This repo is old tinder uses a different system now

@gelodefaultbrain
Copy link

gelodefaultbrain commented Oct 7, 2023

Guys this was solved ages ago in a different repo that I linked above why are you wasting time reinventing lol you’ll come to the same solution anyways its all protobuff stuff

Hi , any solution to what Im encountering here?

Did you follow the link i posted above? This repo is old tinder uses a different system now

Hi , are you referring to this repo? and as a solution to this PR? I think repo seems outdated as well, commits were years ago

@Scylla2020
Copy link

Scylla2020 commented Oct 7, 2023

Yes thats the one. The pr is working not the repo sorry

@traffisco
Copy link

Guys, everything broke down on the authentication. At least the SMS authentication. Everything is new: endpoints and the POST request and response payloads are strange, and encrypted. They have the annoying akroselbs embedded into it now. New challenge!

The auth payloads are not encrypted. The models are just protobuf based now instead of json. I've successfully written the authorization code. I need to implement the arkose challenge solving, but it seems like the documentation on 2captcha for it is incorrect, and trying to get information from those guys is like pulling teeth. Their response time on support tickets is garbage.

Hey,
Do you have a response from 2captcha?
What do you put in websiteURL?

@idb-
Copy link

idb- commented Oct 26, 2023

Guys, everything broke down on the authentication. At least the SMS authentication. Everything is new: endpoints and the POST request and response payloads are strange, and encrypted. They have the annoying akroselbs embedded into it now. New challenge!

The auth payloads are not encrypted. The models are just protobuf based now instead of json. I've successfully written the authorization code. I need to implement the arkose challenge solving, but it seems like the documentation on 2captcha for it is incorrect, and trying to get information from those guys is like pulling teeth. Their response time on support tickets is garbage.

Hey, Do you have a response from 2captcha? What do you put in websiteURL?

I got it sorted out. Everything is smooth sailing now :)

@traffisco
Copy link

Glad to hear. Care to share 2captcha settings? I got the key and the js domain, not sure about the website url. Not even sure that the problem is the captcha, I get the solution and post it back but still get shadowbanned. Funny enough, I do the captcha, selfie verification, after the selfie approved(I see in responses), the account is still shadowbanned

@whelamc
Copy link

whelamc commented Oct 27, 2023

shadowbanned depends on your Network environment in proxy,sometimes they banned it from your network,you must make change

@traffisco
Copy link

shadowbanned depends on your Network environment in proxy,sometimes they banned it from your network,you must make change

When you do the captcha, you pass your own proxy or just rely on the captcha service?

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