fbessez / tinder Goto Github PK
View Code? Open in Web Editor NEWOfficial November 2019 Documentation for Tinder's API (wrapper included)
License: MIT License
Official November 2019 Documentation for Tinder's API (wrapper included)
License: MIT License
{
"code": 401,
"error": "Invalid App ID 302914573649600#INVALID_APP_ID@auth_handlers_facebook.getIdByToken}",
"error_no": 87401
}
when i am trying to login with tinder with api https://api.gotinder.com/auth
by giving valid token and fb id it show this erro. please help me to rectify this issue
Is it possible to receive messages?
What's the deal here?
$ python features.py
Traceback (most recent call last):
File "features.py", line 7, in
import config
ImportError: No module named 'config'
pip install config
Sorry I haven't used Python in a while so I totally forgot about pip.
Hi,
Thanks for your great work. Do you know if is there any way to acquire a session token by simulating the phone number/sms sign up mechanism used by the official Tinder App? It makes use of Facebook's Account Kit? If so, would it invalidate the existing session from the official App?
I'm trying to log in with my Facebook token and ID but everytime I do it it returns "OK" instead of my profile, so I've got no token to keep using the API. I checked this with my own wrapper and with a rest client and both return the same. This started happening yesterday in the afternoon.
All I want to do is send a picture of my choosing by following the guide at the following website
https://medium.com/@calialec/swipe-left-on-tinder-s-security-sending-more-than-just-gifs-and-crashing-matches-phones-isn-t-ca21462f88be
I cannot, for the life of me figure out how to do this. I can find zero pertinent information to my query, and I don't even know if I should use the chrome developer console or an app like postman, please help. All I really need is a simple example of verbatim what you would put into the console or postman, with the link that I could replace. No amount of editing or trying his "example" worked and it always returned errors. I don't know what to leave out and what to include, I have spent 3 hours trying to figure it out with naught to show for it. I have absolutely no idea what or where this "config file" is that you spontaneously mention halfway through the documentation. Why didn't you make a tutorial, rather than information that is only useful to people who already know what they're doing, and probably don't need this information anyway.
Did you figure out how to activate the "Boost" feature ?
thanks
When I try to use the script for getting the auth-token with robobrowser facebook closes the account due to suspicious activity.
Anyone else experiencing the problem and knows how to solve it?
Hey
just wondering if there are any troubleshooting ideas for the tinder_api.get_auth_token() function?
its throwing the default exception
No JSON object could be decoded
{'error': 'Something went wrong. Sorry, but we could not authorize you.'}
successfully got fb_access_token and fb_user_id but when I pass them to the get_auth_token function it fails.
Any ideas of troubleshooting ideas?
Iโve an issue about 403 Forbidden error when I send like or pass request. This error appears for all other accounts. Who can help me? Thank.
@fbessez I am trying to use your repo as an example to build an Electron version. If I authentication with my own fb app then tinder auth returns
{"code":500,"error":"Error calling Facebook: FB API Error HTTP status code: 400. Error message: (#12) bio field is deprecated for versions v2.8 and higher. Error code: undefined @lib/facebookClient.makeRequest#FB_UNKNOWN","error_no":50014}
With the above link using the tinder SSO does not redirect anywhere, I listen for a redirect event and grab the token from the new url returned. Do you know how to trigger a redirect using that link or a way to programmatically get the access token?
when i try to send message to specific Id with this payload
{
"message":"hi test dude"
}
output
{
"status": "404",
"error": ""
}
Does someone know what the endpoint and JSON is to set the username programatically?
I have a correct token and I am sending a POST request with postman to /auth
. However, I keep getting Missing authToken#NO_FB_TOKEN
. Any thoughts? ๐ค
Thanks!
Have you found the api request to find the number of people that have liked you?
(Can be found in the matches page in the app).
I'm trying to run the following function on the correct email address and password:
import re
import requests
import robobrowser
MOBILE_USER_AGENT = "{personal_UA}"
FB_AUTH = "https://www.facebook.com/v2.6/dialog/oauth?redirect_uri=fb464891386855067%3A%2F%2Fauthorize%2F&display=touch&state=%7B%22challenge%22%3A%22IUUkEUqIGud332lfu%252BMJhxL4Wlc%253D%22%2C%220_auth_logger_id%22%3A%2230F06532-A1B9-4B10-BB28-B29956C71AB1%22%2C%22com.facebook.sdk_client_state%22%3Atrue%2C%223_method%22%3A%22sfvc_auth%22%7D&scope=user_birthday%2Cuser_photos%2Cuser_education_history%2Cemail%2Cuser_relationship_details%2Cuser_friends%2Cuser_work_history%2Cuser_likes&response_type=token%2Csigned_request&default_audience=friends&return_scopes=true&auth_type=rerequest&client_id=464891386855067&ret=login&sdk=ios&logger_id=30F06532-A1B9-4B10-BB28-B29956C71AB1&ext=1470840777&hash=AeZqkIcf-NEW6vBd"
def get_fb_access_token(email, password):
s = robobrowser.RoboBrowser(user_agent=MOBILE_USER_AGENT, parser="lxml")
s.open(FB_AUTH)
f = s.get_form()
f["pass"] = password
f["email"] = email
s.submit_form(f)
f = s.get_form()
s.submit_form(f, submit=f.submit_fields['__CONFIRM__'])
access_token = re.search(
r"access_token=([\w\d]+)", s.response.content.decode()).groups()[0]
return access_token
However, I get the following error:
BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.
The traceback points back:
18 s.submit_form(f, submit=f.submit_fields['CONFIRM'])
After doing a bit of research, it seems submit=f.submit_fields['__CONFIRM__'])
can be changed to submit='__CONFIRM__'
. However, the response.content doesn't include the access_token but instead I see more of the bad requests:
[...]badRequestKeys:["nonce","access_token","oauth_token","xs"][...]
Thoughts? Does it only not work for me or something?
Hello, where can i find actual methods of API?
Thanks
hi, I have a question.
I think I can't gether the data exactly.
python -i features.py
You have been successfully authorized!
Gathering Data on your matches...
An exception of type KeyError occurred. Arguments:
('bio',)
An exception of type KeyError occurred. Arguments:
('bio',)
.....
How can I fix it?
Seems that you can't get updates from the API anymore...
Hi,
I just tried this great project and I'm very exited about :) But a little problem appeared, after a successful auth (and some config to display requests details):
In [33]: tinder_api.like("583b4a3be6230d9d08761381")
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): api.gotinder.com
send: 'GET /like/583b4a3be6230d9d08761381 HTTP/1.1\r\nHost: api.gotinder.com\r\napp_version: 6.9.4\r\nAccept-Encoding: gzip, deflate\r\nAccept: application/json\r\nX-Auth-Token: xxxxx-xxxxxx-xxxxxx\r\nplatform: ios\r\nConnection: keep-alive\r\nUser-agent: Tinder/7.5.3 (iPhone; iOS 10.3.2; Scale/2.00)\r\ncontent-type: application/json\r\n\r\n'get_person
reply: 'HTTP/1.1 400 Bad Request\r\n'
header: Content-Type: application/json; charset=utf-8
header: Date: Fri, 15 Feb 2019 01:14:37 GMT
header: X-Request-ID: b8tqs3k7qpju5afs8gg0
header: Content-Length: 42
header: Connection: keep-alive
DEBUG:requests.packages.urllib3.connectionpool:"GET /like/583b4a3be6230d9d08761381 HTTP/1.1" 400 42
Out[33]: {u'error': u'malformed request', u'status': 400}
In the other hand, tinder_api.get_person("583b4a3be6230d9d08761381")
works well. get_meta()
, get_self()
works too.
Just got the same problem as the other guys in Jul 2018. My auth-link isn't working because of the version. The get_fb_access_token function returns me an 403 error... Maybe someone knows the new version of the URL! I also tried to change version 2.6 to 3.2 (doesn't help anything).
Any way to get own user location?
It doesn't look like distance_mi
is returned anymore either. Any idea where this is? Will try and inspect it myself soon but thought i'd see if you know :)
Looks like an issue with retrieving access token.
I am trying to like and dislike people using the API. But every time I make a call to the URL the response I get always has likes_remaining set to 100. Is there another way to make the call?
Even with distance set to 100, I'm only getting a few recommendations. Do I not get a new set of recommendation until I've swiped through the first queue?
$ curl -X POST -H "X-Auth-Token: FB_AUTH_TOKEN" \ -H "Content-type: application/json" \ -H "User-agent: Tinder/7.5.3 (iPhone; iOS 10.3.2; Scale/2.00)" \ https://api.gotinder.com/auth
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 69 100 69 0 0 105 0 --:--:-- --:--:-- --:--:-- 105{"code":400,"error":"Missing authToken#NO_FB_TOKEN","error_no":40001}
I'm just trying out the first command, to get authentication but it's not working. Am I using the incorrect Facebook Auth Token? Does my curl command look correct?
I know there is already a closed issue but I'm hoping I can have someone look at this asap.
I'm using the FB authentication sdk found here. I can log in successfully and get following response:
{ authResponse:
accessToken: "EAA..."
..
userID: "102.." }
Then I try
HTTParty.post('https://api.gotinder.com/auth', query: { facebook_token: accessToken, facebook_id: userID})
and get the error message with "Missing authToken#NO_FB_TOKEN".
Either it's bad error handling on Tinder's end by saying I'm missing the param or they changed the parameter name but seeing as I'm the first to open this issue I'm guessing it's the former. Am I not using the right token?
the tinder auth_token in the POST response is empty, i have checked it in the code and in my browser with the development tools.
is there an other way to get the tinder_auth_token?
after using paul-at's commit, i am faced with this is the json response from the like function:
{
"X-Padding": "{meta:{code:200,requestId:59a45921351e3d43b07028b5},response:{venue:{id:412d2800f964a520df0c1fe3,name:Central Park,contact:{phone:2123106600,formattedPhone:(212) 310-6600,twitter:centralparknyc,instagram:centralparknyc,facebook:37965424481,facebookUsername:centralparknyc,facebookName:Central Park},location:{address:59th St to 110th St,crossStreet:5th Ave to Central Park West,lat:40.78408342593807,lng:-73.96485328674316,postalCode:10028,cc:US,city:New York,state:NY,country:United States,formattedAddress:[59th St to 110th St (5th Ave to Central Park West),New York, NY 10028,United States]},canonicalUrl:https://foursquare.com/v/central-park/412d2800f964a520df0c1fe3*,*categories*:[{*id*:*4bf58dd8d48988d163941735*,*name*:*Park*,*pluralName*:*Parks*,*shortName*:*Park*,*icon*:{*prefix*:*https://ss3.4sqi.net/img/categories_v2/parks_outdoors/park_*,*suffix*:*.png*},*primary*:true}],*verified*:true,*stats*:{*checkinsCount*:364591,*usersCount*:311634,*tipCount*:1583,*visitsCount*:854553},*url*:*http://www.centralparknyc.org*,*likes*:{*count*:17370,*summary*:*17370 Likes},rating:9.8,ratingColor:00B551,ratingSignals:18854,beenHere:{count:0,unconfirmedCount:0,marked:false,lastCheckinExpiredAt:0},photos:{count:26681,groups:[{type:venue,name:Venue photos,count:26681,items:[{id:513bd223e4b0e8ef8292ee54,createdAt:1362874915,source:{name:Instagram,url:http://instagram.com},prefix:https://igx.4sqi.net/img/general/,suffix:*/655018_Zp3vA90Sy4IIDApvfAo5KnDItoV0uEDZeST7bWT-qzk",
"likes_remaining": 100,
"match": false
}
every call to the like function produces this same output.
Originally posted by @cdangerdouglas in #63 (comment)
I just started wrapping this up in some kind of a very simple Node.js "Wrapper" API to make this even more accessible to more people.
You just need a single line now to access your Tinder data.. Keep up the good work!
https://github.com/florianmaxim/Tinder
New endpoint:
/v2/matches?count=<SIZE || 60>&locale=<LANG>
I can get a specific match after scouring through an array of recommendations, but can I get a list of my current matches somehow? What's the correct endpoint for that?
/matches/ alone doesn't work.
Hey,
Guys, when you are using proxies to make requests, does this affect your geo location?
I'm trying to use proxies from USA, but the recs are still from my country...
Hi!
I managed to get a successful authentication by running the command 'python run.py' in terminal, but not quite sure on how to proceed further. I was wondering as to whether you could kindly provide an example (like getting your profile info) of code?
Apologies for the very newbie question (zero knowledge of programming here).
I can't get the updates to work, it always tells me that the v1 api is depricated. I'know there is another issue on this subject but it was closed last year.
I'm using this headers:
client.AddDefaultHeader("Content-type", "application/json");
client.AddDefaultHeader("User-agent", "Tinder/7.5.3 (iPhone; iOS 10.3.2; Scale/2.00)");
client.AddDefaultHeader("app_version", "6.9.4");
client.AddDefaultHeader("platform", "ios");
client.AddDefaultHeader("Accept", "application/json");
client.AddDefaultHeader("X-Auth-Token", authToken.ToString());
There seems to have a problem with the library i was using. I made one for myself and it works now.
matches = api.get_updates()['matches']
KeyError: 'matches'
wondering if they changed the api?
In case you need to update your Facebook and SMS configuring and login scripts, you can check out how they are working in the R tinder API.
You execute once configAccount("MY_FB_REGISTERED_MAIL")
for Facebook, or configAccountSms(MY_PHONE_NUM)
for text message. And then just login()
whenever you want to use the API.
I'm having trouble getting the fb id and access token so I can utilise the Tinder API. I've tried running the config python script (I get a ModuleNotFound error regarding 'requests' on fb_auth_token.py. I've also tried looking manually via fb for developers but I'm having no luck. The authentication process from Facebook -> Tinder seems quite unclear to me.
Does anyone have a reproducible surefire step by step guide of getting their id/access token AND it passes tinder authentication? It would be very much appreciated.
Thanks
Hi,
I would like to know if it was possible to use the API with accounts that have SMS auth instead of FB auth. I don't see it right now in the docs, so I guess it isn't yet available. I'm unable to sniff my phone's traffic because I've got an iPhone and no Mac, so I can't really dig into it. If someone can give me a clue on where to start, I'd gladly code something for it and push it forward.
Thanks in advance,
Regards
My account isn't linked to FB but I added my token to the config file. But I keep getting this error when I use tinder_api_sms.py
The error
access token could not be retrieved. Check your username and password.
Official error: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.
Edit:
I commented all the fb authentication stuff in the config.py but when I try to run a function in tinder_api_sms.py nothing happens
Hello.
"Get match recommendations" https://api.gotinder.com/user/recs request does not work for me. Http headers are the next:
[httpHeaders setObject:self.tinderToken forKey:@"X-Auth-Token"];
[httpHeaders setObject:@"application/json" forKey:@"Content-type"];
[httpHeaders setObject:@"Tinder/4.7.1 (iPhone; iOS 9.2; Scale/2.00)" forKey:@"User-agent"];
Response is the next:
{
message = "unsupported client version";
}
After that I checked how a similar application performs this request using Charles sniffer. They use different url:
https://api.gotinder.com/recs/core?locale=ua
and https headers are the next:
[httpHeaders setObject:self.tinderToken forKey:@"X-Auth-Token"];
[httpHeaders setObject:@"application/json" forKey:@"Content-type"];
[httpHeaders setObject:@"Tinder Android Version 7.0.0" forKey:@"User-agent"];
[httpHeaders setObject:@"ios" forKey:@"platform"];
[httpHeaders setObject:@"23" forKey:@"os-version"];
[httpHeaders setObject:@"2117" forKey:@"app-version"];
I this case it seems they banned me:
{
error = banned;
status = 403;
}
I am not sure what exactly they ban (user, ip, ...). But I tried another Facebook account - result is the same. Also tried to connect from another ip and result is the same. In same time /updates and /user/_id requests work fine.
Can you please take a look and check? Thanks in advance, Igor.
Tinder app allows you to share users and they have some short url with their name on it, how can you access this link from the api?
I found four new endpoints through logging in through the browser and debugging the network traffic (i.e. F12->Network)
Endpoint | Purpose | Data? | Method |
---|---|---|---|
/v2/fast-match/preview | Get the thumbnail image shown in the messages-window (the one showing how many potential matches you have, luckily not blurred as that is done on the client ๐ ) | {} | GET |
/v2/fast-match/count | Get the the count of potential matches shown in the messages window (This will be either 3, 10, 25, 99 [AFAIK] due to tinder only distinguishing between those ranges) | {} | GET |
/giphy/trending?limit={number} | Get the trending gifs (tinder uses giphy) accessible in chat | {} | GET |
/giphy/search?limit={number}&query="{text}" | Get gifs (tinder uses giphy) based on a search accessible in chat | {} | GET |
I noticed that the first also holds count in the Headers: fast-match-count
so the second endpoint is kind of useless
I tried applying common request parameters to the first two, given the content-types of their responses, but found nothing used by the API... (might still be worth looking into)
For the third and fourth however, there's this:
limit=x
and for the fourth, there's also this:
query="x"
Finally, there's also this request:
Endpoint | Purpose | Data? | Method |
---|---|---|---|
/ws/generate | generates a token (for what exactly, I'm unsure... though the ws -part of it makes me think it might have something to do with WebSockets? [I'm not familiar with that concept so idk...]) |
{} | GET |
I'm getting a Response [403] when trying to api.authverif() i also get Expecting value: line 1 column 1 (char 0)
any help would be greatly appreciated.
I'm trying to execute the following function:
python -c 'import features; print(features.get_match_info())'
But I get this error:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "D:\tinder-script\features.py", line 19, in get_match_info
matches = api.get_updates()['matches']
KeyError: 'matches'
Am I missing a parameter in the function execution?
I noticed also that when I run the curl command to get updates, there is an error:
$ curl -i -X POST \
> -H "X-Auth-Token: some-x-auth-token" \
> -H "Content-type: application/json" \
> -H "User-agent: Tinder/7.5.3 (iPhone; iOS 10.3.2; Scale/2.00)" \
> https://api.gotinder.com/updates
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 42 100 42 0 0 65 0 --:--:-- --:--:-- --:--:-- 67HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
Date: Thu, 14 Sep 2017 08:44:55 GMT
X-Request-ID: some-x-request-id
Content-Length: 42
Connection: keep-alive
{"status":400,"error":"malformed request"}
The same X-Auth-Token works for other GET commands, so that shouldn't be the issue. What's going on here?
I succesfully received a tinder token running phone_auth_token.py
(maybe the default language could be changed to en btw).
I put the token in the config.py and commented all the facebook auth parameters out.
When I run get_recommendations() from from tinder_api_sms I get a 401.
Is this method not working anymore or am I doing anything wrong?
Thanks!
When i call updates and i am hoping i will get my all match list from tinder but it show you don't have any match "matches":[] in my tinder account i have 5 matches
Api: https://api.gotinder.com/updates
Getting response : {"matches":[],"blocks":[],"inbox":[],"liked_messages":[],"lists":[],"goingout":[],"deleted_lists":[],"matchmaker":[],"squads":[],"last_activity_date":"2019-01-23T15:51:35.158Z","poll_interval":{"standard":2000,"persistent":60000},"places":{"has_new":false}}
I have used the notebook file to retrieve some recommendations and wanted to see their last activity, but it seems there is no "last_activity_date" field in the retrieved recommendations.
I am currently analyzing the response data models from the api, and recognized some changes. Iam using the browser tho this is maybe different.
Recs for me would come via the route api.gotinder.com/v2/recs/core?locale=de.
My question, should i also put the ducumentation about the datamodels for you guys here? ๐
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.