# Long codes (10DLC) · Local two-way SMS numbers

A number they can reply to

Sender example

+1 202 555 0194

Choose capabilities

Filter for SMS, voice or both.

Prepare registration

Complete the applicable US 10DLC program.

Receive a reply

Act on signed SMS inbound events.

Illustrative US number. Capabilities belong to the allocated number, not its type alone.

## When a long code is the right call.

Long codes are one of the four sender types on the [Bird SMS numbers](/sms-api/features/numbers) surface, part of the broader [Bird SMS API](/sms-api). They're local, two-way, and quick to provision: the right starting point for most conversational and transactional traffic before volume justifies a short code.

## What a long code gives you.

Local presence, two-way traffic, moderate volume.

- **01** A recognizable local identity. Choose an available local number for the market you serve. Read its SMS and voice capabilities before ordering; a local number does not always support both.
- **02** A reply path when SMS is supported. Point the number's inbound traffic at a webhook and replies arrive as signed events, the foundation for conversational flows.
- **03** Registered through A2P 10DLC. US application-to-person traffic uses the relevant 10DLC brand and campaign registration. Registration establishes eligibility; delivery still depends on message and carrier conditions.
- **04** Complete the sender setup. Order an available number, complete any ownership requirements, register the relevant sender program and enable the destination before sending.

## Find the number. Prepare it for launch.

Search by country and capability and buy the number, the same client you send with. Inbound traffic is routed by a workspace webhook subscribed to sms.received, not per number. Check each number’s capabilities and registration status; short codes follow an assisted allocation path.

**long-code.ts**

```typescript
// A US long code is a `local` number: the type names the numbering plan's
// own category, and "long code" is not one of them.
const { data: page, error: searchError } = await bird.numbers.available
  .list({
    country_code: "US",
    number_type:  "local",
    capabilities: ["sms"],
  })
  .safe();
if (searchError) throw searchError;

const { data: order, error: orderError } = await bird.numbers.orders
  .create({ number: page.data[0].number })
  .safe();
if (orderError) throw orderError;

console.log(order.status, order.number_id); // → "completed" "nda_0ydh2yfw..."
```

## Registration is part of the deal.

To send application-to-person traffic to US numbers, a long code runs over a registered [A2P 10DLC](/sms-api/features/compliance/10dlc) campaign. Bird files the brand and campaign from the dashboard and reports approval status through the API, so you can review eligibility and the assigned sending limits before launching.

## Questions about this sender

### What is a 10DLC long code?

A 10DLC is a ten-digit long code used for application-to-person messaging in the US under a registered brand and campaign. Long-code numbering and registration differ in other countries.

### Can every local number send and receive SMS?

No. Check the capabilities on the specific number. Some local numbers support voice without SMS, so filter inventory for the capabilities your application requires.

### How much throughput does a long code provide?

Throughput depends on the destination, carrier and registration program. Review the approved brand and campaign limits for US 10DLC traffic.

## Other ways to send

Long codes are one of four sender types. Compare the rest.

- [Short codes](/sms-api/features/numbers/short-codes): Short national numbers for a reviewed, high-volume messaging program.
- [Toll-free](/sms-api/features/numbers/toll-free): Verified toll-free numbers for US and Canada traffic without 10DLC.
- [Alphanumeric sender IDs](/sms-api/features/numbers/alphanumeric): Send from your brand name where the destination country allows it.
- [All SMS numbers](/sms-api/features/numbers): Compare every sender type: reach, throughput, and registration.
- [SMS API overview](/sms-api): The full SMS API: sending, numbers, two-way, compliance, routing, and analytics.

## Scale without  losing control.

Organize teams in workspaces, control API access, and trace changes through audit logs.

Harbor Organization
Workspaces Production Sandbox

### Delivery agent

API key · Customer operations team
Active
Permissions Access
Email Read & write
SMS Read & write
WhatsApp Read Read & write
AL Alex Lee Admin  Permissions updated

### Audit log

Production
 API key updated Alex Lee · 09:42:18 UTC

Workspace
Production

Resource
Delivery agent

WhatsApp
Read Read & write

Succeeded

 [Workspaces](/docs/guides/workspaces)[Team roles](/docs/guides/users-teams-roles)[API authentication](/docs/guides/authentication)
[Explore Enterprise](/enterprise)

## Start with SMS. Build across channels with Bird.

[Get started](/dashboard/signup?returnTo=%2Fdashboard%2Fw%2Fsms%2Fonboarding) · [Contact Sales](/demo?product=sms)

[Email](/email-api) · [SMS](/sms-api) · [WhatsApp](/whatsapp-api) · [Apple Messages](/apple-messages-api) · [Voice](/voice-api)



## Related resources

- [Registering your SMS sender ID](/learn/sms/registering-your-sms-sender-id) (video)
- [SMS sender IDs](/docs/guides/sms/senders) (docs)
- [What is sender ID registration, and why do some countries require it?](/explained/sms/what-is-sender-id-registration) (answer)
- [Build your first integration](/learn/paths/integration) (course)

[Get an implementation brief](/learn/workspace?topic=sms-senders)
