---
title: "Bulk LRN Lookup"
method: POST
path: "/api/v1/lrn/bulk"
tags: ["LRN"]
---

# Bulk LRN Lookup

`POST /api/v1/lrn/bulk`

Process up to 1,000 LRN lookups in a single request.

**Features:**
- Automatic deduplication (duplicates charged once)
- Two-phase billing (reserve → process → settle)
- Optional CNAM and Trust enrichment per number
- Each included product billed separately

**Billing:**
- LRN lookup: base price per number
- `include_cnam`: adds CNAM price per number
- `include_trust`: adds Spam price per number

## Request body

- object
  - `phone_numbers` string[], required
  - `include_cnam` boolean — Include CNAM data for each number
  - `include_trust` boolean — Include trust/reputation data for each number
  - `include_enhanced_lrn` boolean — Include enhanced carrier data
  - `messaging_lookup` boolean — Include messaging provider data

## Response `200`

Successful bulk LRN lookup

- object
  - `job_id` integer
  - `results` LRNResponseWithIncludes[]
    - `phone_number` string
    - `lrn` string
    - `lrn_activated_at` string, date-time, nullable
    - `carrier` string
    - `line_type` 'mobile' | 'landline' | 'voip' | 'unknown'
    - `enhanced_lrn` object, nullable
      - `carrier` string
      - `carrier_type` string
      - `city` string
      - `state` string
      - `zip_code` string
      - `timezone` string
    - `messaging` object, nullable
      - `messaging_provider` string
      - `messaging_enabled` boolean
      - `messaging_country` string
    - `cnam` CnamData — Caller name information
      - `caller_name` string — Caller ID name
    - `trust` TrustData — Trust and reputation information
      - `is_spam` boolean
      - `is_robocall` boolean
      - `is_scam` boolean
      - `spam_type` 'NONE' | 'SPAM' | 'ROBOCALL' | 'SCAM'
      - `reputation_score` integer
      - `trust_level` 'high' | 'medium' | 'low'
      - `last_updated` string, date-time
  - `summary` object
    - `submitted` integer
    - `unique` integer
    - `duplicates_removed` integer
    - `successful` integer
    - `failed` integer

## Other responses

- `402` — Insufficient balance
- `429` — Too Many Requests — rate limit exceeded.

---

[API](https://skmtc.dev/verirouteintel/apis/veriroute-intel-api.md) · [All operations](https://skmtc.dev/verirouteintel/apis/veriroute-intel-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/verirouteintel/veriroute-intel-api/revisions/0bd583e1906e/schema)
