Instagram api client for node that support promises.
To see all endpoint available take a look at instagram developer documentation.
npm install --save node-instagram
yarn add node-instagram
import Instagram from 'node-instagram';
// Create a new instance.
const instagram = new Instagram({
clientId: 'your-client-id',
accessToken: 'user-access-token',
});
// You can use callbacks or promises
instagram.get('users/self', (err, data) => {
console.log(data);
});
// Get information about the owner of the access_token.
const data = await instagram.get('users/self');
console.log(data);
// Get information about a user.
instagram.get('users/:user-id').then((data) => {
console.log(data);
});
// Get the most recent media published by the owner of the access_token.
instagram.get('users/self/media/recent').then((data) => {
console.log(data);
});
// Get the most recent media published by a user.
instagram.get('users/:user-id/media/recent').then((data) => {
console.log(data);
});
// Get the list of recent media liked by the owner of the access_token.
instagram.get('users/self/media/liked').then((data) => {
console.log(data);
});
// Get a list of users matching the query.
instagram.get('users/search', { q: 'paris' }).then((data) => {
console.log(data);
});
// Get information about this media.
instagram.get('media/:media-id').then((data) => {
console.log(data);
});
// Get a list of users who have liked this media.
instagram.get('media/:media-id/likes').then((data) => {
console.log(data);
});
// Set a like on this media by the currently authenticated user.
instagram.post('media/:media-id/likes').then((data) => {
console.log(data);
});
// Remove a like on this media by the currently authenticated user.
instagram.delete('media/:media-id/likes').then((data) => {
console.log(data);
});
// Get information about a tag object.
instagram.get('tags/:tag-name').then((data) => {
console.log(data);
});
// Get a list of recently tagged media.
instagram.get('tags/:tag-name/media/recent').then((data) => {
console.log(data);
});
// Search for tags by name.
instagram.get('tags/search', { q: 'paris' }).then((data) => {
console.log(data);
});
// Handle errors
instagram.get('tags/paris').then((data) => {
console.log(data);
}).catch((err) => {
// An error occur
console.log(err);
});
// Fake stream for instagram (running setInterval inside)
// Streaming can be used on all endpoints taking MIN_TAG_ID as parameter
const stream = instagram.stream('tags/:tag-name/media/recent');
stream.on('messages', (messages) => {
console.log(messages);
});
// handle stream error
stream.on('error', (err) => {
// An error occur
console.log(err);
});
###const instagram = new Instagram(config)
Create a new Instagram instance
####Arguments
clientId
stringaccessToken
string
###instagram.get(endpoint, [params, callback])
Make a GET request on endpoint
####Arguments
endpoint
stringparams
objectcallback
function
###instagram.post(endpoint, [params, callback])
Make a POST request on endpoint
####Arguments
endpoint
stringparams
objectcallback
function
###instagram.delete(endpoint, [params, callback])
Make a DELETE request on endpoint
####Arguments
endpoint
stringparams
objectcallback
function
###instagram.stream(endpoint, params)
Start a fake stream to a endpoint and return new messages found
####Arguments
endpoint
stringparams
objectparams.interval
number interval to run inside default 10000params.runOnCreation
boolean run the request when creating objectparams.minTagId
boolean instagram min_tag_id to start request