Finding users on Flickr by using an email address
In this blog post we explain how you can find users on Flickr using an email address. We will explain how to use use the Flickr API without your own API key and API signature. In part two of this blog post, we explain how to create your own Python script to automate the actions in this blog post.
What is Flickr?
The www.flickr.com website is a platform on which users can share photos and video clips free of charge. The use of Flickr is in free, but Flickr also offers its users a Pro version that gives them more web space to upload photos. Because Flickr is mostly about photos, you will find many people on Flickr who are interested in photography.
Convert email address to an user
To find a user on Flickr using their email address, read the steps below.
Step 1: navigate to flickr.com
Open the website Flickr.com.
Step 2: open the developers page
Click on the "Developers" link at the bottom of the homepage.
Step 3: open the API documentation
Click "Flickr API" on the right side of the page.
Step 4: read the API documentation
On this page you will find the documentation of the Flickr API. On this page you can read how you can use the Flickr API to consult certain data of Flickr. Because some of you may not have worked with APIs before, a brief explanation below.
What is an API?
On Flickr you can request data from Flickr via the API, or as Flickr describes: "With over 5 billion photos ... the Flickr community creates wondefully rich data. The Flickr API is how you an access that data". We have promised you to explain how to find an account on Flickr using an email address in this blog post. Do do this, scroll down a bit and click on the link on the right "flickr.people.findByEmail".
Step 5: read the API documentation
Step 6: open the API explorer
In order to use the API, Flickr has provided an API Explorer. Scroll down the page and click on the link "API Explorer: flickr.people.findByEmail".
Step 7: use the API explorer
In your screen you will now be given the option to test the Flickr API. First you need to fill in your "api_key" (under 1). Since you do not have a Flickr API key yet, do not enter anything here. You will see below that everything just works fine. Then type in the email address of your target (under 2). We have entered the e-mail address "Johndoe@gmail.com" below. Finally, click on "Call Method ..." to make the API call.
Step 8: interprete the API response
In your screen you will now see the answer of the API call at the bottom. Because you did not specify "Output:" in your request, the output is automatically set to "XML (REST)". You will also see the results in XML format ("Extensible Markup Language"). In the output you can see (as described in the API documentation) the "NSID" of an user. The NSID in this case is the user's unique ID. In the output you can also read that the user associated with the e-mail address "John firstname.lastname@example.org" has the username "italia5239".
Step 9: finding the user profile
To check if there really is a user with the user ID "98794841@N00" and username "italia5239", use the Flickr search filter. Enter the username in the search filter, then click on "Search people" and finally click on Enter.
Step 10: viewing the user profile
In your screen you will now see your search results based on the username you entered (under 1). If you hover over the search result with your mouse, you will see at the bottom left of the page to which the search result refers (under 2). Apparently, the user ID of users on Flickr is shown in the URL.
Clicking on the profile will take you to the user's profile on Flickr.
Are there any other methods?
With the above steps, you will find a Flickr user by an email address. You have now used Flickr's API Explorer for this, which may not be very handy. Therefore a direct URL request might come in handy.
Step 1: open the URL string
Repeat steps 1 through 7 from above, then click the link at the very bottom of the page.
Step 2: interprete the results
The results you see on your screen are the same results you saw in step 8. You have now loaded the results directly by entering a specific string via the URL. This string is as following:
This string can be stripped down as follows:
- https://www.flickr.com/ = the Flickr domain name
- services/rest/ =the API function of Flickr
- ?method=flickr.people.findByEmail = the API function to find Flickr users by email
- &api_key=3aac009af063175e4bb3623f9d3c557b = the API key that is needed to use the API. The fun thing here is that according to the Flickr documentation you should enter your own API key. Using the function described above uses a Flickr API key. So apparently you don't necessarily need your own API key.
- &find_email=johndoe%40gmail.com = the email address that you would like to check. The "find_email" function was also described in the API documentation.
&format=rest = REST is shortened for "Representational state transfer" and is used in API's.
- &api_sig=485e4ec048c63be0076d44f93f35eb7d = this is an signature that is linked to the API call.
Step 3: using the URL string
In step 2 we have told you that you can use the URL string to directly use the Flickr API. In this step we adjust the string with a different email address.
However, you will now see the following message, showing that the API signature is not valid.
Step 4: removing the API signature
Since the API signature is apparently linked to the specific request you made, it seems that you need a new signature for each new request. However, you can also remove the API signature from the URL string instead.
You will see the result below. This means that you do not need your own API key and your own API signature to use the Flickr API.
Can the API key be used indefinitely?
No, most likely not. Flickr's API key will likely change over time, so you will always need a new key to use the API. In some cases, it is therefore wise to create an account yourself and generate an API key.
Automate your search queries
In this first section, we showed you how to use the Flickr API to find users based on an email address. In part two of our blog post, we will explain how to automate certain search queries using a Python script. Do you have questions or additions to this blog post? Please contact us. Please also check out our live and online OSINT courses!