insta_scrapex

Scrapes Instagram JSON and HTML endpoints without an API key


License
Unlicense

Documentation

InstaScrapex

Scrapes Instagram JSON and HTML endpoints without API key

Use at your own risk

Installation

  1. Add insta_scrapex to your list of dependencies in mix.exs:
def deps do
  [{:insta_scrapex, "~> 0.4.0"}]
end
  1. Ensure insta_scrapex is started before your application:
def application do
  [applications: [:insta_scrapex]]
end

Usage

All functions return a map in the response[:body] Functions wrap HTTPoison.get!/3 so you can pass headers and other options to them

JSON endpoints

iex> InstaScrapex.JSON.get_account!("nasa")
%HTTPoison.Response{body: %{}, ...}
iex> InstaScrapex.JSON.get_media!("BKgPf5ZgP97")
%HTTPoison.Response{body: %{}, ...}
iex> InstaScrapex.JSON.get_account_media!("nasa")
%HTTPoison.Response{body: %{}, ...}
# paginate:
iex> InstaScrapex.JSON.get_account_media!("nasa", [], [params: [max_id: 12341234]])
%HTTPoison.Response{body: %{}, ...}
iex> InstaScrapex.JSON.get_media_comments!(%{code: "BKgPf5ZgP97"})
%HTTPoison.Response{body: %{}, ...}
#-- or --
:no_comments
# paginate:
iex> InstaScrapex.JSON.get_media_comments!(%{"BKgPf5ZgP97", last_comment_id: 12341234})
%HTTPoison.Response{body: %{}, ...}
iex> InstaScrapex.JSON.get_media_by_hashtag!(%{hashtag: "my_hashtag"})
%HTTPoison.Response{body: %{}, ...}
# paginate:
iex> InstaScrapex.JSON.get_media_by_hashtag!(%{hashtag: "my_hashtag", end_cursor: "ABCDFEGHIJKL"})
%HTTPoison.Response{body: %{}, ...}
# Good for getting posts by user_id, maybe you don't have the correct username...
iex> InstaScrapex.JSON.get_media_by_user_id!(%{user_id: 12345})
%HTTPoison.Response{body: %{}, ...}
# Get location by location id
iex> InstaScrapex.JSON.get_location!(12342134)
%HTTPoison.Response{body: %{}, ...}
# Get posts by location id
iex> InstaScrapex.JSON.get_media_by_location!(12342134)
%HTTPoison.Response{body: %{}, ...}
# Search for hashtags, places, users
iex> InstaScrapex.JSON.get_search!(%{hashtag: "my_hashtag"})
%HTTPoison.Response{body: %{}, ...}

HTML endpoints

iex> InstaScrapex.HTML.get_account!("nasa")
%HTTPoison.Response{body: %{}, ...}
iex> InstaScrapex.HTML.get_media!("BKgPf5ZgP97")
%HTTPoison.Response{body: %{}, ...}

License

InstaScrapex is released into the public domain. See [UNLICENSE](http://unlicense.org/) for more information or the accompanying UNLICENSE file.

Support

The development of this software is supported by VeryCreatives LLC.