{ "openapi": "3.0.3", "info": { "title": "Robtex Pro API", "description": "Premium API for DNS, IP, Lightning Network, and network intelligence data", "version": "1.0.0", "contact": { "name": "Robtex Support", "email": "info@robtex.com", "url": "https://www.robtex.com" } }, "servers": [ { "url": "https://freeapi.robtex.com/api/v1", "description": "Production server" } ], "paths": { "/latest_lightning_channels": { "get": { "summary": "Get latest Lightning Network channels", "description": "Returns the most recently opened Lightning Network channels, sorted by open time descending.", "operationId": "latest_lightning_channels", "parameters": [ { "name": "count", "in": "query", "description": "Number of channels to return (1-1000)", "required": false, "schema": { "type": "integer", "default": 10, "minimum": 1, "maximum": 1000 }, "example": 10 }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "ok" }, "channels": { "type": "array", "items": { "type": "object", "properties": { "infoUrl": { "type": "string", "description": "URL to channel info page" }, "scid_numeric": { "type": "string", "description": "Numeric short channel ID" }, "scid_x": { "type": "string", "description": "Short channel ID (blockxtxnoxvout format)" }, "scid_colon": { "type": "string", "description": "Short channel ID (block:txno:vout format)" }, "node1_pub": { "type": "string", "description": "First node public key (66 hex chars)" }, "node2_pub": { "type": "string", "description": "Second node public key (66 hex chars)" } } } } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/ip_reputation": { "get": { "summary": "Check IP reputation against 100+ blocklists", "description": "Check an IP address reputation against 100+ real-time blocklists (DNSBLs). Returns listing status, threat categories, AS info, and blocklist details.", "operationId": "ip_reputation", "parameters": [ { "name": "ip", "in": "query", "description": "IPv4 or IPv6 address to check (e.g., 8.8.8.8, 2001:4860:4860::8888)", "required": true, "schema": { "type": "string" }, "example": "8.8.8.8" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "ok" }, "ip": { "type": "string", "description": "IP address checked" }, "infoUrl": { "type": "string", "description": "URL to detailed info page" }, "country": { "type": "string", "description": "Country code" }, "as": { "type": "object", "properties": { "number": { "type": "integer", "description": "AS number" }, "name": { "type": "string", "description": "AS name" }, "country": { "type": "string", "description": "AS country" }, "datacenter": { "type": "boolean", "description": "Is datacenter/hosting ASN" }, "risk_categories": { "type": "array", "items": { "type": "string" }, "description": "Risk categories" } } }, "reputation": { "type": "object", "properties": { "listed_count": { "type": "integer", "description": "Number of blocklists IP is listed on" }, "clean_count": { "type": "integer", "description": "Number of blocklists IP is clean on" }, "checked_count": { "type": "integer", "description": "Total blocklists checked" }, "listed_on": { "type": "array", "items": { "type": "object", "properties": { "rbl": { "type": "string", "description": "Blocklist name" }, "reason": { "type": "array", "items": { "type": "string" }, "description": "Listing reasons" } } } } } } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/lookup_dns": { "get": { "summary": "Lookup DNS records for a hostname", "description": "Lookup DNS records (A, AAAA, MX, NS, TXT, CNAME, SOA) for a given hostname. Also returns domain reputation info (Majestic, Tranco rankings, blocklist status).", "operationId": "lookup_dns", "parameters": [ { "name": "hostname", "in": "query", "description": "Hostname or domain to lookup (e.g., example.com, www.example.com)", "required": true, "schema": { "type": "string" }, "example": "google.com" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/reverse_lookup_dns_records": { "get": { "summary": "Find hostnames using a DNS record value", "description": "Find hostnames that use a specific DNS record value. Query which hostnames point to an IP address, use a particular nameserver, or reference any DNS value. For example: 'which hostnames point to 1.2.3.4?' or 'which hostnames use chris.ns.cloudflare.com as their nameserver?'", "operationId": "reverse_lookup_dns_records", "parameters": [ { "name": "value", "in": "query", "description": "The DNS record value to search for (e.g., IP address, nameserver hostname, mail server, CNAME target)", "required": true, "schema": { "type": "string" }, "example": "8.8.8.8" }, { "name": "record_type", "in": "query", "description": "Type of DNS record to search (A, AAAA, NS, MX, CNAME, TXT)", "required": false, "schema": { "type": "string", "default": "A", "enum": [ "A", "AAAA", "NS", "MX", "CNAME", "TXT" ] } }, { "name": "limit", "in": "query", "description": "Maximum number of hostnames to return", "required": false, "schema": { "type": "integer", "default": 100, "minimum": 1, "maximum": 1000 } }, { "name": "offset", "in": "query", "description": "Offset for pagination", "required": false, "schema": { "type": "integer", "default": 0, "minimum": 0 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/reverse_lookup_mx": { "get": { "summary": "Find hostnames using a mail server", "description": "Find hostnames that use a specific mail server. For example: which hostnames use aspmx.l.google.com as their mail server?", "operationId": "reverse_lookup_mx", "parameters": [ { "name": "mx_server", "in": "query", "description": "The mail server hostname to search for (e.g., aspmx.l.google.com, mx1.example.com)", "required": true, "schema": { "type": "string" }, "example": "aspmx.l.google.com" }, { "name": "limit", "in": "query", "description": "Maximum number of hostnames to return", "required": false, "schema": { "type": "integer", "default": 100, "minimum": 1, "maximum": 1000 } }, { "name": "offset", "in": "query", "description": "Offset for pagination", "required": false, "schema": { "type": "integer", "default": 0, "minimum": 0 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/reverse_lookup_ns": { "get": { "summary": "Find hostnames using a nameserver", "description": "Find hostnames that use a specific nameserver. For example: which hostnames use chris.ns.cloudflare.com as their nameserver?", "operationId": "reverse_lookup_ns", "parameters": [ { "name": "nameserver", "in": "query", "description": "The nameserver hostname to search for (e.g., chris.ns.cloudflare.com, ns1.example.com)", "required": true, "schema": { "type": "string" }, "example": "chris.ns.cloudflare.com" }, { "name": "limit", "in": "query", "description": "Maximum number of hostnames to return", "required": false, "schema": { "type": "integer", "default": 100, "minimum": 1, "maximum": 1000 } }, { "name": "offset", "in": "query", "description": "Offset for pagination", "required": false, "schema": { "type": "integer", "default": 0, "minimum": 0 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/reverse_lookup_ip": { "get": { "summary": "Find hostnames pointing to an IP", "description": "Find hostnames that point to a specific IP address (IPv4 or IPv6). Searches both A and AAAA records. For example: which hostnames point to 1.2.3.4?", "operationId": "reverse_lookup_ip", "parameters": [ { "name": "ip", "in": "query", "description": "The IP address to search for (IPv4 or IPv6)", "required": true, "schema": { "type": "string" }, "example": "8.8.8.8" }, { "name": "limit", "in": "query", "description": "Maximum number of hostnames to return", "required": false, "schema": { "type": "integer", "default": 100, "minimum": 1, "maximum": 1000 } }, { "name": "offset", "in": "query", "description": "Offset for pagination", "required": false, "schema": { "type": "integer", "default": 0, "minimum": 0 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/historic_reverse_lookup_ns": { "get": { "summary": "Find hostnames that previously used a nameserver", "description": "Find hostnames that *previously* used a specific nameserver but no longer do. Tracks infrastructure migrations and past delegation relationships.", "operationId": "historic_reverse_lookup_ns", "parameters": [ { "name": "nameserver", "in": "query", "description": "The nameserver hostname to search for (e.g., chris.ns.cloudflare.com, ns1.example.com)", "required": true, "schema": { "type": "string" }, "example": "chris.ns.cloudflare.com" }, { "name": "limit", "in": "query", "description": "Maximum number of hostnames to return", "required": false, "schema": { "type": "integer", "default": 100, "minimum": 1, "maximum": 1000 } }, { "name": "offset", "in": "query", "description": "Offset for pagination", "required": false, "schema": { "type": "integer", "default": 0, "minimum": 0 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/historic_reverse_lookup_mx": { "get": { "summary": "Find hostnames that previously used a mail server", "description": "Find hostnames that *previously* used a specific mail server but no longer do. Tracks email provider migrations and past MX relationships.", "operationId": "historic_reverse_lookup_mx", "parameters": [ { "name": "mx_server", "in": "query", "description": "The mail server hostname to search for (e.g., aspmx.l.google.com, mx1.example.com)", "required": true, "schema": { "type": "string" }, "example": "aspmx.l.google.com" }, { "name": "limit", "in": "query", "description": "Maximum number of hostnames to return", "required": false, "schema": { "type": "integer", "default": 100, "minimum": 1, "maximum": 1000 } }, { "name": "offset", "in": "query", "description": "Offset for pagination", "required": false, "schema": { "type": "integer", "default": 0, "minimum": 0 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/historic_reverse_lookup_ip": { "get": { "summary": "Find hostnames that previously pointed to an IP", "description": "Find hostnames that *previously* pointed to a specific IP address but no longer do. Tracks hosting migrations and past IP relationships. Searches both A and AAAA records.", "operationId": "historic_reverse_lookup_ip", "parameters": [ { "name": "ip", "in": "query", "description": "The IP address to search for (IPv4 or IPv6)", "required": true, "schema": { "type": "string" }, "example": "8.8.8.8" }, { "name": "limit", "in": "query", "description": "Maximum number of hostnames to return", "required": false, "schema": { "type": "integer", "default": 100, "minimum": 1, "maximum": 1000 } }, { "name": "offset", "in": "query", "description": "Offset for pagination", "required": false, "schema": { "type": "integer", "default": 0, "minimum": 0 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/lookup_mac": { "get": { "summary": "Look up MAC address vendor from IEEE OUI database", "description": "Look up the manufacturer/vendor of a network device by its MAC address. Uses the official IEEE OUI (Organizationally Unique Identifier) database with ~30K entries.", "operationId": "lookup_mac", "parameters": [ { "name": "mac_address", "in": "query", "description": "MAC address to look up (e.g., D8:A3:5C:12:34:56, D8-A3-5C-12-34-56, or D8A35C123456). Only the first 6 hex characters (OUI prefix) are used.", "required": true, "schema": { "type": "string" }, "example": "D8:A3:5C:12:34:56" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "ok" }, "mac_address": { "type": "string", "description": "Input MAC address (uppercased)" }, "oui_prefix": { "type": "string", "description": "OUI prefix in XX:XX:XX format" }, "vendor": { "type": "string", "description": "Vendor/manufacturer name (null if not found)", "nullable": true }, "address": { "type": "string", "description": "Vendor address" }, "registry": { "type": "string", "description": "IEEE registry type (MA-L, MA-M, MA-S)" }, "found": { "type": "boolean", "description": "Whether the OUI was found in the database" }, "infoUrl": { "type": "string", "description": "URL to the MAC lookup page on robtex.com" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/lookup_as_whois": { "get": { "summary": "Lookup AS WHOIS information", "description": "Lookup WHOIS information for an Autonomous System (AS) number from the RADB routing database. Returns routing policy, network information, and administrative contacts.", "operationId": "lookup_as_whois", "parameters": [ { "name": "asn", "in": "query", "description": "AS number to lookup (e.g., \"AS15169\" or \"15169\" for Google)", "required": true, "schema": { "type": "string", "pattern": "^(AS)?[0-9]+$" }, "example": "AS15169" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/lookup_lightning_node": { "get": { "summary": "Lookup a Lightning Network node", "description": "Lookup a Lightning Network node by public key. Returns node alias, peer count, channel count, and centrality ranking.", "operationId": "lookup_lightning_node", "parameters": [ { "name": "pubkey", "in": "query", "description": "Compressed secp256k1 public key (66 hex chars)", "required": true, "schema": { "type": "string", "minLength": 66, "maxLength": 66, "pattern": "^(02|03)[0-9a-f]{64}$" }, "example": "03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/lookup_lightning_channel": { "get": { "summary": "Lookup a Lightning Network channel", "description": "Lookup a Lightning channel by channel ID. Supports numeric, block x txn x vout, or block:txn:vout formats.", "operationId": "lookup_lightning_channel", "parameters": [ { "name": "channel_id", "in": "query", "description": "Lightning channel ID (numeric, blockxtxnxvout, or block:txn:vout format)", "required": true, "schema": { "type": "string", "pattern": "^[0-9]{15,21}$|^[0-9]{3,7}[x:][0-9]{1,6}[x:][0-9]{1,6}$" }, "example": "936795x1154x0" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/lookup_lightning_channels_per_node": { "get": { "summary": "Get channels for a Lightning node", "description": "Lookup all Lightning Network channels for a given node by public key.", "operationId": "lookup_lightning_channels_per_node", "parameters": [ { "name": "node", "in": "query", "description": "Compressed secp256k1 public key (66 hex chars)", "required": true, "schema": { "type": "string", "minLength": 66, "maxLength": 66, "pattern": "^(02|03)[0-9a-f]{64}$" }, "example": "03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f" }, { "name": "limit", "in": "query", "description": "Maximum number of channels to return", "required": false, "schema": { "type": "integer", "default": 100, "minimum": 1, "maximum": 10000 } }, { "name": "offset", "in": "query", "description": "Offset for pagination", "required": false, "schema": { "type": "integer", "default": 0, "minimum": 0 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/get_recommended_lightning_peers": { "get": { "summary": "Get recommended Lightning peers", "description": "Get recommended Lightning Network peers for a given node. Returns nodes that are NOT currently peered with the specified node but would improve its centrality score if connected.", "operationId": "get_recommended_lightning_peers", "parameters": [ { "name": "pubkey", "in": "query", "description": "Compressed secp256k1 public key (66 hex chars)", "required": true, "schema": { "type": "string", "minLength": 66, "maxLength": 66, "pattern": "^(02|03)[0-9a-f]{64}$" }, "example": "03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f" }, { "name": "limit", "in": "query", "description": "Maximum number of recommended peers to return", "required": false, "schema": { "type": "integer", "default": 10, "minimum": 1, "maximum": 100 } }, { "name": "offset", "in": "query", "description": "Offset for pagination", "required": false, "schema": { "type": "integer", "default": 0, "minimum": 0 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/search_lightning_nodes_by_alias": { "get": { "summary": "Search Lightning nodes by alias", "description": "Search for Lightning Network nodes by partial alias match. Returns nodes whose aliases contain the search term (case-insensitive).", "operationId": "search_lightning_nodes_by_alias", "parameters": [ { "name": "alias", "in": "query", "description": "Search term to match against node aliases", "required": true, "schema": { "type": "string", "minLength": 1 }, "example": "ACINQ" }, { "name": "limit", "in": "query", "description": "Maximum number of nodes to return", "required": false, "schema": { "type": "integer", "default": 20, "minimum": 1, "maximum": 100 } }, { "name": "offset", "in": "query", "description": "Offset for pagination", "required": false, "schema": { "type": "integer", "default": 0, "minimum": 0 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/ipquery": { "get": { "summary": "IP query", "description": "Returns network info, geolocation, and DNS records for an IP address.", "operationId": "ipquery", "parameters": [ { "name": "ip", "in": "query", "description": "IP address to query", "required": true, "schema": { "type": "string" }, "example": "8.8.8.8" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" }, "city": { "type": "string" }, "country": { "type": "string" }, "as": { "type": "integer" }, "asname": { "type": "string" }, "bgproute": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/asquery": { "get": { "summary": "AS query", "description": "Returns networks associated with an AS number.", "operationId": "asquery", "parameters": [ { "name": "asn", "in": "query", "description": "AS number to query", "required": true, "schema": { "type": "integer" }, "example": 15169 }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" }, "nets": { "type": "array", "items": { "type": "object" } } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/pdns_forward": { "get": { "summary": "Forward passive DNS lookup", "description": "Returns passive DNS records for a domain (A, AAAA, MX, NS, CNAME).", "operationId": "pdns_forward", "parameters": [ { "name": "domain", "in": "query", "description": "Domain to look up", "required": true, "schema": { "type": "string" }, "example": "google.com" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" }, "records": { "type": "array", "items": { "type": "object" } } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/pdns_reverse": { "get": { "summary": "Reverse passive DNS lookup", "description": "Returns domains that reference a given value. Use type=a (default) for IP, type=ns for nameserver, type=mx for mail server.", "operationId": "pdns_reverse", "parameters": [ { "name": "value", "in": "query", "description": "IP address, nameserver, or mail server hostname", "required": true, "schema": { "type": "string" }, "example": "8.8.8.8" }, { "name": "type", "in": "query", "description": "Record type", "required": false, "schema": { "type": "string", "default": "a", "enum": [ "a", "ns", "mx" ] } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" }, "records": { "type": "array", "items": { "type": "object" } } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/pdns_reverse_historic": { "get": { "summary": "Historic reverse passive DNS lookup", "description": "Returns domains that previously referenced a given value but no longer do. Use type=a (default) for IP, type=ns for nameserver, type=mx for mail server.", "operationId": "pdns_reverse_historic", "parameters": [ { "name": "value", "in": "query", "description": "IP address, nameserver, or mail server hostname", "required": true, "schema": { "type": "string" }, "example": "8.8.8.8" }, { "name": "type", "in": "query", "description": "Record type", "required": false, "schema": { "type": "string", "default": "a", "enum": [ "a", "ns", "mx" ] } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" }, "records": { "type": "array", "items": { "type": "object" } } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/parse_hostname": { "get": { "summary": "Parse hostname into eTLD, domain, subdomain", "description": "Parse a hostname into its constituent parts using the Mozilla Public Suffix List (9700+ entries). Returns eTLD (effective TLD), registered domain, subdomain, labels, and depth. Handles multi-level eTLDs (co.uk, co.jp, com.au) and platform suffixes (github.io, herokuapp.com).", "operationId": "parse_hostname", "parameters": [ { "name": "hostname", "in": "query", "description": "Hostname to parse (e.g. www.mail.example.co.uk)", "required": true, "schema": { "type": "string" }, "example": "www.mail.example.co.uk" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/is_subdomain": { "get": { "summary": "Check if hostname is a subdomain", "description": "Check whether a hostname is a subdomain (has labels beyond the registered domain). Uses the Mozilla Public Suffix List for accurate eTLD detection.", "operationId": "is_subdomain", "parameters": [ { "name": "hostname", "in": "query", "description": "Hostname to check", "required": true, "schema": { "type": "string" }, "example": "www.example.com" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/registered_domain": { "get": { "summary": "Extract registered domain from hostname", "description": "Extract the registered domain (eTLD+1) from a hostname. For example, www.mail.example.co.uk returns example.co.uk.", "operationId": "registered_domain", "parameters": [ { "name": "hostname", "in": "query", "description": "Hostname to extract registered domain from", "required": true, "schema": { "type": "string" }, "example": "blog.shop.example.co.jp" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/tld_info": { "get": { "summary": "Get TLD information", "description": "Get information about a top-level domain or effective TLD. Returns whether it is in the Public Suffix List, how many sub-suffixes exist, and classification (ccTLD, gTLD, or infrastructure).", "operationId": "tld_info", "parameters": [ { "name": "tld", "in": "query", "description": "TLD or eTLD to look up (e.g. \"uk\", \"co.uk\", \"github.io\")", "required": true, "schema": { "type": "string" }, "example": "co.uk" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/dns_a": { "get": { "summary": "Get A records for a hostname", "description": "Look up A (IPv4 address) records for a hostname.", "operationId": "dns_a", "parameters": [ { "name": "hostname", "in": "query", "description": "Hostname to look up", "required": true, "schema": { "type": "string" }, "example": "google.com" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/dns_aaaa": { "get": { "summary": "Get AAAA records for a hostname", "description": "Look up AAAA (IPv6 address) records for a hostname.", "operationId": "dns_aaaa", "parameters": [ { "name": "hostname", "in": "query", "description": "Hostname to look up", "required": true, "schema": { "type": "string" }, "example": "google.com" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/dns_mx": { "get": { "summary": "Get MX records for a hostname", "description": "Look up MX (mail exchange) records for a hostname. Returns mail servers and their priorities.", "operationId": "dns_mx", "parameters": [ { "name": "hostname", "in": "query", "description": "Hostname to look up", "required": true, "schema": { "type": "string" }, "example": "google.com" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/dns_ns": { "get": { "summary": "Get NS records for a hostname", "description": "Look up NS (nameserver) records for a hostname.", "operationId": "dns_ns", "parameters": [ { "name": "hostname", "in": "query", "description": "Hostname to look up", "required": true, "schema": { "type": "string" }, "example": "google.com" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/dns_txt": { "get": { "summary": "Get TXT records for a hostname", "description": "Look up TXT records for a hostname. Includes SPF, DKIM, DMARC, domain verification, and other text records.", "operationId": "dns_txt", "parameters": [ { "name": "hostname", "in": "query", "description": "Hostname to look up", "required": true, "schema": { "type": "string" }, "example": "google.com" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/dns_cname": { "get": { "summary": "Get CNAME records for a hostname", "description": "Look up CNAME (canonical name / alias) records for a hostname.", "operationId": "dns_cname", "parameters": [ { "name": "hostname", "in": "query", "description": "Hostname to look up", "required": true, "schema": { "type": "string" }, "example": "www.github.com" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/dns_soa": { "get": { "summary": "Get SOA record for a hostname", "description": "Look up SOA (Start of Authority) record for a hostname. Returns primary nameserver, admin email, serial number, and timing values.", "operationId": "dns_soa", "parameters": [ { "name": "hostname", "in": "query", "description": "Hostname to look up", "required": true, "schema": { "type": "string" }, "example": "google.com" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/dns_ptr": { "get": { "summary": "Get PTR record for an IP", "description": "Look up PTR (reverse DNS) record for an IP address. Returns the hostname associated with the IP.", "operationId": "dns_ptr", "parameters": [ { "name": "ip", "in": "query", "description": "IPv4 or IPv6 address", "required": true, "schema": { "type": "string" }, "example": "8.8.8.8" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/reverse_lookup_cname": { "get": { "summary": "Find hostnames CNAMEd to a target", "description": "Find hostnames that have a CNAME record pointing to the specified target. Useful for CDN and load balancer investigations.", "operationId": "reverse_lookup_cname", "parameters": [ { "name": "target", "in": "query", "description": "CNAME target hostname (e.g. cdn.cloudflare.net)", "required": true, "schema": { "type": "string" }, "example": "cdn.cloudflare.net" }, { "name": "limit", "in": "query", "description": "Max results", "required": false, "schema": { "type": "integer", "default": 100, "minimum": 1, "maximum": 1000 } }, { "name": "offset", "in": "query", "description": "Offset for pagination", "required": false, "schema": { "type": "integer", "default": 0, "minimum": 0 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/historic_reverse_lookup_cname": { "get": { "summary": "Find hostnames that previously CNAMEd to a target", "description": "Find hostnames that previously had a CNAME record pointing to the specified target but no longer do. Tracks CDN and infrastructure migrations.", "operationId": "historic_reverse_lookup_cname", "parameters": [ { "name": "target", "in": "query", "description": "CNAME target hostname", "required": true, "schema": { "type": "string" }, "example": "cdn.cloudflare.net" }, { "name": "limit", "in": "query", "description": "Max results", "required": false, "schema": { "type": "integer", "default": 100, "minimum": 1, "maximum": 1000 } }, { "name": "offset", "in": "query", "description": "Offset for pagination", "required": false, "schema": { "type": "integer", "default": 0, "minimum": 0 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/ip_geolocation": { "get": { "summary": "Get geolocation for an IP address", "description": "Get geographic location data for an IP address: country, city, region, latitude, longitude, timezone.", "operationId": "ip_geolocation", "parameters": [ { "name": "ip", "in": "query", "description": "IPv4 or IPv6 address", "required": true, "schema": { "type": "string" }, "example": "8.8.8.8" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/ip_network": { "get": { "summary": "Get network info for an IP address", "description": "Get the containing network (BGP route), AS number, AS name, and route description for an IP address.", "operationId": "ip_network", "parameters": [ { "name": "ip", "in": "query", "description": "IPv4 or IPv6 address", "required": true, "schema": { "type": "string" }, "example": "8.8.8.8" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/ip_to_asn": { "get": { "summary": "Map IP to AS number", "description": "Lightweight lookup: get just the AS number and netblock for an IP address. Fastest way to map IP to ASN.", "operationId": "ip_to_asn", "parameters": [ { "name": "ip", "in": "query", "description": "IPv4 or IPv6 address", "required": true, "schema": { "type": "string" }, "example": "1.1.1.1" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/ip_blocklist_check": { "get": { "summary": "Check IP against threat intelligence blocklists", "description": "Check an IP address against IPsum, FireHOL, Tor exit node lists, C2 indicators, and other threat intelligence feeds. Returns which lists the IP appears on and threat scores.", "operationId": "ip_blocklist_check", "parameters": [ { "name": "ip", "in": "query", "description": "IPv4 or IPv6 address to check", "required": true, "schema": { "type": "string" }, "example": "185.220.101.1" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/ip_threat_intel": { "get": { "summary": "Get threat intelligence for an IP", "description": "Combined threat intelligence: DNSBL listings, IPsum score, FireHOL lists, bad ASN flag, Tor exit status. Comprehensive threat assessment for an IP address.", "operationId": "ip_threat_intel", "parameters": [ { "name": "ip", "in": "query", "description": "IPv4 or IPv6 address", "required": true, "schema": { "type": "string" }, "example": "185.220.101.1" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/as_info": { "get": { "summary": "Get AS name and organization", "description": "Get the name, organization, country, and description for an Autonomous System number. Lightweight version of as_whois.", "operationId": "as_info", "parameters": [ { "name": "asn", "in": "query", "description": "AS number (e.g. \"AS15169\" or \"15169\")", "required": true, "schema": { "type": "string" }, "example": "AS15169" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/as_prefixes": { "get": { "summary": "Get announced prefixes for an AS", "description": "Get all IPv4 and IPv6 network prefixes (netblocks) announced by an Autonomous System. Returns BGP-visible routes.", "operationId": "as_prefixes", "parameters": [ { "name": "asn", "in": "query", "description": "AS number (e.g. \"AS15169\" or \"15169\")", "required": true, "schema": { "type": "string" }, "example": "AS13335" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/domain_reputation": { "get": { "summary": "Get domain reputation and threat data", "description": "Get comprehensive domain reputation: Majestic rank, Tranco rank, HaGeZi blocklist status, Blackbook malware status, phishing database status, HSTS preload status, and disposable email detection.", "operationId": "domain_reputation", "parameters": [ { "name": "hostname", "in": "query", "description": "Domain to check", "required": true, "schema": { "type": "string" }, "example": "google.com" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/domain_ranking": { "get": { "summary": "Get domain popularity ranking", "description": "Get domain popularity rankings from five independent sources: Majestic Million (backlinks), Tranco top 1M (aggregated traffic), Cloudflare Radar (1.1.1.1 DNS query popularity), Cisco Umbrella (OpenDNS query popularity), and Chrome UX Report (real Chrome user traffic).", "operationId": "domain_ranking", "parameters": [ { "name": "hostname", "in": "query", "description": "Domain to check", "required": true, "schema": { "type": "string" }, "example": "github.com" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/domain_blocklist_check": { "get": { "summary": "Check domain against DNS blocklists", "description": "Check a domain against HaGeZi DNS blocklists, Steven Black unified hosts, Blackbook malware list, and phishing databases. Returns which lists the domain appears on.", "operationId": "domain_blocklist_check", "parameters": [ { "name": "hostname", "in": "query", "description": "Domain to check", "required": true, "schema": { "type": "string" }, "example": "example.com" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/domain_shared_ip": { "get": { "summary": "Find domains sharing the same IP", "description": "Find other domains hosted on the same IP address(es) as the target domain. Resolves the domain's A records, then performs reverse IP lookups for each.", "operationId": "domain_shared_ip", "parameters": [ { "name": "hostname", "in": "query", "description": "Domain to check", "required": true, "schema": { "type": "string" }, "example": "example.com" }, { "name": "limit", "in": "query", "description": "Max results per IP", "required": false, "schema": { "type": "integer", "default": 100, "minimum": 1, "maximum": 1000 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/domain_shared_ns": { "get": { "summary": "Find domains sharing the same nameservers", "description": "Find other domains using the same nameserver(s) as the target domain. Resolves the domain's NS records, then performs reverse NS lookups for each.", "operationId": "domain_shared_ns", "parameters": [ { "name": "hostname", "in": "query", "description": "Domain to check", "required": true, "schema": { "type": "string" }, "example": "example.com" }, { "name": "limit", "in": "query", "description": "Max results per NS", "required": false, "schema": { "type": "integer", "default": 100, "minimum": 1, "maximum": 1000 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/domain_shared_mx": { "get": { "summary": "Find domains sharing the same mail server", "description": "Find other domains using the same mail server(s) as the target domain. Resolves the domain's MX records, then performs reverse MX lookups for each.", "operationId": "domain_shared_mx", "parameters": [ { "name": "hostname", "in": "query", "description": "Domain to check", "required": true, "schema": { "type": "string" }, "example": "example.com" }, { "name": "limit", "in": "query", "description": "Max results per MX", "required": false, "schema": { "type": "integer", "default": 100, "minimum": 1, "maximum": 1000 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/check_email": { "get": { "summary": "Verify an email address via SMTP", "description": "Verify an email address by connecting to its mail server via SMTP. Checks MX records, tests if the address is accepted (RCPT TO), detects catch-all domains, and reports TLS support. Results are RAM-cached for 1 hour.", "operationId": "check_email", "parameters": [ { "name": "email", "in": "query", "description": "Email address to verify (e.g., user@example.com)", "required": true, "schema": { "type": "string" }, "example": "user@gmail.com" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "ok" }, "email": { "type": "string", "description": "The email address that was checked" }, "valid": { "type": "boolean", "description": "Whether the email appears valid (accepted by SMTP server)" }, "catchAll": { "type": "boolean", "description": "Whether the domain accepts any address (catch-all)" }, "catchAllIndeterminate": { "type": "boolean", "description": "Whether catch-all detection was inconclusive (e.g., rate limited)" }, "mxHost": { "type": "string", "description": "The MX host that was connected to", "nullable": true }, "mxMissing": { "type": "boolean", "description": "Whether no MX records were found for the domain" }, "smtpCode": { "type": "integer", "description": "SMTP response code for the target address (e.g., 250=accepted, 550=rejected)", "nullable": true }, "tls": { "type": "boolean", "description": "Whether TLS was used for the SMTP connection" }, "error": { "type": "string", "description": "Error message if the check failed", "nullable": true }, "durationMs": { "type": "number", "description": "Time taken for the check in milliseconds" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/ping": { "get": { "summary": "API health check", "description": "Check if the API is responding. Returns status and server timestamp.", "operationId": "ping", "parameters": [ { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/lookup_bitcoin_transaction": { "get": { "summary": "Look up a Bitcoin transaction by txid", "description": "Returns full transaction details: inputs with addresses and values, outputs with spent status, fee, size/weight, SegWit flag, and Lightning Network channel correlation. Supports both confirmed and mempool transactions.", "operationId": "lookup_bitcoin_transaction", "parameters": [ { "name": "txid", "in": "query", "description": "Transaction ID (64 hex characters)", "required": true, "schema": { "type": "string", "pattern": "^[a-fA-F0-9]{64}$" }, "example": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "ok" }, "transaction": { "type": "object", "properties": { "txid": { "type": "string", "description": "Transaction ID (64 hex)" }, "blockHeight": { "type": "integer", "description": "Block height (null if mempool)", "nullable": true }, "blockPosition": { "type": "integer", "description": "Position within block (0 = coinbase)" }, "mempool": { "type": "boolean", "description": "True if unconfirmed" }, "size": { "type": "integer", "description": "Transaction size in bytes", "nullable": true }, "weight": { "type": "integer", "description": "Transaction weight units", "nullable": true }, "fee": { "type": "string", "description": "Fee in satoshis", "nullable": true }, "flags": { "type": "array", "items": { "type": "string" }, "description": "Flags: coinbase, segwit, op_return, rbf" }, "inputCount": { "type": "integer" }, "outputCount": { "type": "integer" }, "inputs": { "type": "array", "items": { "type": "object", "properties": { "address": { "type": "string", "nullable": true }, "value": { "type": "string", "description": "Satoshis" }, "prevTxid": { "type": "string", "nullable": true }, "prevVout": { "type": "integer", "nullable": true } } } }, "outputs": { "type": "array", "items": { "type": "object", "properties": { "index": { "type": "integer" }, "address": { "type": "string", "nullable": true }, "value": { "type": "string", "description": "Satoshis" }, "spent": { "type": "boolean" } } } }, "infoUrl": { "type": "string", "description": "URL to transaction page on hashXP" } } } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/lookup_bitcoin_address": { "get": { "summary": "Look up a Bitcoin address", "description": "Returns address balance, total received/sent, transaction counts, address type (P2PKH, P2SH, P2WPKH, P2TR), first/last seen block, and ransomware/abuse flags. Supports all Bitcoin address formats.", "operationId": "lookup_bitcoin_address", "parameters": [ { "name": "address", "in": "query", "description": "Bitcoin address (P2PKH, P2SH, Bech32, Bech32m)", "required": true, "schema": { "type": "string" }, "example": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "ok" }, "address": { "type": "object", "properties": { "address": { "type": "string" }, "type": { "type": "string", "description": "p2pkh, p2sh, p2wpkh, p2tr, unknown" }, "balance": { "type": "string", "description": "Current balance in satoshis" }, "totalReceived": { "type": "string", "description": "Total received in satoshis" }, "totalSent": { "type": "string", "description": "Total sent in satoshis" }, "txCount": { "type": "integer", "description": "Total transaction count" }, "firstSeenBlock": { "type": "integer", "nullable": true }, "lastSeenBlock": { "type": "integer", "nullable": true }, "infoUrl": { "type": "string" } } }, "abuse": { "type": "object", "nullable": true, "description": "Abuse flags (null if clean)", "properties": { "ransomware": { "type": "object", "properties": { "family": { "type": "string", "description": "Ransomware family name" }, "balanceUSD": { "type": "number", "description": "Total balance in USD" } } }, "ofacSanctioned": { "type": "boolean", "description": "OFAC sanctions list" } } } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/lookup_bitcoin_block": { "get": { "summary": "Look up a Bitcoin block by height", "description": "Returns block header (hash, timestamp, version, merkle root, difficulty, nonce), transaction count, and list of transaction IDs. Supports lookup by block height.", "operationId": "lookup_bitcoin_block", "parameters": [ { "name": "height", "in": "query", "description": "Block height (0 = genesis block)", "required": true, "schema": { "type": "integer", "minimum": 0 }, "example": 800000 }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "ok" }, "block": { "type": "object", "properties": { "height": { "type": "integer" }, "hash": { "type": "string", "description": "Block hash (64 hex)" }, "timestamp": { "type": "integer", "description": "Unix timestamp" }, "version": { "type": "integer", "nullable": true }, "versionHex": { "type": "string", "nullable": true }, "merkleRoot": { "type": "string", "nullable": true }, "previousBlockHash": { "type": "string", "nullable": true }, "nextBlockHash": { "type": "string", "nullable": true }, "difficulty": { "type": "number" }, "nonce": { "type": "integer" }, "size": { "type": "integer", "description": "Block size in bytes" }, "weight": { "type": "integer", "description": "Block weight units" }, "txCount": { "type": "integer", "description": "Number of transactions" }, "txids": { "type": "array", "items": { "type": "string" }, "description": "Transaction IDs" }, "infoUrl": { "type": "string" } } } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/bitcoin_address_transactions": { "get": { "summary": "List transactions for a Bitcoin address", "description": "Returns a paginated list of transactions involving a Bitcoin address. Filter by direction: received (incoming funds), sent (outgoing funds), or all. Returns up to 100 transactions per call, sorted by block height descending (most recent first).", "operationId": "bitcoin_address_transactions", "parameters": [ { "name": "address", "in": "query", "description": "Bitcoin address", "required": true, "schema": { "type": "string" }, "example": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" }, { "name": "direction", "in": "query", "description": "Transaction direction filter", "required": false, "schema": { "type": "string", "default": "all", "enum": [ "received", "sent", "all" ] } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "ok" }, "address": { "type": "string" }, "direction": { "type": "string" }, "count": { "type": "integer" }, "transactions": { "type": "array", "items": { "type": "object", "properties": { "txid": { "type": "string" }, "blockHeight": { "type": "integer", "nullable": true }, "blockPosition": { "type": "integer" }, "infoUrl": { "type": "string" } } } } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/bitcoin_transaction_spends": { "get": { "summary": "Find which transactions spend the outputs of a given transaction", "description": "For a given transaction, returns which subsequent transactions consumed its outputs. Useful for UTXO tracking and chain analysis. Shows the spending txid for each output.", "operationId": "bitcoin_transaction_spends", "parameters": [ { "name": "txid", "in": "query", "description": "Transaction ID (64 hex characters)", "required": true, "schema": { "type": "string", "pattern": "^[a-fA-F0-9]{64}$" }, "example": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b" }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "ok" }, "txid": { "type": "string" }, "outputCount": { "type": "integer" }, "spentCount": { "type": "integer" }, "unspentCount": { "type": "integer" }, "outputs": { "type": "array", "items": { "type": "object", "properties": { "outputIndex": { "type": "integer" }, "value": { "type": "string", "description": "Satoshis" }, "spent": { "type": "boolean" }, "spendingTxid": { "type": "string", "nullable": true } } } } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/bitcoin_blockchain_stats": { "get": { "summary": "Get Bitcoin blockchain statistics over a block range", "description": "Returns cumulative blockchain metrics over a configurable block range. Available metrics include: txs, fees, segwittx, inputs, outputs, insats, outsats, btcusd, volusd, unspentoutputs, fullyspent, unspentsats, addresses, satoshiblocks, clnopen, clnclose, satlnopen, satlnclose, basereward, blockreward, batched, rbf, version2tx, lowestfee, and more. Returns sampled data points suitable for charting.", "operationId": "bitcoin_blockchain_stats", "parameters": [ { "name": "metric", "in": "query", "description": "Metric name (e.g., txs, fees, segwittx, btcusd, clnopen)", "required": true, "schema": { "type": "string" }, "example": "txs" }, { "name": "startBlock", "in": "query", "description": "Start block height", "required": false, "schema": { "type": "integer", "default": 0, "minimum": 0 } }, { "name": "endBlock", "in": "query", "description": "End block height (defaults to latest)", "required": false, "schema": { "type": "integer", "minimum": 0 } }, { "name": "samples", "in": "query", "description": "Number of data points to return (evenly spaced across range)", "required": false, "schema": { "type": "integer", "default": 200, "minimum": 10, "maximum": 2000 } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "ok" }, "metric": { "type": "string" }, "startBlock": { "type": "integer" }, "endBlock": { "type": "integer" }, "maxHeight": { "type": "integer", "description": "Latest block height in database" }, "dataPointCount": { "type": "integer" }, "dataPoints": { "type": "array", "items": { "type": "object", "properties": { "blockHeight": { "type": "integer" }, "value": { "type": "number", "description": "Metric value for the interval ending at this block" } } } } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string", "example": "Unauthorized" } } } } } } } } }, "/ipquery/{ip}": { "get": { "summary": "IP address query", "description": "Returns forward and reverse DNS, geolocation, and network data for an IP address.", "operationId": "ipquery", "parameters": [ { "name": "ip", "in": "path", "required": true, "description": "IP address to query", "schema": { "type": "string" } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "IP query result", "content": { "application/json": { "schema": { "type": "object" } } } } } } }, "/asquery/{asn}": { "get": { "summary": "AS number query", "description": "Returns networks in the global BGP table for an AS number.", "operationId": "asquery", "parameters": [ { "name": "asn", "in": "path", "required": true, "description": "AS number", "schema": { "type": "integer" } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "AS query result", "content": { "application/json": { "schema": { "type": "object" } } } } } } }, "/pdns/forward/{domain}": { "get": { "summary": "Forward passive DNS", "description": "Returns DNS records observed for a domain. Default format is NDJSON.", "operationId": "pdns_forward", "parameters": [ { "name": "domain", "in": "path", "required": true, "description": "Domain name", "schema": { "type": "string" } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "PDNS records", "content": { "application/x-ndjson": { "schema": { "type": "array" } } } } } } }, "/pdns/reverse/{value}": { "get": { "summary": "Reverse passive DNS", "description": "Returns domains that reference a given value (IP, nameserver, or MX server).", "operationId": "pdns_reverse", "parameters": [ { "name": "value", "in": "path", "required": true, "description": "IP address, nameserver, or MX server", "schema": { "type": "string" } }, { "name": "type", "in": "query", "required": false, "description": "Record type: a (default), ns, mx", "schema": { "type": "string", "enum": [ "a", "ns", "mx" ], "default": "a" } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "PDNS records", "content": { "application/x-ndjson": { "schema": { "type": "array" } } } } } } }, "/pdns/reverse-historic/{value}": { "get": { "summary": "Historic reverse passive DNS", "description": "Returns domains that previously referenced a given value but no longer do.", "operationId": "pdns_reverse_historic", "parameters": [ { "name": "value", "in": "path", "required": true, "description": "IP address, nameserver, or MX server", "schema": { "type": "string" } }, { "name": "type", "in": "query", "required": false, "description": "Record type: a (default), ns, mx", "schema": { "type": "string", "enum": [ "a", "ns", "mx" ], "default": "a" } }, { "$ref": "#/components/parameters/format" }, { "$ref": "#/components/parameters/callback" } ], "responses": { "200": { "description": "PDNS records", "content": { "application/x-ndjson": { "schema": { "type": "array" } } } } } } } }, "components": { "securitySchemes": { "RapidApiProxy": { "type": "apiKey", "in": "header", "name": "X-RapidAPI-Proxy-Secret", "description": "RapidAPI proxy secret header" } }, "parameters": { "format": { "name": "format", "in": "query", "description": "Response format. Default is json. Use callback param for JSONP shorthand.", "required": false, "schema": { "type": "string", "enum": [ "json", "jsonp", "xml", "ndjson", "sse", "markdown", "csv", "yaml", "html" ], "default": "json" } }, "callback": { "name": "callback", "in": "query", "description": "JSONP callback function name. Implies format=jsonp.", "required": false, "schema": { "type": "string", "pattern": "^[a-zA-Z_$][a-zA-Z0-9_$.]*$" } } } }, "security": [ { "RapidApiProxy": [] } ] }