Migrating from Cloudflare, Route53 or BIND
PrimeDNS imports and exports zones in standard BIND format, so moving from Cloudflare, Route53, or any other provider is an export-then-import — no manual record-by-record re-entry, and no lock-in if you ever want to leave.
1. Export your zone from your current provider
Every major provider can export a BIND zone file:
- Cloudflare — DNS → Records → Export (top right of the records table).
- Route53 —
aws route53 list-resource-record-sets --hosted-zone-id ZXXXXXXX --output json, or use a converter likecli53 exportto get a BIND-format file directly. - BIND / any nameserver you run yourself — the zone file already is the BIND format; use it as-is.
2. Add the domain to PrimeDNS
If you haven't already, add the domain in Domains → Add external domain (see Quick Start) — this creates an empty zone for it.
3. Import
Open the zone's Records page and click Import zone. Paste the
zone file or drop the .zone/.txt file. Tick
Dry run — parse only, don't create records first to see
what would be created without committing anything.

SOA and apex NS records in the file are skipped
automatically — PrimeDNS manages those itself. Records that already exist
in the zone are silently ignored, so re-running an import is safe.
Or import via the API directly, useful for scripting a bulk migration of many domains:
curl -X POST https://api.primedns.net/v1/zones/example.com/import \
-H "X-API-Key: pdns_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
--data-binary @example.com.zone
4. Verify before cutting over
Query PrimeDNS's nameservers directly to confirm records match, before touching your registrar's NS delegation:
for name in @ www mail; do
echo "--- $name ---"
dig @ns1.primedns.net example.com $name A +short 2>/dev/null
dig @ns1.primedns.net $name.example.com A +short
done
Or diff the two zones programmatically by exporting back out and comparing:
curl "https://api.primedns.net/v1/zones/example.com/export" \
-H "X-API-Key: pdns_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-o example.com.primedns.zone
diff example.com.zone example.com.primedns.zone
5. Cut over
Once records check out, change the domain's nameservers at your registrar to:
ns1.primedns.net
ns2.primedns.net
Exporting later (no lock-in)
You can export any zone back out to standard BIND format at any time, from the same Records page (Export zone) or via the API:
curl "https://api.primedns.net/v1/zones/example.com/export" \
-H "X-API-Key: pdns_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"