Documentation

Overview

Hi there, and welcome to ApiStacks and Documentation!

ApiStacks aims to provide very powerful and easy to use APIs to automate any web and browser functionality and turn links into useable data, without having to worry about maintaining servers or building your backend infrastructure. We do all that for you!

Don't re-invent the wheel. Save time and money by implementing these Web APIs to your product and get to market faster! 😎

All you have to do is provide a URL or text, and the API will do the rest for you. Get easy to read JSON Responses!

This documentation will teach you all the basics on how to get started

Dashboard Basics

Once you Sign Up for a free account, you will gain access to the Dashboard.

This is where you manage your API apps, plan, and configuration. When you log in, it looks like this:

You can view all the API Apps you have access to, view your API Keys, and change your settings

API Keys

Before consuming any of the APIs, you will need to authenticate your requests with an API Key. Do do so, you will need to first Sign Up for a free account, you will receive a free API Key to use.

To get your API Key, sign into your account and click the small (i) on the app you wish to consume. A popup like this will appear:

Remember, your API Key is private and should not be shared! You don't want your key to be abused. Always keep it safe!

To use this key, simply add your key to the request header as x-api-key

API: Web Screenshots

Turn websites into high definition screenshot images super quick and super easy!

$ curl "https://api.apistacks.com/v1/getscreenshot?url=https://google.com"
Parameter Description
x-api-key In your Request Header provide the API Key found within your Dashboard
url the full URL (including its respective HTTP Protocol) of the website you want to request a screenshot from, e.g. http://abc.com

Parameter Description Default
response_type set to "JSON", "XML", or "YAML" depending what type of response you want from the API. This is optional JSON
fullpage set to "true" if you want to capture the full height of the target website -
width specify your preferred thumbnail width in pixels 1280
height specify your preferred thumbnail height in pixels 800
format set your preferred image output format PNG
quality specify your preferred quality level between 0.1 and 1.0 0.5
scalefactor specify your scale factor between 1 and 3 -
emulateDevice provide a string name for the device you want to emulate (eg. 'iPhone X') -


{
    "status": "ok",
    "timestamp": 1605575599741,
    "url": "google.com",
    "data": "https://apistacks.com/cdn/repo/screenshots/f0e72a6e-5e3f-474b-b94a-5c770e084d5a.png"
    }
}

                                         

API: Web PDF

Convert any website link into a downloadable and printable PDF document that can be customized!

$ curl "https://api.apistacks.com/v1/getpdf?url=https://google.com"
Parameter Description
x-api-key In your Request Header provide the API Key found within your Dashboard
url the full URL (including its respective HTTP Protocol) of the website you want to request a pdf from, e.g. http://abc.com

Parameter Description Default
response_type set to "JSON", "XML", or "YAML" depending what type of response you want from the API. This is optional JSON
pagewidth specify your preferred pdf pages' width in inches using standard paper sizes 8.5
pageheight specify your preferred pdf pages' width in inches using standard paper sizes 11
includebackground specify if you wish to include the background in your PDF output true
landscape specify if your PDF will be captured in portrait or landscape false
nomargins specify if you want your PDF output to have no margins false
pagerange specify a page range if you want to limit the number of PDF pages in your output (eg. 1, 2, 7-9 1


{
    "status": "ok",
    "timestamp": 1605575599741,
    "url": "google.com",
    "data": "https://apistacks.com/cdn/repo/pdf/7cf5cf52-bad8-467f-9d1a-9065920cd422.pdf"
    }
}
                                         

API: Open Graph

Extract open graph and social details from any website or URL with just one line of code!

$ curl "https://api.apistacks.com/v1/getmeta?url=https://google.com"
Parameter Description
x-api-key In your Request Header provide the API Key found within your Dashboard
url the full URL (including its respective HTTP Protocol) of the website you want to request open graph data from, e.g. http://abc.com

Parameter Description Default
response_type set to "JSON", "XML", or "YAML" depending what type of response you want from the API. This is optional JSON
maxlinks specify the maximum number of links you want to be returned in the results 8.5
includequerystrings specify if you want to include query strings in the links that are scraped true


