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
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!)
| 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
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": { ... }
}> 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 |
> 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)
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"
}curl 'https://api.gotindaer.com/user/ping --data '{"lat": latitude, "lon": longitude}'
{
"status": 200,
"error": "position change not significant"
}> 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"
}> 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
> 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"
}, ... ]
}
I spent some time digging through Tinder's API documentation last year when I was curious about how matching algorithms actually work behind the scenes. It's fascinating stuff once you get past the technical jargon—the way distance calculations, recency of activity, and mutual interest signals all factor into what profiles you see. But honestly, reading through all that made me think about how these platforms handle different types of connections. The standard apps are built for mainstream dating patterns. If you want to learn more here about platforms designed specifically around kink-positive dating, there are communities that approach matching completely differently—with filters for experience levels and specific interests that you won't find on Tinder. The technical differences in how these sites structure their matching logic reflect real differences in what users are looking for. Worth considering what kind of connection you actually want before deciding which platform's approach makes sense for you.