Skip to content

a-legotin/InstaSharper

Repository files navigation

InstagramApi [InstaSharper]

Tokenless, butthurtless private API for Instagram. Get account information, media, explore tags and user feed without any applications and other crap.

Development of this project postponed

Before posting new issues: Demo samples, Tests project and Wiki page

Note that: there is a simple Instagram API based on web-version of Instagram. This repository based on Instagram API for mobile devices.

Build status Build status NuGet MyGet GitHub stars

Current version: 1.4.0 [Stable], 1.5.0 [Under development]

Overview

This project intends to provide all the features available in the Instagram API up to 12.0.0.7.91. It is being developed in C# for .NET Framework 4.5.2 and .NET Standard 2.0

This repository is provided for reference purposes only.

  • Please note that this project is still in design and development phase; the libraries may suffer major changes even at the interface level, so don't rely (yet) in this software for production uses. *

Cross-platform by design

Build with dotnet core. Can be used on Mac, Linux, Windows.

Easy to install

Use library as dll, reference from nuget or clone source code. Pre-release version available at myget feed together with symbols

Features

Currently the library supports following coverage of the following Instagram APIs:


  • Login
  • Logout
  • Create new account
  • Get user explore feed
  • Get user timeline feed
  • Get all user media by username
  • Get media by its id
  • Get user info by its user name
  • Get current user info
  • Get tag feed by tag value
  • Get current user media
  • Get followers list
  • Get followers list for currently logged in user
  • Get following list
  • Get recent following activity
  • Get user tags by username
  • Get direct mailbox
  • Get recent recipients
  • Get ranked recipients
  • Get inbox thread
  • Get recent activity
  • Like media
  • Unlike media
  • Follow user
  • Unfollow user
  • Set account private
  • Set account public
  • Send comment
  • Delete comment
  • Upload photo
  • Upload video
  • Get followings list
  • Delete media (photo/video)
  • Upload story (photo)
  • Change password
  • Send direct message
  • Search location
  • Get location feed
  • Collection create/get by id/get all/add items

Easy to use

Use builder to get Insta API instance:

var api = new InstaApiBuilder()
                .UseLogger(new SomeLogger())
                .UseHttpClient(new SomeHttpClient())
                .SetUser(new UserCredentials(...You user...))
                .UseHttpClient(httpHandlerWithSomeProxy)
                .Build();
Note: every API method has synchronous implementation as well

Quick Examples

Login

IResult<bool> loggedIn = await api.LoginAsync();

Get user:

IResult<InstaUser> user = await api.GetUserAsync();

Get all user posts:

IResult<InstaMediaList> media = await api.GetUserMediaAsync();

Get media by its code:

IResult<InstaMedia> mediaItem = await api.GetMediaByIdAsync("1234567891234567891_123456789);

Get user timeline feed:

IResult<InstaFeed> feed = await api.GetUserFeedAsync();

Comment post:

IResult<bool> postResult = await apiInstance.CommentMediaAsync("1234567891234567891_123456789", "Hi there!");
for more samples you can look at Examples folder

Special thanks

ADeltaX for contribution

vitalragaz for contribution

n0ise9914 for contribution

Ramtinak for contribution

mgp25 and his php wrapper

License

MIT

Terms and conditions

  • Anyone who uses this wrapper MUST follow Instagram Policy
  • Provided project MUST NOT be used for marketing purposes
  • I will not provide support to anyone who wants this API to send massive messages/likes/follows and so on
  • Use this API at your own risk

Legal

This code is in no way affiliated with, authorized, maintained, sponsored or endorsed by Instagram or any of its affiliates or subsidiaries. This is an independent and unofficial API wrapper.

Code provided for reference purposes only.