{
    "status": "ok",
    "timestamp": 1609968478482,
    "url": "zillow.com",
    "data": {
        "domainName": "ZILLOW.COM",
        "registryDomainId": "130211186_DOMAIN_COM-VRSN",
        "registrarWhoisServer": "whois.godaddy.com",
        "registrarUrl": "http://www.godaddy.com",
        "updatedDate": "2017-11-16T16:18:42Z",
        "creationDate": "2004-09-16T21:16:58Z",
        "registrarRegistrationExpirationDate": "2027-11-11T04:59:59Z",
        "registrar": "GoDaddy.com, LLC",
        "registrarIanaId": "146",
        "registrarAbuseContactEmail": "[email protected]",
        "registrarAbuseContactPhone": "+1.4806242505",
        "domainStatus": "clientTransferProhibited http://www.icann.org/epp#clientTransferProhibited clientUpdateProhibited http://www.icann.org/epp#clientUpdateProhibited clientRenewProhibited http://www.icann.org/epp#clientRenewProhibited clientDeleteProhibited http://www.icann.org/epp#clientDeleteProhibited",
        "registrantOrganization": "Zillow, Inc.",
        "registrantStateProvince": "Washington",
        "registrantCountry": "US",
        "registrantEmail": "Select Contact Domain Holder link at https://www.godaddy.com/whois/results.aspx?domain=ZILLOW.COM",
        "adminEmail": "Select Contact Domain Holder link at https://www.godaddy.com/whois/results.aspx?domain=ZILLOW.COM",
        "techEmail": "Select Contact Domain Holder link at https://www.godaddy.com/whois/results.aspx?domain=ZILLOW.COM",
        "nameServer": "NS-1126.AWSDNS-12.ORG NS-709.AWSDNS-24.NET NS-1978.AWSDNS-55.CO.UK NS-188.AWSDNS-23.COM",
        "dnssec": "unsigned",
        "urlOfTheIcannWhoisDataProblemReportingSystem": "http://wdprs.internic.net/",
        "lastUpdateOfWhoisDatabase": "2021-01-06T21:00:00Z <<<",
        "termsOfUse": "The data contained in this registrar's Whois database, while believed by the"
    }
}
                                         

API: Web Scraper

Automatically scrape a website's HTML source by providing a link to a website or specific page!

$ curl "https://api.apistacks.com/v1/scrapewebsite?url=https://google.com"
Parameter Description
x-api-key In your Request Header provide the API Key found within your Dashboard
url the full URL (including its respective HTTP Protocol) of the website you want to request open graph data from, e.g. http://abc.com

Parameter Description Default
response_type set to "JSON", "XML", or "YAML" depending what type of response you want from the API. This is optional JSON
gzip specify if you want to handle GZIP website and decode gzip true
method specify the request method GET
followredirect specify if you want the request to follow any 301 website redirects true
maxredirects specify how many consecutive redirects you want the request to follow 10
strictssl specify if you want to only allow SSL requests to be processed and deny prevent any unsecure requests false

API: Language Detect

Feed this API a few sentences and have it determine what language it is with a confidence score!

$ curl "https://api.apistacks.com/v1/detectlanguage?text=YOUR TEXT HERE"
Parameter Description
text the text you need to be translated. This will have character limit of 300 characters,
e.g. Esto puede identificar 52 idiomas humanos a partir de muestras de texto y devolver puntuaciones de confianza para cada uno.

Parameter Description Default
x-api-key In your Request Header provide the API Key found within your Dashboard
response_type set to "JSON", "XML", or "YAML" depending what type of response you want from the API. This is optional JSON
detectedcount specify the number of langages that were detected, maximum up to 5 2


{
    "status": "ok",
    "timestamp": 1605590439267,
    "value": "esto puede identificar 52 idiomas humanos a partir de muestras de texto y devolver puntuaciones de confianza para cada uno.",
    "data": [
        [
            "spanish",
            0.3528660436137071
        ],
        [
            "portuguese",
            0.3325233644859813
        ]
    ]
}

                                         

API: WHOIS Lookup

Feed this API a few sentences and have it determine what language it is with a confidence score!

