I am thinking of doing a web app that uses keywords to query Spotify web API for public user playlists, and then do an online mashup with my own music retrieval system. Is it allowed? Can the playlist names and tracks be cached for the purpose of categorization.
I read through the Terms of Use and saw this:
"Do not improperly access, alter or store the Spotify Service or Spotify Content, including (i) using any robot, spider, site search/retrieval application, or other tool to retrieve, duplicate, or index any portion of the Spotify Service or Spotify Content (which includes playlist data) or collect information about Spotify users for any unauthorized purpose;"
Paul Lamere does something similar with Playlist Miner: https://github.com/plamere/playlistminer. But he is an EchoNest employee.
Related
I am developing a website which would facilitate an end user to see an Instagram user's media such as Profile Pictures, Posts and Stories with the Instagram Basic Display API.
As per the documentation of the API, an Authorization Window needs to be implemented to get Authorization Codes and permissions from app users. Authorization Codes need to be exchanged for Instagram User Access Tokens, which must be included when querying an app user's profile or their media.
Bu there are numerous services which are able to show an Instagram user's media without having to implement the complex pipeline above:
InstaDP
FullInstaDP
InstaFinsta
IZoomYou
InstaDownloader
So, how are these services even able to bypass the Authorization Window and provide a seamless user experience without the end user's login? Especially how is InstaDP able to display reels and InstaDP which are not even support yet in the API?
It's way more sophisticated & costly than official Basic Display API. They are using Instagram private APIs. They use multiple accounts (by its cookies) to fetch those data from Instagram, e.g. for fetching user info, they call endpoints like https://www.instagram.com/washingtonpost/?__a=1. You can open your browser's developer tools to see the endpoints Instagram calls to fetch the details.
By sophistication, I meant
The services that you have mentioned need to emulate human behavior while scraping data from Instagram otherwise Instagram would block those "fake accounts" and it's extremely hard to create accounts in Instagram via automation, you cannot create bulk accounts.
They use residential proxies, and they pay for it.
If you do not want to go all those hassles, you can buy Instagram private APIs but it's not cheap.
Here are some open source projects that might interest you
https://github.com/dilame/instagram-private-api
https://github.com/jlobos/instagram-web-api
https://github.com/ping/instagram_private_api
I'm currently toying around with the Spotify api to create a mobile app that "matches" people based on their top artists, tracks, and genres.
For this, I need to save the user data (top 50 tracks and artists, from the Personalization API) and fetch them back as needed.
So basically if User A signed in the app with its Spotify account, its data is saved in my DB.
After that, if User B wants to see if he is a match with User A the server will provide information about both User A and User B, for instance, what artist they both like.
There is this point in the TOS about user data:
"Spotify user data can be cached only for operating your SDA. If a Spotify user logs out of your SDA or becomes inactive, you will delete any Spotify Content related to that user stored on your servers. To be clear, you are not permitted to store Spotify Content related to a Spotify user or otherwise request user data if a Spotify user is not using your SDA"
As far as I understand, it's ok to save the user data in an external server/DB as long as I delete that data as soon as the user logs out from my app, is that right?
I'm asking because at the same time there is this restriction stated in the TOS:
"Do not transfer Spotify Content to unauthorized third parties, including (i) directly or indirectly transferring any data (including aggregate, anonymous or derivative data) received from Spotify to, or use such data in connection with, any ad network, ad exchange, data broker, or other advertising or monetization-related toolset, even if a user consents to such transfer or use; or (ii) to another music service that competes with Spotify or the Spotify Service."
my question
is possible get a user id in any way? I would search a user from his name and print his recently artist played
Thanks
This is not possible due to Spotify's Web API has no endpoint where you can fetch user ids by their names.
What you can do is creating an application where a specific user can login using Spotify. Afterwards you can use this endpoint in order to retrieve the recently played tracks of that exact user. The track object in the response will hold the artist as well.
I am reviewing the new Instagram Graph API and looking for a location element for the media item endpoint.
What I'm looking to achieve is a way to search a location for images posted that have locations tagged in that area or a location.
I'm looking at the media item endpoint in their reference page at:
https://developers.facebook.com/docs/instagram-api/reference/media/
The Instagram API documentation doesn't seem to include this at present. Does anyone know if the media item will include a location element? e.g. by place name or lat/long.
Thanks
The Instagram Graph API which is from facebook api - is only for those instagram accounts which are converted to business account. In other words linked to fb business pages.
That API gives only owned data and the moderation for comments and deep insights on account posts.
The is Instagram api for your use case which is open for all accounts. You would want something like this: https://www.instagram.com/developer/endpoints/locations/
This gives all the recent media in reverse chronological based on a location id.
But there is a caveat: It needs public_content oauth scope; which Instagram has stopped issuing for new auth apps. So, if you don't have that enabled already, probably you won't be able to get that access authorised. Plus, this api is scheduled to be deprecated in 2020.
Is it possible to get the userid of the person who added a track to a collaborative playlist within the Spotify Apps API?
In short — no. The Apps API exposes no usernames at all at this time.