---
title: "Look up and validate a domain's DKIM record"
method: POST
path: "/api/v1/dns/dkim"
tags: ["DNS"]
---

# Look up and validate a domain's DKIM record

`POST /api/v1/dns/dkim`

## Request

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

Auto-detects common DKIM selectors (or uses the selector you pass in manual mode), then reports key type, estimated key strength, testing-mode flag, and validity. Use this for a DKIM-focused check with more detail than dns/check's generic dkim type. Rate limit: 10 requests/minute per IP.

## Request body

- object
  - `domain` string, required
  - `selector` string: DKIM selector, e.g. `google`. Required when mode is 'manual'.
  - `mode` 'auto' | 'manual': Defaults to auto-detect of common selectors.

## Response `200`

DKIM lookup result.

- DkimResult
  - `domain` string, required
  - `selector` string, required
  - `recordFound` boolean, required
  - `validStructure` boolean, required
  - `publicKeyPresent` boolean, required
  - `rawRecord` string, required
  - `status` 'Valid' | 'Invalid' | 'Not Found', required
  - `details` object
    - `versionTag` boolean
    - `keyType` string
    - `estimatedKeyBits` number, nullable
    - `testingMode` boolean
    - `allSelectorsFound` string[]
  - `message` string

## Other responses

- `400`: Invalid request — bad input, missing field, or malformed value.
- `404`: Domain does not exist or has no DNS records.
- `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)
