# Make phone number checks

> Check WhatsApp, carrier, HLR and more in Make scenarios: our Make app is in review; today, call the MobileValidate API from the HTTP module.

Canonical: https://mobilevalidate.com/integrations/make · Last updated: 2026-11-08

Our Make app is in review and coming soon; this page will say when it is public. You can check numbers in a scenario today: Make's **HTTP › Make a request** module sends one POST request to the MobileValidate API and passes the parsed answer to the next modules, for example a router or a CRM update. You pay only for conclusive answers.

**Status:** In review — coming soon

## Use the HTTP module today

1. Add the **HTTP › Make a request** module.
2. **URL:** `https://api.mobilevalidate.com/v1/lookup`. **Method:** `POST`.
3. **Headers:** `Authorization` = `Bearer ` followed by your API key.
4. **Body type:** Raw. **Content type:** JSON (application/json). **Request content:** the body below, with the phone field of an earlier module mapped in place of the number.
5. Turn on **Parse response**, run the module once, and map the fields you need in the next modules.

```json
{"numbers": ["+447700900001"], "checks": ["whatsapp", "carrier"], "wait": 20}
```

This is the same request as this `curl` call (it runs as pasted):

```bash
curl https://api.mobilevalidate.com/v1/lookup \
  -H "Authorization: Bearer mv_test_publicSandboxn9ZgneuhR1B9CRfKG3fulym" \
  -H "Content-Type: application/json" \
  -d '{"numbers": ["+447700900001"], "checks": ["whatsapp", "carrier"], "wait": 20}'
```

Response (real sandbox output, trimmed):

```json
{
  "object": "lookup",
  "status": "completed",
  "results": [{
    "e164": "+447700900001",
    "country": "GB",
    "number_status": "valid",
    "checks": {
      "whatsapp.registered": {"status": "completed", "registered": true, "checked_at": "2026-11-08T04:18:15.858Z", "billed": false},
      "network.carrier": {"status": "completed", "registered": true, "attributes": {"line_type": "mobile", "carrier": "Test Carrier", "country": "GB"}, "billed": false}
    }
  }],
  "billing": {"billed_units": 0, "cost": {"amount": "0", "currency": "USD"}},
  "next": null
}
```

Read these fields from the response: `results[0].checks["whatsapp.registered"].registered` (`true`, `false`, or `null` when the answer is not conclusive) and `results[0].checks["network.carrier"].attributes.line_type`. If `status` is `"pending"`, an answer took longer than `wait`: call the URL in `next.poll_url` (GET, same header) after a short delay, or send the numbers as a [bulk job](https://mobilevalidate.com/docs/bulk-jobs) instead.

- **Test first.** The example uses the public sandbox key, which answers only the [documented test numbers](https://mobilevalidate.com/docs/test-values) and is never billed. Use your own test key, then a live key, from the [dashboard](https://app.mobilevalidate.com).
- **Cost.** You pay per conclusive check; unknown, unsupported, invalid and duplicate results are free, and a repeat check within the freshness window is answered from cache at no charge. See [pricing](https://mobilevalidate.com/pricing).
- **Lists.** For more than a few hundred numbers, send one [bulk job](https://mobilevalidate.com/docs/bulk-jobs) (`POST /v1/jobs`, bulk price) instead of one request per number.
- **Errors.** Errors return JSON with `error.code`, `error.message` and `error.retryable`; the [error catalog](https://mobilevalidate.com/docs/errors) lists every code.

## Get a key for your scenario

Start with a test key and the test numbers, then switch to a live key. You pay only for conclusive answers.

- [Start free (20 free real checks)](https://mobilevalidate.com/request-access)
- [Get a test key](https://mobilevalidate.com/get-test-key)
- [Lookup API reference](https://mobilevalidate.com/docs/lookups)

## Related

- [Real-time lookups](https://mobilevalidate.com/docs/lookups.md)
- [Bulk jobs](https://mobilevalidate.com/docs/bulk-jobs.md)
- [Webhooks](https://mobilevalidate.com/docs/webhooks.md)
- [Errors](https://mobilevalidate.com/docs/errors.md)
- [Test values](https://mobilevalidate.com/docs/test-values.md)

## Frequently asked questions

### Is there a MobileValidate app on Make?

It is in review and not public yet. Until then, the HTTP module calls the same API with the request on this page.

### How do I check many records?

Put up to 100 numbers in one request's `numbers` array (an array aggregator helps), or send larger lists as a [bulk job](https://mobilevalidate.com/docs/bulk-jobs) and read the results when the `job.completed` [webhook](https://mobilevalidate.com/docs/webhooks) arrives in a Custom webhook module.

### How do I handle errors?

Errors come back as JSON with `error.code`, `error.message` and `error.retryable`. Add an error handler to the HTTP module: retry when `retryable` is true (for example rate limits), stop otherwise. The [error catalog](https://mobilevalidate.com/docs/errors) lists every code.

### What do I pay?

Only conclusive checks, at our [prices](https://mobilevalidate.com/pricing); inconclusive answers are free. Make operations are billed by Make.

_Platform and brand names are used only to describe which service a check refers to. MobileValidate is not affiliated with, endorsed by or sponsored by any of these companies; all trademarks belong to their owners._
