← Developer Utilities

DNS Lookup

GET /dns/lookup

Perform DNS record lookups for any domain name. Supports all major record types: A (IPv4 address), AAAA (IPv6), MX (mail servers), CNAME (canonical name), TXT (text records including SPF/DKIM), NS (nameservers), and SOA (start of authority). Useful for domain troubleshooting tools, email deliverability checkers, DNS monitoring dashboards, and network administration utilities.

See it visualized

Parameters

domain required

Domain

type optional default: A

Record type

Example Requests

Basic usage
curl "https://nordapi.ee/api/v1/dns/lookup?domain=nordapi.ee&type=A"
A record lookup for nordapi.ee
curl "https://nordapi.ee/api/v1/dns/lookup?domain=nordapi.ee&type=A"
MX records for Gmail
curl "https://nordapi.ee/api/v1/dns/lookup?domain=gmail.com&type=MX"
TXT records for a domain
curl "https://nordapi.ee/api/v1/dns/lookup?domain=google.com&type=TXT"

Live Response

HTTP 500: "# UndefinedFunctionError at GET /api/v1/dns/lookup\n\nException:\n\n    ** (UndefinedFunctionError) function App.DnsLookup.resolve/2 is undefined (module App.DnsLookup is not available)\n        (app 0.1.0) App.DnsLookup.resolve(\"nordapi.ee\", \"A\")\n        (app 0.1.0) lib/app_web/controllers/api/v1/dns_controller.ex:9: AppWeb.API.V1.DnsController.lookup/2\n        (app 0.1.0) lib/app_web/controllers/api/v1/dns_controller.ex:1: AppWeb.API.V1.DnsController.action/2\n        (app 0.1.0) lib/app_web/controllers/api/v1/dns_controller.ex:1: AppWeb.API.V1.DnsController.phoenix_controller_pipeline/2\n        (phoenix 1.8.5) lib/phoenix/router.ex:416: Phoenix.Router.__call__/5\n        (app 0.1.0) lib/app_web/endpoint.ex:1: AppWeb.Endpoint.plug_builder_call/2\n        (app 0.1.0) deps/plug/lib/plug/debugger.ex:155: AppWeb.Endpoint.\"call (overridable 3)\"/2\n        (app 0.1.0) lib/app_web/endpoint.ex:1: AppWeb.Endpoint.call/2\n        (phoenix 1.8.5) lib/phoenix/endpoint/sync_code_reload_plug.ex:22: Phoenix.Endpoint.SyncCodeReloadPlug.do_call/4\n        (bandit 1.10.4) lib/bandit/pipeline.ex:131: Bandit.Pipeline.call_plug!/2\n        (bandit 1.10.4) lib/bandit/pipeline.ex:42: Bandit.Pipeline.run/5\n        (bandit 1.10.4) lib/bandit/http1/handler.ex:13: Bandit.HTTP1.Handler.handle_data/3\n        (bandit 1.10.4) lib/bandit/delegating_handler.ex:18: Bandit.DelegatingHandler.handle_data/3\n        (bandit 1.10.4) lib/bandit/delegating_handler.ex:8: Bandit.DelegatingHandler.handle_continue/2\n        (stdlib 7.3) gen_server.erl:2424: :gen_server.try_handle_continue/3\n        (stdlib 7.3) gen_server.erl:2291: :gen_server.loop/4\n        (stdlib 7.3) proc_lib.erl:333: :proc_lib.init_p_do_apply/3\n    \n\n## Connection details\n\n### Params\n\n    %{\"domain\" => \"nordapi.ee\", \"type\" => \"A\"}\n\n### Request info\n\n  * URI: http://localhost:4000/api/v1/dns/lookup\n  * Query string: domain=nordapi.ee&type=A\n\n### Headers\n  \n  * accept-encoding: gzip\n  * host: localhost:4000\n  * user-agent: req/0.5.17\n\n### Session\n\n    %{}\n"