REST APIv1NPAC-Direct

LRN Lookup API Reference

Complete technical specification for the SIPSmart Real-Time LRN Lookup API. Enables low-latency resolution of Local Routing Numbers for U.S. telephone numbers using distributed NPAC-direct replication infrastructure.

Overview

Base URL

https://api.sipsmart.io/v1

All endpoints are served over HTTPS. Responses are JSON. Request and response bodies use UTF-8 encoding. Phone numbers must be in E.164 format (e.g., +12125551234).

Authentication

All API requests require an API key passed in the Authorization header as a Bearer token. API keys are issued instantly upon account registration.

http
Authorization: Bearer YOUR_API_KEY
❗ Missing or invalid keys return HTTP 401. Keys are scoped per account and can be rotated from the dashboard. Do not embed API keys in client-side code.

Endpoint: LRN Lookup

GET/lrn/{phone_number}

Returns portability and routing information for a single U.S. telephone number.

Path Parameter

ParameterTypeRequiredDescription
phone_numberstringYesE.164 formatted U.S. number

Example Request

http
GET /lrn/+12125551234

Successful Response (200)

json
{
  "phone_number": "+12125551234",
  "lrn": "2125550000",
  "ported": true,
  "ocn": "1234",
  "carrier_name": "Example Carrier Inc.",
  "rate_center": "NEW YORK",
  "state": "NY",
  "last_updated": "2026-01-12T15:22:31Z"
}

Response Schema

FieldTypeDescription
phone_numberstringQueried number (E.164)
lrnstringServing switch Local Routing Number (10-digit)
portedbooleantrue if the number has been ported from its original carrier
ocnstringOperating Company Number (4-char NECA code)
carrier_namestringCurrent serving carrier name
rate_centerstringRate center of record (LERG)
statestringU.S. state abbreviation (2-letter)
last_updatedstring (ISO 8601)Timestamp of most recent NPAC portability record update

Error Responses

400Bad Request

Invalid number format.

json
{ "error": "Invalid phone number format. Use E.164." }
401Unauthorized

Missing or invalid API key.

json
{ "error": "Unauthorized" }
404Not Found

Number not found in portability dataset.

json
{ "error": "Number not found" }
429Too Many Requests

Rate limit exceeded. Back off and retry.

json
{ "error": "Rate limit exceeded" }

Bulk Lookup Endpoint

POST/lrn/bulk

Submit up to 10,000 numbers per request. Returns an array of portability results in the same order as the input. For larger batches (up to 1,000,000 numbers), use the async enrichment jobs API.

Request Body

json
{
  "numbers": [
    "+12125551234",
    "+13105559876"
  ]
}

Response is an array of the same objects as the single lookup endpoint, one per input number. Numbers not found are omitted (no null entries).

Rate Limits

TierRateBurst
Default50 req/secSupported
EnterpriseCustomHorizontal scaling

Distributed infrastructure enables horizontal scaling for high-volume environments. Contact us for throughput above 50 req/sec.

Latency Targets

< 10ms
Median (p50)
< 20ms
p95
< 35ms
p99

Actual latency varies by geographic proximity to the nearest U.S. replication endpoint. See Distributed LRN Infrastructure for endpoint topology.

Code Examples

curl

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.sipsmart.io/v1/lrn/+12125551234

Node.js

javascript
import fetch from "node-fetch";

const response = await fetch(
  "https://api.sipsmart.io/v1/lrn/+12125551234",
  {
    headers: {
      Authorization: "Bearer YOUR_API_KEY"
    }
  }
);

const data = await response.json();
console.log(data);

Python

python
import requests

headers = {
    "Authorization": "Bearer YOUR_API_KEY"
}

response = requests.get(
    "https://api.sipsmart.io/v1/lrn/+12125551234",
    headers=headers
)

print(response.json())

Data Freshness

Portability data is synchronized continuously using incremental NPAC update streams. Replication nodes are updated automatically to maintain near-real-time portability accuracy. The last_updated field in each response reflects the most recent NPAC event timestamp for that number.

✓ NPAC-Direct: SIPSmart ingests portability events directly from iconectiv's NPAC — no intermediary resellers, no additional propagation delay.

High-Volume Integration Guidance

For predictive dialers and SIP routing platforms:

  • 1Normalize numbers to E.164 before querying.
  • 2Cache results for short-term re-use where appropriate (check last_updated to validate freshness).
  • 3Monitor p95 latency via your observability stack.
  • 4Use the bulk endpoint for batch validation workflows.
  • 5Use the async jobs endpoint for large enrichment batches (100k–1M numbers).

Infrastructure Model

SIPSmart operates distributed U.S. replication endpoints to reduce round-trip time and eliminate single-region bottlenecks. The 251M-row LRN database uses a covering index — queries read only the index, not full row data, enabling throughput of ~1M lookups/sec per node.

Frequently Asked Questions

What is the base URL for the SIPSmart LRN API?
The base URL is https://api.sipsmart.io/v1. All endpoints require an Authorization: Bearer YOUR_API_KEY header.
What format does the LRN API return phone number data in?
All responses are JSON. The ported field is a boolean. phone_number and lrn are E.164 and 10-digit strings respectively. last_updated is an ISO 8601 timestamp.
What is the rate limit for the LRN Lookup API?
The default tier allows 50 requests per second with burst capacity supported. Higher throughput is available on request for enterprise and high-volume environments.
What is the p99 latency of the LRN Lookup API?
P99 latency is under 35ms. P50 (median) latency is under 10ms. P95 is under 20ms. Actual latency varies by geographic proximity to the nearest replication endpoint.
Can I look up multiple phone numbers in one API call?
Yes. Use the POST /lrn/bulk endpoint to submit up to 10,000 numbers per request. For larger batches (up to 1,000,000), use the async job endpoint via the dashboard API.

Start With 1,000 Free LRN Lookups

API key issued instantly. No contracts. Sub-10ms p50 latency on NPAC-direct data.

1,000 free lookups included • No credit card required • Instant provisioning