- Scan ID:
- de533516-742c-45f3-b498-cab5f0760d4fFinished
- Submitted URL:
- https://ip-api.com/
- Report Finished:
Links · 0 found
The outgoing links identified from the page
JavaScript Variables · 23 found
Global JavaScript variables loaded on the window object of a page, are variables declared outside of functions and accessible from anywhere in the code within the current scope
Name | Type |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
parse_edns | function |
ajax | function |
jsonParse | function |
byId | function |
updateElement | function |
orderResponse | function |
setMap | function |
Console log messages · 0 found
Messages logged to the web console
HTML
The raw HTML body of the page
<!DOCTYPE html><html lang="en"><head><style>html{visibility:hidden;opacity:0}</style><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="description" content="Free IP Geolocation API - lookup any IP address"><meta name="keywords" content="ip api, ip geolocation, geoip, geolocation, ip to location, my ip address, reversedns, dns api, visitor localization, json ip, php ip, csv ip, xml ip"><title>IP-API.com - Geolocation API</title><link rel="preload" href="/docs/static/dosis-v8-latin-200.woff2" as="font" type="font/woff2" crossorigin=""><link rel="preload" href="/docs/static/dosis-v8-latin-500.woff2" as="font" type="font/woff2" crossorigin=""><link rel="preload" href="/docs/static/dosis-v8-latin-regular.woff2" as="font" type="font/woff2" crossorigin=""><link rel="preload" href="/docs/static/open-sans-v16-latin-300.woff2" as="font" type="font/woff2" crossorigin=""><link rel="preload" href="/docs/static/open-sans-v16-latin-600.woff2" as="font" type="font/woff2" crossorigin=""><link rel="preload" href="/docs/static/open-sans-v16-latin-regular.woff2" as="font" type="font/woff2" crossorigin=""><link rel="dns-prefetch" href="demo.ip-api.com"><link href="/docs/static/page.css" rel="stylesheet"><link rel="icon" href="/favicon.ico"></head><body class="body-scrolled navbar-scrolled header-scrolled"><nav class="navbar navbar-expand-lg navbar-dark stick" data-navbar="fixed"><div class="container"><div class="navbar-left"><a class="navbar-brand" href="/"><img class="logo-dark" src="/docs/static/logo.png" alt="logo" width="90" height="23"></a></div><div class="navbar-mobile"><nav class="nav nav-navbar ml-auto"><a class="nav-link" href="/docs">Documentation</a> <a class="nav-link" href="https://members.ip-api.com/">Sign up</a> <a class="nav-link" href="mailto:[email protected]">Contact</a></nav></div></div></nav><header id="home" class="header"><div class="container"><div class="row align-items-center h-100"><div class="col-lg-6"><h1 class="display-4"><strong>IP Geolocation API</strong><br>Fast, accurate, reliable</h1><p class="lead mt-1">Free for non-commercial use, no API key required</p><p class="lead mt-1">Easy to integrate, available in JSON, XML, CSV, Newline, PHP</p><p class="lead mt-1">Serving more than 1 billion requests per day, trusted by thousands of businesses</p><p class="gap-xy mt-6"><a class="btn btn-lg btn-primary" href="/docs">API Documentation</a></p></div><div class="col-md-6 mx-auto mb-0 rimg"><img src="/docs/static/bg.jpg" width="540" height="303" alt="..."></div></div></div></header><main class="main-content"><section class="section bg-gray pt-3"><div class="container" id="sc"><header class="section-header mb-0"><h2>API Demo</h2><p>Search any IP address/domain</p></header><div class="row gap-y"><div class="col-md-8 mx-auto"><form class="rounded mt-1" onsubmit="return query(document.forms[0].ip.value),!1"><div class="row"><div class="col"><div class="input-group"><input spellcheck="false" autocomplete="off" class="form-control" name="ip" placeholder="Query IP/domain"></div></div><div class="col-auto"><button class="btn btn-lg btn-primary" type="submit">Search</button></div></div></form></div><div class="col-md-6 mx-auto mdh"><pre id="codeOutput">{
<span class="key">"query":</span> <span class="string">"104.28.158.248"</span>,
<span class="key">"status":</span> <span class="string">"success"</span>,
<span class="key">"continent":</span> <span class="string">"Europe"</span>,
<span class="key">"continentCode":</span> <span class="string">"EU"</span>,
<span class="key">"country":</span> <span class="string">"Spain"</span>,
<span class="key">"countryCode":</span> <span class="string">"ES"</span>,
<span class="key">"region":</span> <span class="string">"MD"</span>,
<span class="key">"regionName":</span> <span class="string">"Madrid"</span>,
<span class="key">"city":</span> <span class="string">"Chamartin"</span>,
<span class="key">"district":</span> <span class="string">""</span>,
<span class="key">"zip":</span> <span class="string">"28016"</span>,
<span class="key">"lat":</span> <span class="number">40.4498</span>,
<span class="key">"lon":</span> <span class="number">-3.675</span>,
<span class="key">"timezone":</span> <span class="string">"Europe/Madrid"</span>,
<span class="key">"offset":</span> <span class="number">3600</span>,
<span class="key">"currency":</span> <span class="string">"EUR"</span>,
<span class="key">"isp":</span> <span class="string">"Cloudflare, Inc."</span>,
<span class="key">"org":</span> <span class="string">"Cloudflare WARP"</span>,
<span class="key">"as":</span> <span class="string">"AS13335 Cloudflare, Inc."</span>,
<span class="key">"asname":</span> <span class="string">"CLOUDFLARENET"</span>,
<span class="key">"mobile":</span> <span class="boolean">false</span>,
<span class="key">"proxy":</span> <span class="boolean">true</span>,
<span class="key">"hosting":</span> <span class="boolean">false</span>
}</pre><pre id="preOutputEdns" style="display: block;">{
<span class="key">"dns":</span> {
<span class="key">"geo":</span> <span class="string">"Spain - Cloudflare, Inc."</span>,
<span class="key">"ip":</span> <span class="string">"172.70.61.76"</span>
}
}</pre></div><div id="mapOuter" class="col-md-6 mx-auto" style="display: block;"><div id="map" style="opacity: 1; background-image: url("https://cache.ip-api.com/-3.675,40.4498,10");"></div></div></div></div></section><section class="section pt-3"><div class="container"><header class="section-header"><h2>Frequently Asked Questions</h2></header><div class="row gap-y"><div class="col-md-6 col-xl-4"><h5>How often do you update your database?</h5><p>We update our database as soon as we have new information about an IP block. For each API request, you will always have the most accurate location data, without having to worry about updating a local database.</p></div><div class="col-md-6 col-xl-4"><h5>Are you still going to be here next year? Can I use your API in production?</h5><p>IP-API has been running since 2012 and we are now providing one of the most popular and reliable IP Geolocation API.</p></div><div class="col-md-6 col-xl-4"><h5>Do I need an API key for the free endpoint?</h5><p>We will never require an API key or registration and the API schema will not change.</p></div><div class="col-md-6 col-xl-4"><h5>How many requests can I do?</h5><p>Our endpoints are limited to 45 HTTP requests per minute from an IP address. If you go over this limit your requests will be throttled (<code>HTTP 429</code>) until your rate limit window is reset.<br>If you need unlimited queries, please see our <a href="https://members.ip-api.com/">pro service</a>.</p></div><div class="col-md-6 col-xl-4"><h5>What is the average response time of the API?</h5><p>With dedicated servers in US, EU and APAC, a network based on Anycast technology, and highly optimized software we achieve real response times of under 50 milliseconds in most parts of the world.</p></div><div class="col-md-6 col-xl-4"><h5>Can I use your API on my commercial website?</h5><p>We do not allow commercial use of the free endpoint. Please see our <a href="https://members.ip-api.com/">pro service</a> for SSL access, unlimited queries, usage statistics and commercial support.</p></div></div></div></section></main><script>function parse_edns(e){updateElement("preOutputEdns",syntaxHighlight(JSON.stringify(e,void 0,4))),byId("preOutputEdns").style.display="block"}function ajax(e,t,n){e=proto+e,this.getRequest=function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):window.XMLHttpRequest?new XMLHttpRequest:!1};var a=getRequest();a.onreadystatechange=function(){4==a.readyState&&(200==a.status?t(jsonParse(a.responseText)):n&&updateElement("codeOutput","error, HTTP code "+a.status+" "+a.statusText+"<br>"+a.responseText))},a.open("GET",e,!0),a.send()}function jsonParse(e){try{return JSON.parse(e)}catch(t){return!1}}function byId(e){return document.getElementById(e)}function updateElement(e,t){byId(e).innerHTML=t}function orderResponse(e){out={};for(var t=["query","message","status","continent","continentCode","country","countryCode","region","regionName","city","district","zip","lat","lon","timezone","offset","currency","isp","org","as","asname","reverse","mobile","proxy","hosting"],n=0;n<t.length;n++)t[n]in e&&(out[t[n]]=e[t[n]]);return out}function setMap(e,t,n){var a='url("'+proto+"cache.ip-api.com/"+t+","+e+","+n+'")';byId("map").style.backgroundImage!==a&&(byId("map").style.backgroundImage=a),byId("mapOuter").style.display="block",MapOpacity(1)}function unSetMap(){byId("map").style.backgroundImage="",byId("mapOuter").style.display="none",MapOpacity(1)}function MapOpacity(e){byId("map").style.opacity=e}function query(e){if(MapOpacity(.6),"undefined"==typeof e&&(e=location.hash.substring(1),0!==e.length&&byId("sc").scrollIntoView()),e=decodeURIComponent(e).trim(),(isUrl=e.match(/^https?\:\/\/([^\/:?#]+)(?:[\/:?#]|$)/i))&&(e=isUrl[1]),""==e?(history.replaceState(null,null," "),currentQuery=document.forms[0].ip.value=e):currentQuery=location.hash=document.forms[0].ip.value=e,""==e){cache=[],myIp="";for(var t="";32>t.length;t+=Math.random().toString(36).substr(2));ajax(t.substr(0,32)+".edns.ip-api.com/json?lang="+currentLanguage,function(e){""==myIp?cache.edns=e:parse_edns(e)},!1)}else byId("preOutputEdns").style.display="none";ajax(APIendpoint+"/json/"+e+"?fields=66842623&lang="+currentLanguage,function(t){updateElement("codeOutput",""),"success"==t.status?(setMap(t.lat,t.lon,""==t.city?6:10),updateElement("codeOutput",syntaxHighlight(JSON.stringify(orderResponse(t),void 0,4))),""==e&&(document.forms[0].ip.value=myIp=t.query,"object"==typeof cache.edns&&parse_edns(cache.edns))):(unSetMap(),updateElement("codeOutput",syntaxHighlight(JSON.stringify(t,void 0,4))))},!0)}function syntaxHighlight(e){return e=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),e.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g,function(e){var t="number";return/^"/.test(e)?t=/:$/.test(e)?"key":"string":/true|false/.test(e)?t="boolean":/null/.test(e)&&(t="null"),'<span class="'+t+'">'+e+"</span>"})}var APIendpoint="demo.ip-api.com",currentLanguage="en",proto="https:"==document.location.protocol?"https://":"http://";query(),window.onhashchange=function(){location.hash.substring(1)!==currentQuery&&query()};</script><footer id="footer" class="footer py-9"><div class="container"><div class="row gap-y"><div class="col-xl-4 order-md-last"><h6 class="mb-4"><strong>Go pro</strong></h6><p>Get unlimited queries, SSL and commercial use</p><a class="btn btn-primary mr-2" href="https://members.ip-api.com/">Sign up</a> <a class="btn btn-secondary" href="mailto:[email protected]">Contact</a></div><div class="col-6 col-md-4 col-xl-2"><h6 class="mb-4"><strong>Response Formats</strong></h6><div class="nav flex-column"><a class="nav-link" href="/docs/api:json">JSON</a> <a class="nav-link" href="/docs/api:xml">XML</a> <a class="nav-link" href="/docs/api:csv">CSV</a> <a class="nav-link" href="/docs/api:newline_separated">Newline</a> <a class="nav-link" href="/docs/api:serialized_php">PHP</a></div></div><div class="col-6 col-md-4 col-xl-2"><h6 class="mb-4"><strong>API</strong></h6><div class="nav flex-column"><a class="nav-link" href="/docs/api:batch">Batch API</a> <a class="nav-link" href="/docs/dns">DNS API</a> <a class="nav-link" href="/docs/correction">Data Correction</a></div></div><div class="col-xl-4 order-md-first"><h6 class="mb-6"><img class="mt-2" src="/docs/static/logo.png" alt="logo" width="135" height="35"></h6><small class="opacity-70">© 2022 ip-api.com. All rights reserved.</small><br><a class="ma" href="/docs/legal">Terms and Policies</a><br><a class="ma" href="https://status.ip-api.com/">Service status</a></div></div></div></footer></body></html>