Skip to content

huynhsontung/InstaSharper

 
 

Repository files navigation

InstagramApi [InstaSharper] [Forked]

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

Notes about this fork

This fork only focuses on features that are related to Direct messaging aspect.

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.

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

Overview

This project intends to provide all the features available in the Instagram API. It is being developed in C# for .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 do not rely on this software for production uses yet. *

Cross-platform by design

Build with .NET Standard. Can be used on Mac, Linux, Windows.

Easy to install

Use library as dll, reference from myget or clone source code.

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
  • Push notification

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...))
                .Build();
Note: every API method has synchronous implementation as well

Or load previously saved data in the builder

var api = new InstaApiBuilder()
                .LoadStateFromStream(stateStream)
                .UseLogger(new SomeLogger())
                .Build();

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
  • Support will not be provided to those who wish to use this API to send massive messages, likes, follows, and etc
  • 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.

Packages

No packages published

Languages

  • C# 100.0%