---
title: "Reverse-DNS (PTR) lookup for an IPv4 address, with forward-confirmation"
method: POST
path: "/api/v1/dns/reverse"
tags: ["DNS"]
---

# Reverse-DNS (PTR) lookup for an IPv4 address, with forward-confirmation

`POST /api/v1/dns/reverse`

## Request

- Base URL: `https://firstsales.io`
- URL: `https://firstsales.io/api/v1/dns/reverse`
- Auth: none required

Looks up PTR hostnames for an IPv4 address and re-resolves each hostname's A records to check they point back to the original IP (forward-confirmed reverse DNS, a common sending-IP reputation signal). Rejects private/reserved IPs. Rate limit: 10 requests/minute per IP.

## Request body

- object
  - `ip` string, ipv4, required

## Response `200`

Reverse DNS lookup result.

- ReverseDnsResult
  - `ip` string, required
  - `hostnames` string[], required
  - `forwardResults` object[], required
    - `hostname` string, required
    - `forwardIps` string[], required
    - `matches` boolean, required
  - `ptrError` string, nullable
  - `ipClass` object
  - `networkType` string, required

## Other responses

- `400`: Invalid request — bad input, missing field, or malformed value.
- `429`: Rate limit exceeded for this endpoint. Wait Retry-After seconds and retry.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/firstsales/apis/firstsales-public-api.md) · [All operations](https://skmtc.dev/firstsales/apis/firstsales-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/firstsales/apis/firstsales-public-api/revisions/3856191adf12?raw)