$ curl "https://api.apistacks.com/v1/getwhois?url=https://google.com"
Parameter Description
x-api-key In your Request Header provide the API Key found within your Dashboard
url the full URL (including its respective HTTP Protocol) of the website you want to request WHOIS data from, e.g. http://abc.com

Parameter Description Default
response_type set to "JSON", "XML", or "YAML" depending what type of response you want from the API. This is optional JSON
maxredirects specify how many consecutive redirects you want the request to follow 2
formatted specify if you want your api request to be returned as formatted JSON. If false, it returns an unformatted piece of string true


{
    "status": "ok",
    "timestamp": 1605575599741,
    "url": "google.com",
    "data": {
        "DomainName": " google.com",
        "RegistryDomainID": " 2138514_DOMAIN_COM-VRSN",
        "RegistrarWHOISServer": " whois.markmonitor.com",
        "RegistrarURL": " http",
        "UpdatedDate": " 2019-09-09T08",
        "CreationDate": " 1997-09-15T00",
        "RegistrarRegistrationExpirationDate": " 2028-09-13T00",
        "Registrar": " MarkMonitor, Inc.",
        "RegistrarIANAID": " 292",
        "RegistrarAbuseContactEmail": " [email protected]",
        "RegistrarAbuseContactPhone": " +1.2083895770",
        "DomainStatus": " serverDeleteProhibited (https",
        "RegistrantOrganization": " Google LLC",
        "RegistrantState/Province": " CA",
        "RegistrantCountry": " US",
        "RegistrantEmail": " Select Request Email Form at https",
        "AdminOrganization": " Google LLC",
        "AdminState/Province": " CA",
        "AdminCountry": " US",
        "AdminEmail": " Select Request Email Form at https",
        "TechOrganization": " Google LLC",
        "TechState/Province": " CA",
        "TechCountry": " US",
        "TechEmail": " Select Request Email Form at https",
        "NameServer": " ns3.google.com"
    }
}

                                         

API: IP Lookup

Feed this API an IP Address and have it perform a lookup for you!

$ curl "https://api.apistacks.com/v1/iplookup?ip=104.68.52.120"
Parameter Description
x-api-key In your Request Header provide the API Key found within your Dashboard
ip the full public facing IP Address you want to look up, e.g. 104.68.52.210


{
    "status": "ok",
    "timestamp": 1608224406130,
    "ip": "104.68.52.210",
    "data": {
        "range": [
            1749434368,
            1749438463
        ],
        "country": "US",
        "region": "MO",
        "eu": "0",
        "timezone": "America/Chicago",
        "city": "Kansas City",
        "ll": [
            37.751,
            -97.822
        ],
        "metro": 0,
        "area": 1000
    }
}

                                         

API: Email Validator

Stop guessing if an email is valid or full. With this API, you can determine first hand if the email is deliverable and working!

$ curl "https://api.apistacks.com/v1/checkemail[email protected]"
Parameter Description
x-api-key In your Request Header provide the API Key found within your Dashboard
email the email address that you want to verify, e.g. [email protected]


{
    "status": "ok",
    "timestamp": 1603327150932,
    "email": "[email protected]",
    "data": {
        "input": "[email protected]",
        "is_reachable": "invalid",
        "misc": {
            "is_disposable": false,
            "is_role_account": false
        },
        "mx": {
            "accepts_mail": true,
            "records": [
                "alt2.gmail-smtp-in.l.google.com.",
                "alt4.gmail-smtp-in.l.google.com.",
                "alt1.gmail-smtp-in.l.google.com.",
                "alt3.gmail-smtp-in.l.google.com.",
                "gmail-smtp-in.l.google.com."
            ]
        },
        "smtp": {
            "can_connect_smtp": true,
            "has_full_inbox": false,
            "is_catch_all": false,
            "is_deliverable": false,
            "is_disabled": true
        },
        "syntax": {
            "address": "[email protected]",
            "domain": "gmail.com",
            "is_valid_syntax": true,
            "username": "someone"
        }
    }
}

                                         

API: QR Code Generator

