Add intelligence to your application
Bring eligible phone, email-domain and IP information into your application through one LineLens API.
Connect to eligible LineLens phone, email-domain, DNS, IP, network and public-record tools through one API. Run individual lookups, automate repeatable checks or process supported batches without building a separate workflow for every data source.
Put LineLens intelligence to work in your own apps and workflows.
API access is part of eligible Starter, Pro and Business subscriptions and trials.
Bring eligible phone, email-domain and IP information into your application through one LineLens API.
Run supported DNS, domain-registration and other checks as part of your data intake, CRM or import workflows.
Give your team a convenient way to look up network, vehicle and healthcare-provider records and work with saved results.
Choose a tool, provide the value you want to check and include your API key. This example looks up the published MX records for example.com.
curl -X POST https://lookup-intelligence.replit.app/api/platform/lookup \
-H "Content-Type: application/json" \
-H "X-LineLens-API-Key: YOUR_KEY" \
-d '{"productId":"mx-record-lookup","query":"example.com"}'
Use GET /api/platform/products to see which LineLens tools are currently available through the API. Choose from the 11 supported tools below and check current availability before sending a lookup.
phone-validationNumbering-plan validation and original carrier allocation.
Input: Phone number with country code, e.g. +14155552671.
carrier-lookupOriginal carrier and line-type allocation where available.
Input: Phone number with country code.
ip-lookupIPinfo Lite country, continent, ASN, ASN organization and domain.
Input: IPv4 or IPv6 address.
domain-ageDomain age and registration information where published in RDAP.
Input: Domain name, e.g. example.com.
mx-record-lookupPublished mail-exchanger records.
Input: Domain name, e.g. example.com.
spf-record-checkerPublished SPF policy records.
Input: Domain name.
dmarc-checkerPublished DMARC policy records.
Input: Domain name.
email-domain-checkBasic email syntax and public MX/domain checks; not mailbox verification.
Input: Email address, e.g. person@example.com.
ip-network-lookupPublic IP network and routing information.
Input: IPv4 or IPv6 address.
vin-decoderVehicle information from NHTSA vPIC.
Input: 17-character VIN, without I, O or Q.
npi-lookupHealthcare-provider records from CMS NPPES.
Input: 10-digit NPI number.
Phone intelligence can return original carrier allocation and line type where available. Because phone numbers can be ported between carriers, original-allocation information may differ from the current carrier.
curl https://lookup-intelligence.replit.app/api/platform/productsSign in to manage keys · View plan and billing
Send 1–20 values to the same LineLens tool in a single request and use the individual results in your application.
curl -X POST https://lookup-intelligence.replit.app/api/platform/batch \
-H "Content-Type: application/json" \
-H "X-LineLens-API-Key: YOUR_KEY" \
-d '{"productId":"mx-record-lookup","queries":["example.com","example.org"]}'
Explore response formats, plan usage and practical guidance for your integration.
Each lookup result shows whether it was saved and includes any relevant notices. The response fields are documented below. If saved is false, warning explains why the result could not be saved. These fields describe lookup results, not every HTTP error response. The examples below illustrate the response format; they are not live results. status is success, no_match or error. Parse the JSON-encoded string in output to read the tool’s data. In product-discovery responses, available: true identifies a tool that is currently available.
{
"id": "example-result-id",
"productId": "mx-record-lookup",
"productName": "MX Record Lookup",
"query": "example.com",
"status": "success",
"source": "Public DNS",
"checkedAt": "2026-10-04T12:00:00.000Z",
"durationMs": 120,
"output": "{\"example\":\"Product-specific JSON fields appear here; this is schematic.\"}",
"saved": true,
"warning": ""
}
Process 1–20 lookups for the same tool in one request, using up to 2,000 characters per lookup value. Before a batch begins, LineLens checks that your account has enough remaining usage for the full batch. If it does not, the batch will not start. Items run one at a time, and the response includes the batch id and individual results in results. Review each item’s status, saved and warning fields.
{
"id": "example-batch-id",
"results": [
{
"id": "example-result-id",
"productId": "mx-record-lookup",
"productName": "MX Record Lookup",
"query": "example.com",
"status": "success",
"source": "Public DNS",
"checkedAt": "2026-10-04T12:00:00.000Z",
"durationMs": 120,
"output": "{\"example\":\"Product-specific JSON fields appear here; this is schematic.\"}",
"saved": true,
"warning": ""
},
{
"id": "example-result-id-2",
"productId": "mx-record-lookup",
"productName": "MX Record Lookup",
"query": "example.org",
"status": "success",
"source": "Public DNS",
"checkedAt": "2026-10-04T12:00:00.000Z",
"durationMs": 120,
"output": "{\"example\":\"Product-specific JSON fields appear here; this is schematic.\"}",
"saved": true,
"warning": ""
}
]
}
Each billing period, Starter includes 5,000 standard requests and 250 provider-backed original-allocation phone lookups; Pro includes 50,000 standard requests and 2,500 provider-backed original-allocation phone lookups; Business includes 250,000 standard requests and 10,000 provider-backed original-allocation phone lookups. Phone lookups have their own allowance, separate from standard requests. Workspace and API lookups share your account’s allowances, with access subject to data-source capacity and availability. Upgrading increases your period allowance while keeping the usage already recorded. Unused requests do not carry over. There are no overage fees or automatic credit purchases.
During your 7-day trial, you can run up to 25 phone intelligence lookups in total, whether you use them in the LineLens workspace or through the API. This account-wide trial limit is separate from your plan’s paid phone allowance. Other eligible tools use your selected plan’s standard allowance.
Each lookup accepted for processing counts once toward its standard or phone allowance, including results with no match or a data-source error. Basic request errors, such as missing or empty values or unknown or unavailable tools, do not use your lookup allowance. A value that fails a tool’s own validation, such as an incorrectly formatted VIN, IP address or email address, can still count once processing begins.
curl https://lookup-intelligence.replit.app/api/platform/usage -H "X-LineLens-API-Key: YOUR_KEY"
Track your usage with response headers: X-LineLens-Usage-Used, X-LineLens-Usage-Remaining and X-LineLens-Usage-Allowance. X-LineLens-Usage-Warning marks the 75%, 90% and 100% thresholds for standard usage. The matching X-LineLens-Premium-Used, X-LineLens-Premium-Remaining and X-LineLens-Premium-Allowance headers describe your plan’s phone usage for the billing period, not your remaining trial phone lookups. Successful single and batch responses include these headers; GET /api/platform/usage provides your account usage and period dates.
Your account can process up to 90 lookups per minute and 2,000 per hour. Each item in a batch counts as one lookup, and all API keys on your account share these limits. Separate traffic limits apply to IP addresses and free browser tools. Requests that do not use your lookup allowance can still count toward traffic limits.
Use the HTTP status and code fields to handle responses programmatically. HTTP 429 identifies a usage or rate limit: monthly_quota_exhausted for the standard allowance, premium_credits_exhausted for the paid phone allowance, or trial_phone_credits_exhausted for the trial phone limit. Where applicable, resetAt shows when usage resets and upgradeUrl links to plan options. The rate_limited code includes a Retry-After header to guide your next attempt. Authentication, access and input errors return the appropriate HTTP status and a message explaining the issue.
If a request is interrupted, check your account usage and saved results before trying again. Repeating a completed request may count as another lookup and save another result. Allow time for batches to finish: items run one at a time within the request, rather than as background jobs. Repeated requests are not automatically deduplicated. For rate_limited responses, wait for the interval in Retry-After before trying again.
Use your LineLens API key from secure server-side code over HTTPS. Keep it out of public websites, browser or mobile client code and public repositories.
Your account supports up to 10 active API keys. Give each key a useful name, save it when you create it and revoke it when it is no longer needed. You will see the full key only once. LineLens keeps a hash and short prefix, not the full key. Sign in to your account to manage your keys.
Manage your API keys from your signed-in LineLens account.