A host's exposed ports, products & CVEs
API · /internetdb-api
IP Exposure API
See what any host exposes to the internet — as an API over Shodan's free InternetDB. Give it an IPv4/IPv6 address (or a hostname, which is resolved to its IP) and get that host's attack surface: the open ports (annotated with common service names), the products and technologies detected on it (CPEs), its reverse hostnames, Shodan's classification tags, and the known vulnerabilities (CVE identifiers) observed on its services. A dedicated vulnerabilities view returns just the CVEs and whether the host appears vulnerable. It is fast, requires no key, and is built for security, asset-discovery, external attack-surface monitoring and reconnaissance workflows. A network-exposure / attack-surface resource — distinct from IP geolocation (where an address is), the IANA port registry (what a port number means) and CVE databases (what a vulnerability is). Data from Shodan InternetDB (free / non-commercial use).
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 111 ms
- Server probes · 24h
- Subscribers
- 4,516
- active
- Total calls
- 57
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 2,420 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 2,420 calls/month
- 2 req/sec
- Host exposure + vulns
- No credit card
Starter
€6.95 /month
- 48,500 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 48.5k calls/month
- 8 req/sec
- Hostname resolution
- Email support
Pro
€22.10 /month
- 240,000 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 240k calls/month
- 20 req/sec
- Attack-surface monitoring
- Priority support
Mega
€58.40 /month
- 858,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 858k calls/month
- 50 req/sec
- Security platform
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Shentu API
Live on-chain data for Shentu (chain id shentu-2.2) — the security-focused Cosmos-SDK Layer-1 of the CertiK ecosystem, whose native token is CTK — served directly from public LCD/REST nodes with multi-node failover. The status endpoint returns the latest block height and time, chain id, the staking bond denom and the current minting inflation rate. The validators endpoint lists the active bonded validator set ranked by stake, each with its moniker, operator address, self-plus-delegated CTK, commission rate and jailed flag. The supply endpoint returns the total CTK supply, the amount bonded in staking and the resulting bonded ratio. The governance endpoint returns the most recent on-chain proposals with their id, title, status and voting window. Token amounts are converted from base micro-CTK (6 decimals) into whole CTK, and every figure is read live from the chain — nothing bundled or modelled — behind a short server-side cache with keep-warm so the feed stays fast and fresh. Ideal for staking dashboards, validator and delegator tooling, explorers, governance trackers and portfolio or analytics apps across the Cosmos and security-infrastructure ecosystem. Live keyless upstream. 5 endpoints.
api.oanor.com/shentu-api
Solana Program API
Inspect deployed Solana programs live from public Solana RPC — no key — and answer the question that matters most for safety: can this program still be changed, and by whom? For any program address it resolves the loader it runs under, whether it is executable, its on-chain ProgramData account, the upgrade authority (or that it has been made immutable / frozen), and the slot it was last deployed at. A batch endpoint audits up to twelve programs at once — perfect for checking the upgrade authority of every program a protocol depends on before you trust it — and a loaders endpoint documents Solana's program loaders. Distinct from balance, token and transaction APIs: this is the program and upgrade-authority layer that auditors, wallets and security tooling rely on to judge whether a Solana program is safe. Live from the chain; short cache only.
api.oanor.com/solanaprogram-api
Crypto Phishing Check API
Tell whether a domain is a known crypto phishing or scam site before a wallet or user connects to it — using MetaMask's canonical eth-phishing-detect blocklist, the same list that protects millions of MetaMask users, read keyless and live. It runs the real detection logic: an exact and subdomain match against the blocklist and allowlist, plus a Levenshtein fuzzy match against high-value lookalike targets to catch typosquats like "myetherwaliet.com" or "app-wallet-uniswap.org". Check a domain or URL for a verdict (blocked, allowed, fuzzy or unknown) with the reason, search the 190,000-entry blocklist, or read its stats. The dApp-connection safety layer every wallet, browser extension, Telegram bot and security tool needs to warn users before they sign. Live, lightly cached.
api.oanor.com/phishingcheck-api
Storage Slot API
Read any smart contract's raw EVM storage live via the chain's public JSON-RPC, decode each 32-byte word as an address, uint or bool, and resolve proxy implementation pointers across every common proxy standard — EIP-1967, EIP-1822/UUPS and the legacy OpenZeppelin/zeppelinos slot, plus beacon proxies. This is how you find out what a proxy actually points to, who its admin is, or what a contract is storing — even for unverified contracts where source and ABI are unavailable. Give it a chain and an address: read one slot, scan the first N slots to peek at the state layout, or auto-resolve the proxy implementation. The on-chain state-inspection layer for auditors, upgrade monitors and security tooling, across Ethereum, Base, Arbitrum, Optimism, BNB, Polygon and more. Live, short cache only.
api.oanor.com/storageslot-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for IP Exposure API?
What's the rate limit for IP Exposure API?
How much does IP Exposure API cost?
Can I cancel my subscription anytime?
Is IP Exposure API GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/internetdb-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/internetdb-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/internetdb-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/internetdb-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.