
Twilio Lookup Phone Intelligence
- 110 installs
- 26 repo stars
- Updated July 29, 2026
- twilio/ai
>.
About
>. Twilio Lookup validates phone numbers and provides optional intelligence packages. Basic validation is free; data packages (line type, SIM swap, etc.) are paid per lookup. The twilio-lookup-phone-intelligence skill documents workflows, constraints, and examples from SKILL.md for agent-assisted execution.
- Twilio Lookup validates phone numbers and provides optional intelligence packages. Basic validation is free; data packag
- Twilio account (free trial works for basic lookups)
- — New to Twilio? See `twilio-account-setup`
- — See `twilio-iam-auth-setup` for credential setup and best practices
- SDK: `pip install twilio` / `npm install twilio`
Twilio Lookup Phone Intelligence by the numbers
- 110 all-time installs (skills.sh)
- +3 installs in the week ending Jul 27, 2026 (Skillselion tracking)
- Ranked #1,033 of 2,245 Frontend Development skills by installs in the Skillselion catalog
- Data as of Jul 30, 2026 (Skillselion catalog sync)
twilio-lookup-phone-intelligence capabilities & compatibility
- Capabilities
- twilio lookup validates phone numbers and provid · twilio account (free trial works for basic looku · — new to twilio? see `twilio account setup` · — see `twilio iam auth setup` for credential set
- Use cases
- documentation
What twilio-lookup-phone-intelligence says it does
>
npx skills add https://github.com/twilio/ai --skill twilio-lookup-phone-intelligenceAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 110 |
|---|---|
| repo stars | ★ 26 |
| Last updated | July 29, 2026 |
| Repository | twilio/ai ↗ |
How do I apply twilio-lookup-phone-intelligence using the workflow in its SKILL.md?
>
Who is it for?
Developers following the twilio-lookup-phone-intelligence skill for the tasks it documents.
Skip if: Tasks outside the twilio-lookup-phone-intelligence scope described in SKILL.md.
When should I use this skill?
User mentions twilio-lookup-phone-intelligence or related triggers from the skill description.
What you get
Working twilio-lookup-phone-intelligence setup aligned with the documented patterns and constraints.
Files
Overview
Twilio Lookup validates phone numbers and provides optional intelligence packages. Basic validation is free; data packages (line type, SIM swap, etc.) are paid per lookup.
---
Prerequisites
- Twilio account (free trial works for basic lookups)
— New to Twilio? See twilio-account-setup
- Environment variables:
TWILIO_ACCOUNT_SIDTWILIO_AUTH_TOKEN
— See twilio-iam-auth-setup for credential setup and best practices
- SDK:
pip install twilio/npm install twilio
---
Quickstart
Python
import os
from twilio.rest import Client
client = Client(os.environ["TWILIO_ACCOUNT_SID"], os.environ["TWILIO_AUTH_TOKEN"])
phone = client.lookups.v2.phone_numbers("+15108675310").fetch()
print(phone.valid) # True / False
print(phone.phone_number) # +15108675310 (E.164)
print(phone.national_format) # (510) 867-5310
print(phone.country_code) # USNode.js
const twilio = require("twilio");
const client = twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);
const phone = await client.lookups.v2.phoneNumbers("+15108675310").fetch();
console.log(phone.valid);
console.log(phone.phoneNumber);
console.log(phone.nationalFormat);If valid is false, check phone.validationErrors for the reason.
---
Key Patterns
Line Type Intelligence (paid)
Identifies mobile, landline, VoIP, toll-free, etc.
Python
phone = client.lookups.v2.phone_numbers("+15108675310").fetch(
fields="line_type_intelligence"
)
print(phone.line_type_intelligence)
# {'type': 'mobile', 'carrier_name': 'T-Mobile USA', ...}Node.js
const phone = await client.lookups.v2.phoneNumbers("+15108675310").fetch({
fields: "line_type_intelligence",
});
console.log(phone.lineTypeIntelligence);Line types: mobile, landline, voip, toll-free, fixedVoip, nonFixedVoip, personal, payphone, unknown
Multiple Packages in One Request
Python
phone = client.lookups.v2.phone_numbers("+15108675310").fetch(
fields="line_type_intelligence,sim_swap,caller_name"
)Node.js
const phone = await client.lookups.v2.phoneNumbers("+15108675310").fetch({
fields: "line_type_intelligence,sim_swap,caller_name",
});Validate Before Sending
Python
phone = client.lookups.v2.phone_numbers("+invalid").fetch()
if not phone.valid:
print(f"Invalid number: {phone.validation_errors}")
# Handle gracefully — do not attempt to sendNode.js
const phone = await client.lookups.v2.phoneNumbers("+invalid").fetch();
if (!phone.valid) {
console.log("Invalid number:", phone.validationErrors);
}Available Data Packages
| Package | fields value | Coverage | Use case |
|---|---|---|---|
| Line Type Intelligence | line_type_intelligence | Worldwide | Route by line type; block VoIP |
| Caller Name | caller_name | US only | Show caller ID |
| SIM Swap | sim_swap | Select regions | Fraud detection |
| Identity Match | identity_match | Select regions | Verify ownership |
| SMS Pumping Risk | sms_pumping_risk | Worldwide | Fraud prevention |
| Reassigned Number | reassigned_number | US only | Check if recycled |
---
Common Errors
| Code | Meaning | Fix |
|---|---|---|
| 20404 | Phone number not found | Number may be invalid or unsupported format |
| 60601 | Data package not available for this region | Check regional coverage before requesting package |
---
CANNOT
- Cannot look up by name or address — Input is always a phone number. No reverse search.
- Cannot get caller_name for non-US numbers — Returns error 60600 (out of coverage).
- Cannot detect conditional call forwarding — Only unconditional forwarding is detected, and only for UK carriers.
- Cannot guarantee SIM swap data without carrier registration — Returns error 60606 until carrier approval is in place.
- Cannot use Reassigned Number outside the US — US-only dataset with monthly update cadence.
- Cannot get real-time SMS pumping scores — Scores are statistical models, not live traffic analysis.
- Cannot write data — Lookup v2 is read-only (GET only). The one exception is Line Type Override (POST/DELETE).
- Cannot batch multiple phone numbers in one request — One number per API call. Loop for bulk lookups.
- Cannot avoid billing on caller_name requests that return no data — Billed per request regardless of whether data is returned.
- Cannot use Phone Number Quality Score or Pre-fill without provisioning — Returns 60606. Contact Twilio sales to enable.
- Cannot guarantee deliverability from a valid lookup — A valid number may still be unreachable (carrier issues, ported, etc.)
---
Next Steps
- Send SMS after validation:
twilio-sms-send-message - Send OTP after validation:
twilio-verify-send-otp
interface:
display_name: "Lookup & Phone Intelligence"
short_description: "Look up phone number intelligence via Twilio Lookup v2. Covers number validation, line type detection, SIM swap detection, caller name, and SMS pumping risk scoring."
icon_small: "./assets/icon-small.png"
icon_large: "./assets/icon-large.png"
brand_color: "#EF223A"
default_prompt: "How do I look up phone number intelligence with Twilio?"
policy:
allow_implicit_invocation: true
Related skills
FAQ
What does twilio-lookup-phone-intelligence do?
>
When should I use twilio-lookup-phone-intelligence?
Invoke when >.
Is twilio-lookup-phone-intelligence safe to install?
Review the Security Audits panel on this page before installing in production.