Lookup answers questions about a recipient before you spend anything sending to them. Give it a phone number and it tells you what the number is: the network serving it, the country, whether it has moved network, and what kind of line it is. Give it an email address and it tells you whether the address will accept mail.

Both were reachable only with an API key on an allowlisted organization. They are now open to every workspace, in the dashboard and on the public API.

The problem it solves is spending on a recipient who was never reachable. A number that turns out to be a disconnected landline still costs a send attempt; an address with a typo in the domain costs a bounce and a small dent in your sending reputation. Checking first is a smaller cost than either.

## What's new

- **Two pages in the dashboard.** [**Lookup**](https://bird.com/dashboard/w/lookup) checks one number or one address at a time and shows the whole answer, which is the fastest way to see what a lookup returns before writing any code. Reachable by any member whose role grants lookup access.
- **The number lookup has a free base tier and paid extras.** The base answer always runs: country, serving network, issuing network, ported flag, coarse line type. Name `classification`, `porting`, `presence`, `roaming`, `sim_swap` or `score` in `type` to add more, and each is billed only when it is actually delivered. A property that could not be answered comes back with a status and costs nothing.
- **The email lookup gives you one field to decide on.** `result` is `valid`, `neutral`, `risky`, `undeliverable` or `typo`, with `reason` explaining an undeliverable verdict and `did_you_mean` carrying the correction for a typo. `delivery_confidence` runs 0–100 alongside it.
- **Typed in every SDK, and on the CLI.** `lookup.phone_number` and `lookup.email` are methods in the Go, TypeScript, Python and PHP SDKs, each with a worked example, plus `bird lookup phone-number` and `bird lookup email`.
- **A retry cannot bill twice.** Send an `Idempotency-Key` and a repeated request replays the stored answer instead of buying a second lookup.

An API key needs the `lookup` scope, and lookups draw on their own `lookup` rate-limit bucket rather than sharing your general write budget. [Lookup overview](/docs/guides/lookup/overview) explains what each request costs, and the [phone number](/docs/guides/lookup/phone-numbers) and [email address](/docs/guides/lookup/email-addresses) guides cover every field.