Turn any URL or even text into a downloadable and printable QR code with ease!

$ curl "https://api.apistacks.com/v1/generateqr?text=http://google.com"
Parameter Description
x-api-key In your Request Header provide the API Key found within your Dashboard
text the URL or any text that you want to be converted into a QR Code Image, e.g. http://www.google.com

Parameter Description Default
response_type set to "JSON", "XML", or "YAML" depending what type of response you want from the API. This is optional JSON
darkcolor specify what color you want the dark/foreground portion of the QR code to be in HEX #000000
lightcolor specify what color you want the light/background portion of the QR code to be in HEX #0000
width specify the witdh of the qr code in pixels. The height will automatically be equal to the width specified 600
scale specify the rendering scale of the QR code image between 1 and 3 1


{
    "status": "ok",
    "timestamp": 1605575599741,
    "url": "google.com",
    "data": "https://apistacks.com/cdn/repo/qr/2e6da4ad-5753-47ed-a076-271a8b969b66.png"
}

                                         

API: User Agent Lookup

Quickly lookup up details about your visitor's User Agent String, and converts it into easy to understand data.

$ curl "https://api.apistacks.com/v1/getuseragent?agent=Mozilla/5.0 (Linux Android 6.0.1= SM-G935S Build/MMB29K= wv)"
Parameter Description
x-api-key In your Request Header provide the API Key found within your Dashboard
ua the user agent string you want to look up, e.g. Mozilla/5.0 (Linux Android 6.0.1= SM-G935S Build/MMB29K= wv)


{
    "status": "ok",
    "timestamp": 1609518918606,
    "ua": "Mozilla/5.0 (Linux Android 6.0.1= SM-G935S Build/MMB29K= wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36=",
    "data": {
        "ua": "Mozilla/5.0 (Linux Android 6.0.1= SM-G935S Build/MMB29K= wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36=",
        "browser": {
            "name": "Chrome WebView",
            "version": "55.0.2883.91",
            "major": "55"
        },
        "engine": {
            "name": "Blink",
            "version": "55.0.2883.91"
        },
        "os": {
            "name": "Android",
            "version": "6.0.1"
        },
        "device": {
            "vendor": "Samsung",
            "model": "SM-G935S",
            "type": "mobile"
        },
        "cpu": {},
        "crawler": {
            "iscrawler": false
        }
    }
}

                                         

API: Phone Number Validator

Phone Number Validator is a service that easily and quickly looks up details about a phone number, and converts it into easy to understand data.

$ curl "https://api.apistacks.com/v1/validatephone?number=+13149221234"
Parameter Description
x-api-key In your Request Header provide the API Key found within your Dashboard
number the phone number you want to validate, e.g. +13149221234


{
    "status": "ok",
    "timestamp": 1609526332796,
    "phone": "+13149221234",
    "data": {
        "isvalid": true,
        "country": "US",
        "countrycode": 1,
        "nationalnumber": 3149221234,
        "extension": null,
        "e614": "314-922-1234",
        "type": "fixed_line_or_mobile",
        "geodata": {
            "location": "Missouri",
            "carrier": null,
            "timezones": [
                "America/Adak",
                "America/Chicago",
                "America/Denver"
            ]
        }
    }
}

                                         


FAQs

Can I use the Free Plan forever?

Yup, you can use the Free Plan for as long as you want! If you are just trying out the service, then it's an awesome plan.


The Free Plan has some limitations listed on the table above, so keep that in mind,

Can I change my plan at any time?

Yes, you can upgrade or downgrade your plan at any time.


If at any point you realize that you need more or less usage, send us an email at [email protected].


Do I get an API key?

Yes, once you sign up with your free account, you are given an API key within your dashboard.

How do I know my plan usage?

You can log into your account and see your quota usage.


We will automatically send you an email when you reach 80% of your quota limits.

How are payments processed?

All your payments are processed through Stripe. We do not store any of your card information, so your data will be secure.

Can I cancel my subscription?

Yes, simply send an email to [email protected]. Your request will be processed within 72 business hrs.


Get Started 🚀

Start building with these APIs for free, no credit card required! Pretty awesome right? 😎