Telephony and contact center
Check phone numbers, carriers and phone complaints in Aircall
Receive call events from Aircall in a small webhook handler and check the caller number with a numbering-plan lookup, so every call record carries a clean format and number type.
Why the data matters in Aircall
Aircall call logs are only as useful as the numbers in them: a caller shown in a local format, or a toll-free line logged where your team expected a direct number, ends up as a duplicate contact or a failed follow-up text. Checking the number as each call event arrives keeps your CRM records matched to one consistent form.
What LookValid checks
| Product | What it does here | Credits |
|---|---|---|
| Phone Numbering-Plan Validation | Formats the number to E.164 and returns the country and the type the numbering plan assigns. It cannot confirm the person or whether the line is active. | 1 credit per valid number |
| Carrier Lookup (original carrier) | For US numbers, returns the carrier originally assigned the block with its state and rate center. A ported number still shows the original carrier. | 1 credit per lookup (numbers outside the covered numbering plan areas are free) |
| Phone Spam Check | Shows how many consumer complaints exist for an inbound number in public data, which helps you triage an unknown caller. Those are raw consumer reports. | 1 credit per number with complaints on record |
Connect it in four steps
- Create your LookValid account and an API key on the dashboard.
- Add LOOKVALID_API_KEY to the environment of the web service that receives Aircall events, and keep it out of the webhook URL and of any Aircall dashboard field.
- When a call.created event arrives, return a success status to Aircall right away, then pass the caller number to the phone check; skip the update when found is false and log the code on an error.
- Write contact_number, number_type and caller_country onto the matching contact in your CRM, so the next call from that number lands on one record.
A webhook receiver that Aircall posts call events to, which checks the number and updates your contact record. The call is POST https://YOUR_API_HOST/v1/phone and costs 1 credit per valid number.
const API_URL = "https://YOUR_API_HOST/v1/phone";
export async function checkAircallCaller(value) {
const response = await fetch(API_URL, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LOOKVALID_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"phone": value,
}),
});
const result = await response.json();
if (!response.ok) throw new Error(`${result.error.code}: ${result.error.fix}`);
if (!result.found) return null;
return {
"contact_number": result.data?.e164 ?? null,
"number_type": result.data?.number_type ?? null,
"caller_country": result.data?.country ?? null,
};
}
| Response field | Goes into |
|---|---|
| data.e164 | contact_number |
| data.number_type | number_type |
| data.country | caller_country |
The recipe returns nothing when the lookup finds nothing, which costs no credits for this product, and stops with the error code and fix on a failed request.
Without code
Aircall documents that an admin can create a webhook in its dashboard, which suits no-code tools. Point that webhook at the generic webhook trigger of an automation platform, add an HTTP request step that posts the caller number to the LookValid endpoint with your key in the Authorization header, and finish with an action that updates the contact. No dedicated app is needed.
Questions
What does an Aircall caller check cost?
It spends credits from your LookValid balance at the phone check rate shown on the pricing page. Calls you skip cost nothing.
Does it say whether the caller is who they claim?
No. It checks the number against the numbering plan and reports complaint counts at most; it has no view of the person behind the call.
Where does the key go?
In the environment of the service that receives the Aircall event, as LOOKVALID_API_KEY. It does not belong in the webhook address.
Sources
- Aircall developer docs: webhooks overview https://developer.aircall.io/docs/webhooks-overview.md, read 2026-10-18
- LookValid API reference: Phone Numbering-Plan Validation https://lookvalid.com/docs/api/phone, read 2026-10-18
LookValid is run by Meralume Labs. It is not connected to, endorsed by or a partner of any company or product named on this page, and every product name belongs to its owner.
Related pages
LookValid bills every lookup in credits from one shared balance, so the same key works for each check above.
See Phone Numbering-Plan Validation