# Ninjaproxies
[![Build Status](https://travis-ci.org/Zensavona/ninjaproxies.svg)](https://travis-ci.org/Zensavona/ninjaproxies) [![Coverage Status](https://coveralls.io/repos/Zensavona/ninjaproxies/badge.svg?branch=master&service=github)](https://coveralls.io/github/Zensavona/ninjaproxies?branch=master) [![hex.pm version](https://img.shields.io/hexpm/v/ninjaproxies.svg)](https://hex.pm/packages/ninjaproxies) [![hex.pm downloads](https://img.shields.io/hexpm/dt/ninjaproxies.svg)](https://hex.pm/packages/ninjaproxies) [![Inline docs](http://inch-ci.org/github/Zensavona/ninjaproxies.svg?branch=master)](http://inch-ci.org/github/Zensavona/ninjaproxies) [![License](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)
A (very) simple Elixir API client for [NinjaProxies](http://ninjaproxies.com)
**[Read The Docs](https://hexdocs.pm/ninjaproxies)**
## Installation
```
...
def application do
[applications: [:logger, :httpoison]]
end
...
defp deps do
[{:ninjaproxies, "~> 0.1"}]
end
...
```
## Example usage
```
# your API key
iex(1)> Ninjaproxies.configure("XXXXXXXXXX")
:ok
# or
iex(2)> System.put_env("NINJAPROXIES_API_KEY", "XXXXXXXXXX")
iex(3)> Ninjaproxies.configure
:ok
# or
iex(4)> Application.put_env(:ninjaproxies, :api_key, "XXXXXX")
iex(5)> Ninjaproxies.configure
:ok
# let's get some proxies
iex(6)> Ninjaproxies.request(%{instagram: 1, order: "bandwidth_DESC", limit: 2, protocol: ["https", "http"], whitelisted: 1, alive: 1, regionName: "New_York"}) [%Ninjaproxies.Proxy{alive: "1", bandwidth: "312926", cityName: "New_York_City",
connectTotal: "1", cookie: "0", countryCode: "US",
countryName: "United_States", craigslist: "1", created: "2015-11-11 02:15:29",
facebook: "1", get: "1", google: "1", id: "3161000", instagram: "1",
ip: "XXX.XXX.XXX.XXX", modified: "2015-11-11 02:30:56", paypal: "1",
pinterest: "1", portNum: "80", post: "1", processing: false, protocol: "http",
referrer: "0", regionName: "New_York", speed: "0", twitter: "1",
type: "Elite", uptime: "1", uptimeAverage: "100", whitelisted: true,
youtube: "1"},
%Ninjaproxies.Proxy{alive: "1", bandwidth: "302602", cityName: "Bethpage",
connectTotal: "18", cookie: "0", countryCode: "US",
countryName: "United_States", craigslist: "0", created: "2015-05-12 12:31:10",
facebook: "1", get: "1", google: "1", id: "2687765", instagram: "1",
ip: "XX.XX.XX.XX", modified: "2015-11-19 05:12:51", paypal: "1",
pinterest: "1", portNum: "8080", post: "1", processing: false,
protocol: "http", referrer: "0", regionName: "New_York", speed: "0",
twitter: "1", type: "Elite", uptime: "3", uptimeAverage: "17",
whitelisted: true, youtube: "1"}]
```
**Take a look at the NinjaProxies API docs or run `h Ninjaproxies.request` to see the full range of options passable.**