npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

instagram-apitest

v0.0.0

Published

Browser and node module for making API requests against [Instagram API](https://api.instagram.com/{version}).

Downloads

5

Readme

Instagram API

Browser and node module for making API requests against Instagram API.

Please note: This module uses Popsicle to make API requests. Promises must be supported or polyfilled on all target environments.

Installation

npm install instagram-api --save
bower install instagram-api --save

Usage

Node

var InstagramApi = require('instagram-api');

var client = new InstagramApi();

Browsers

<script src="instagram-api/index.js"></script>

<script>
  var client = new InstagramApi();
</script>

Options

You can set options when you initialize a client or at any time with the options property. You may also override options for a single request by passing an object as the second argument of any request method. For example:

var client = new InstagramApi({ ... });

client.options = { ... };

client.resource('/').get(null, {
  baseUri: 'http://example.com',
  headers: {
    'Content-Type': 'application/json'
  }
});

Base URI

You can override the base URI by setting the baseUri property, or initializing a client with a base URI. For example:

new InstagramApi({
  baseUri: 'https://example.com'
});

Base URI Parameters

If the base URI has parameters inline, you can set them by updating the baseUriParameters property. For example:

client.options.baseUriParameters.version = 'v1';

Resources

All methods return a HTTP request instance of Popsicle, which allows the use of promises (and streaming in node).

resources.media.mediaId(mediaId)

  • mediaId integer
var resource = client.resources.media.mediaId(mediaId);
GET

Get information about a media object. The returned type key will allow you to differentiate between image and video media. Note: if you authenticate with an OAuth Token, you will receive the user_has_liked key which quickly tells you whether the current user has liked this media item.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

resources.media.mediaId(mediaId).comments

var resource = client.resources.media.mediaId(mediaId).comments;
GET

Get a full list of comments on a media.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

POST

Create a comment on a media. Please email apidevelopers[at]instagram.com for access.

resource.post().then(function (res) { ... });
Body

application/x-www-form-urlencoded

{ "text": { "description": "Text to post as a comment on the media as specified in {mediaId}.", "type": "string", "required": true, "displayName": "text" } }

resources.media.mediaId(mediaId).comments.commentId(commentId)

  • commentId integer

Idenifier of the comment

var resource = client.resources.media.mediaId(mediaId).comments.commentId(commentId);
DELETE

Remove a comment either on the authenticated user's media or authored by the authenticated user.

resource.delete().then(function (res) { ... });

resources.media.mediaId(mediaId).likes

var resource = client.resources.media.mediaId(mediaId).likes;
GET

Get a list of users who have liked this media. Required scope: likes.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

POST

Set a like on this media by the currently authenticated user.

resource.post().then(function (res) { ... });
DELETE

Remove a like on this media by the currently authenticated user.

resource.delete().then(function (res) { ... });

resources.media.search

var resource = client.resources.media.search;
GET

Search for media in a given area. The default time span is set to 5 days. The time span must not exceed 7 days. Defaults time stamps cover the last 5 days.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • max_timestamp integer

Return media before this UNIX timestamp.

  • min_timestamp integer

Return media after this UNIX timestamp.

  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

  • lat number

Latitude of the center search coordinate. If used, lng is required.

  • lng number

Longitude of the center search coordinate. If used, lat is required.

  • distance string

Default is 1km (distance=1000), max distance is 5km.

resources.media.popular

var resource = client.resources.media.popular;
GET

Get a list of what media is most popular at the moment.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

resources.tags.tagName(tagName)

  • tagName string

Name of tag.

var resource = client.resources.tags.tagName(tagName);
GET

Get information about a tag object.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

resources.tags.tagName(tagName).media.recent

var resource = client.resources.tags.tagName(tagName).media.recent;
GET

Get a list of recently tagged media. Note that this media is ordered by when the media was tagged with this tag, rather than the order it was posted. Use the max_tag_id and min_tag_id parameters in the pagination response to paginate through these objects.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • min_id integer

Return media later than this min_id.

  • max_id integer

Return media earlier than this max_id.

  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

resources.tags.search

var resource = client.resources.tags.search;
GET

Search for tags by name. Results are ordered first as an exact match, then by popularity. Short tags will be treated as exact matches.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

  • q string

A valid tag name without a leading #.

resources.users.userId(userId)

  • userId integer
var resource = client.resources.users.userId(userId);
GET

Get basic information about a user.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

resources.users.userId(userId).follows

var resource = client.resources.users.userId(userId).follows;
GET

Get the list of users this user follows.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

resources.users.userId(userId).followed-by

var resource = client.resources.users.userId(userId).followed-by;
GET

Get the list of users this user is followed by.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

resources.users.userId(userId).self.requested-by

var resource = client.resources.users.userId(userId).self.requested-by;
GET

List the users who have requested this user's permission to follow.

resource.get().then(function (res) { ... });

resources.users.userId(userId).media.recent

var resource = client.resources.users.userId(userId).media.recent;
GET

See the authenticated user's feed. May return a mix of both image and video types.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • max_timestamp integer

Return media before this UNIX timestamp.

  • min_timestamp integer

Return media after this UNIX timestamp.

  • min_id integer

Return media later than this min_id.

  • max_id integer

Return media earlier than this max_id.

  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

resources.users.userId(userId).relationship

var resource = client.resources.users.userId(userId).relationship;
GET

Get information about a relationship to another user.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

POST

Modify the relationship between the current user and the target user.

resource.post().then(function (res) { ... });
Body

application/json

{ "action": { "description": "One of follow/unfollow/block/unblock/approve/deny.", "enum": [ "follow", "unfollow", "block", "unblock", "approve", "deny" ], "displayName": "action", "type": "string" } }

resources.users.search

var resource = client.resources.users.search;
GET

Search for a user by name.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of users to return.

  • q string

A query string.

resources.users.self.feed

var resource = client.resources.users.self.feed;
GET

See the authenticated user's feed. May return a mix of both image and video types.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • min_id integer

Return media later than this min_id.

  • max_id integer

Return media earlier than this max_id.

  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

resources.users.self.media.liked

var resource = client.resources.users.self.media.liked;
GET

See the authenticated user's list of media they've liked. May return a mix of both image and video types. Note: This list is ordered by the order in which the user liked the media. Private media is returned as long as the authenticated user has permission to view that media. Liked media lists are only available for the currently authenticated user.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

  • max_like_id integer

Return media liked before this id.

resources.oembed

var resource = client.resources.oembed;
GET

Given a short link, returns information about the media associated with that link.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

  • url string

  • maxheight integer

  • maxwidth integer

resources.p.shortcode(shortcode).media

var resource = client.resources.p.shortcode(shortcode).media;
GET

Given a short link, issues a redirect to that media's JPG file.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

  • size string, one of (t,, m,, l), default: m

resources.locations.locId(locId)

  • locId integer
var resource = client.resources.locations.locId(locId);
GET

Get information about a location.

resource.get().then(function (res) { ... });

resources.locations.locId(locId).media.recent

var resource = client.resources.locations.locId(locId).media.recent;
GET

Get a list of recent media objects from a given location. May return a mix of both image and video types.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • max_timestamp integer

Return media before this UNIX timestamp.

  • min_timestamp integer

Return media after this UNIX timestamp.

  • min_id integer

Return media later than this min_id.

  • max_id integer

Return media earlier than this max_id.

  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

resources.locations.search

var resource = client.resources.locations.search;
GET

Search for a location by geographic coordinate.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

  • lat number

Latitude of the center search coordinate. If used, lng is required.

  • lng number

Longitude of the center search coordinate. If used, lat is required.

  • distance integer, default: 1000

Default is 1000m (distance=1000), max distance is 5000.

  • foursquare_v2_id string

Returns a location mapped off of a foursquare v2 api location id. If used, you are not required to use lat and lng.

  • foursquare_id string

Returns a location mapped off of a foursquare v1 api location id. If used, you are not required to use lat and lng. Note that this method is deprecated; you should use the new foursquare IDs with V2 of their API.

resources.geographies.geoId(geoId).media.recent

var resource = client.resources.geographies.geoId(geoId).media.recent;
GET

Get recent media from a geography subscription that you created. Note: You can only access Geographies that were explicitly created by your OAuth client. Check the Geography Subscriptions section of the real-time updates page. When you create a subscription to some geography that you define, you will be returned a unique geo-id that can be used in this query. To backfill photos from the location covered by this geography, use the media search endpoint.

resource.get().then(function (res) { ... });
Query Parameters
resource.get({ ... });
  • callback string

Callback function name. All output will be wrapper under this function name.

  • count integer

Number of items you would like to receive.

  • min_id integer

Return media before this min_id.

Custom Resources

You can make requests to a custom path in the API using the #resource(path) method.

client.resource('/example/path').get();

License

Apache 2.0