Unofficial Instagram API for Golang
Goinsta used gopkg.in as versioning control. Stable new API is the version v2.0. You can get it using:
go get -u -v gopkg.in/ahmdrz/goinsta.v2
- HTTP2 by default. Goinsta uses HTTP2 client enhancing performance.
- Object independency. Can handle multiple instagram accounts.
- Like Instagram mobile application. Goinsta is very similar to Instagram official application.
- Simple. Goinsta is made by lazy programmers!
- Backup methods. You can use
Export
andImport
functions. - Security. Your password is only required to login. After login your password is deleted.
- No External Dependencies. Goinsta will not use any Go packages outside of the standard library.
We are working on a new object-oriented API. Try it and tell us your suggestions. See https://github.com/ahmdrz/goinsta/blob/master/CONTRIBUTING.md
If you want to use the old version you can found it in v1 branch or using gopkg.in/ahmdrz/goinsta.v1/
Sorry for breaking dependences :(. You can use this command in your project folder to update old master branch to v1.
for i in `grep -r ahmdrz ./ | awk '{split($0, a, ":"); print a[1]}'`; do sed -i 's/github\.com\/ahmdrz\/goinsta/gopkg\.in\/ahmdrz\/goinsta\.v1/g' $i; done
go get -u -v gopkg.in/ahmdrz/goinsta.v2
go get -u -v gopkg.in/ahmdrz/goinsta.v2
go install gopkg.in/ahmdrz/goinsta.v2/goinsta
package main
import (
"fmt"
"gopkg.in/ahmdrz/goinsta.v2"
)
func main() {
//insta, err := goinsta.Import("~/.goinsta")
insta := goinsta.New("USERNAME", "PASSWORD")
// also you can use New function from gopkg.in/ahmdrz/goinsta.v2/utils
// insta.SetProxy("http://localhost:8080", true) // true for insecure connections
if err := insta.Login(); err != nil {
fmt.Println(err)
return
}
// export your configuration
// after exporting you can use Import function instead of New function.
insta.Export("~/.goinsta")
...
}
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. Use at your own risk.
Ahmdrz
Bitcoin: 1KjcfrBPJtM4MfBSGTqpC6RcoEW1KBh15X
Mester
Bitcoin: 37aogDJYBFkdSJTWG7TgcpgNweGHPCy1Ks
The objects of the following schema can point to other objects defined below.
- Account: Personal information and account interactions.
- Followers
- Following
- Feed
- FeedMedia
- Item(s)
- FeedMedia
- Stories
- StoryFeed
- Item(s)
- StoryFeed
- Liked
- FeedMedia
- Item(s)
- FeedMedia
- Saved
- SavedMedia
- Item(s)
- SavedMedia
- Tags
- FeedMedia
- Item(s)
- FeedMedia
- Blocked
- BlockedUser(s)
- Profiles: User interaction.
- Blocked
- BlockedUser(s)
- Get user using ID
- User
- Get user using Username
- User
- Blocked
- Media:
- Items
- Comments # Comments and Comment are different.
- User
- Comment(s) # Slice of Comment
- Likes
- Likers
- Item
- Items # If it is a carousel.
- Search:
- Location
- Username
- Tags
- Location Deprecated
- Activity:
- Following
- Recent
- Hashtag: Hashtag allows user to search using hashtags.
- Stories
- StoryMedia
- Media # By default hashtag contains Medias in the structure
- Stories