Trestle is a phone validation solution often used alongside python-phonenumbers. While phonenumbers handles offline parsing, Trestle handles the real-time "liveness" and line-type checks (e.g., distinguishing VoIP from Mobile) that the offline library cannot do.
[ X] Entry format: * - [Trestle](https://trestleiq.com) - Real-time global phone validation API with line type detection (VoIP vs. Cellular) and phone activity (connected/disconnected) scoring
[ X] Description is concise and short
Why This Project Is Awesome
Which criterion does it meet? (pick one)
[ X] Industry Standard - The go-to tool for a specific use case
Rising Star - 5000+ stars in < 2 years, significant adoption
Explain:
Trestle provides high-fidelity carrier data that offline libraries like phonenumbers cannot access. It is used by enterprise teams to distinguish between real mobile users and virtual/VoIP lines in real-time to prevent fraud and improve communication deliverability.
How It Differs
Unlike python-phonenumbers, which is a parser for formatting and basic metadata, Trestle is a real-time API that verifies the actual "liveness" and "activity score" of a number. It catches "valid-format" numbers that are actually disconnected or burner VoIP lines.
If similar entries exist, what makes this one unique?
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/vinta/awesome-python/pull/2930
**Author:** [@kshah-trestle](https://github.com/kshah-trestle)
**Created:** 2/22/2026
**Status:** ❌ Closed
**Base:** `master` ← **Head:** `master`
---
### 📝 Commits (1)
- [`e3b9487`](https://github.com/vinta/awesome-python/commit/e3b948755d927630f879be8aae521cf73ccf1c23) Add Trestle to Text Processing
### 📊 Changes
**1 file changed** (+1 additions, -0 deletions)
<details>
<summary>View changed files</summary>
📝 `README.md` (+1 -0)
</details>
### 📄 Description
Trestle is a phone validation solution often used alongside python-phonenumbers. While phonenumbers handles offline parsing, Trestle handles the real-time "liveness" and line-type checks (e.g., distinguishing VoIP from Mobile) that the offline library cannot do.
## Project
[Trestle](https://trestleiq.com/)
## Checklist
- [ X] One project per PR
- [ X] PR title format: `Add Trestle`
- [ X] Entry format: `* - [Trestle](https://trestleiq.com) - Real-time global phone validation API with line type detection (VoIP vs. Cellular) and phone activity (connected/disconnected) scoring`
- [ X] Description is concise and short
## Why This Project Is Awesome
Which criterion does it meet? (pick one)
- [ X] **Industry Standard** - The go-to tool for a specific use case
- [ ] **Rising Star** - 5000+ stars in < 2 years, significant adoption
- [ ] **Hidden Gem** - Exceptional quality, solves niche problems elegantly
Explain:
Trestle provides high-fidelity carrier data that offline libraries like phonenumbers cannot access. It is used by enterprise teams to distinguish between real mobile users and virtual/VoIP lines in real-time to prevent fraud and improve communication deliverability.
## How It Differs
Unlike python-phonenumbers, which is a parser for formatting and basic metadata, Trestle is a real-time API that verifies the actual "liveness" and "activity score" of a number. It catches "valid-format" numbers that are actually disconnected or burner VoIP lines.
If similar entries exist, what makes this one unique?
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/vinta/awesome-python/pull/2930
Author: @kshah-trestle
Created: 2/22/2026
Status: ❌ Closed
Base:
master← Head:master📝 Commits (1)
e3b9487Add Trestle to Text Processing📊 Changes
1 file changed (+1 additions, -0 deletions)
View changed files
📝
README.md(+1 -0)📄 Description
Trestle is a phone validation solution often used alongside python-phonenumbers. While phonenumbers handles offline parsing, Trestle handles the real-time "liveness" and line-type checks (e.g., distinguishing VoIP from Mobile) that the offline library cannot do.
Project
Trestle
Checklist
Add Trestle* - [Trestle](https://trestleiq.com) - Real-time global phone validation API with line type detection (VoIP vs. Cellular) and phone activity (connected/disconnected) scoringWhy This Project Is Awesome
Which criterion does it meet? (pick one)
Explain:
Trestle provides high-fidelity carrier data that offline libraries like phonenumbers cannot access. It is used by enterprise teams to distinguish between real mobile users and virtual/VoIP lines in real-time to prevent fraud and improve communication deliverability.
How It Differs
Unlike python-phonenumbers, which is a parser for formatting and basic metadata, Trestle is a real-time API that verifies the actual "liveness" and "activity score" of a number. It catches "valid-format" numbers that are actually disconnected or burner VoIP lines.
If similar entries exist, what makes this one unique?
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.