URL: /guides/bulk-search

---
title: Bulk search and batch availability
description: Check thousands of names at once via bulk endpoints and the streaming search API.
---

When you're hunting names at scale — auctions, brand protection, name generation — single-domain calls add up. Two endpoints handle volume.

## `POST /domains/availability/bulk`

Up to 1,000 domains per request. Synchronous; returns when every domain has been resolved.

```bash
curl -X POST "https://api.domaingenius.com.au/api/v1/domains/availability/bulk" \
  -H "Authorization: Bearer $DG_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "domains": ["a.com", "b.com", ..., "zzz.com"] }'
```

Cached results return instantly; uncached names are resolved against the registry in batches of 30 with backoff between batches. Expect ~10s for 1,000 fully uncached `.com` domains.

## Search stream

```bash
curl "https://api.domaingenius.com.au/api/v1/domains/search/stream?q=footwear&tlds=com,com.au,net" \
  -H "Authorization: Bearer $DG_KEY" \
  -H "Accept: text/event-stream"
```

Server-sent events. The stream emits:

```
event: result
data: {"domain": "footwear.com", "available": false, ...}

event: result
data: {"domain": "footwear.com.au", "available": true, "register_price_aud": 24.95, ...}

event: suggestion
data: {"domain": "footwearco.com.au", "available": true, "score": 0.78}

event: done
data: {"total": 47}
```

Suggestions come from an LLM seeded on the input plus the org's prior registrations. They're best-effort — discard ones that don't fit your taste.

## Pricing

Bulk and search count against your `bulk` rate-limit pool, not the interactive pool. See [Rate limits](/api/rate-limits).

## CSV input

For repeated jobs (brand monitoring), upload a CSV in the dashboard at [`/dashboard/tools/bulk-check`](https://app.domaingenius.com.au/dashboard/tools/bulk-check). Results download as a CSV with cached/source/price columns. Same engine, different glue.
