# Airtable Phone Number Scraper (`phone_number_scraper/airtable-phone-number-scraper`) Actor

\[1k/2.5$] Best Airtable phone number scraper to extract public phone numbers of teams and agencies. Automate lead generation, grow your contact database and boost outreach with fast, accurate, structured data.

- **URL**: https://apify.com/phone_number_scraper/airtable-phone-number-scraper.md
- **Developed by:** [Phone Number Scraper](https://apify.com/phone_number_scraper) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.49 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### 🔍 Airtable Phone Number Scraper

Airtable Phone Number Scraper helps you find public phone numbers that teams, consultants and community organizations publish on airtable.com, such as shared views, forms, templates and community posts. Enter keywords such as `manager` or `consultant`, choose a country, and the Actor returns validated phone numbers with the page title, the text snippet that contains each number, and a direct link to the source page.

It is built for consultants, SaaS sales teams, recruiters and researchers who want to find people and organizations that share contact details through public Airtable pages. The Airtable Phone Number Scraper uses only publicly available information, so you don't need an Airtable account, API key or workspace access.

> **🚀 Quick start:** Open the Airtable Phone Number Scraper, add keywords like `manager` or `consultant`, select a country such as United Kingdom (+44), set your phone number limit and click **Start**. Results appear in a dataset you can export to CSV, Excel or JSON.

### ✨ Airtable Phone Number Scraper – Key Features

The Airtable Phone Number Scraper turns keyword searches into a structured list of contacts from public Airtable pages you can verify and use.

- 🔑 **Keyword-based search** – target roles, niches or topics such as manager, consultant, directory, volunteer or nonprofit.

- 🌍 **194 countries supported** – pick a country and its dial code; only numbers valid for that country are kept.

- ✅ **Validated phone numbers** – every number the Airtable Phone Number Scraper saves is checked and stored in the international E.164 format, such as `+441174960123`.

- 🧹 **Automatic de-duplication** – each phone number appears only once per run, even when several keywords find it.

- 🔗 **Source context included** – every record has the page title, the public snippet and the Airtable URL.

- 💾 **Structured output** – export as JSON, CSV, Excel, XML or HTML, or read results through the Apify API.

- 🔄 **Reliable long runs** – if the platform restarts a run, the Airtable Phone Number Scraper continues without saving duplicate numbers.

#### 🔹 Why use the Airtable Phone Number Scraper?

| Benefit | What it means for you |
|---|---|
| No login needed | Works with publicly available airtable.com pages only |
| Clean contact data | Validated, de-duplicated numbers in one consistent format |
| Easy to verify | Source URL and text snippet for every phone number |
| Predictable costs | Result limits and spending caps keep each run under control |

### 📊 What Data Does the Airtable Phone Number Scraper Extract?

The Airtable Phone Number Scraper saves one record per phone number. Each record connects the number to the keyword that found it and the public Airtable page it came from.

| Field | Description | Example |
|---|---|---|
| `phone_number` | Validated phone number in E.164 format | `+441174960123` |
| `country` | Country selected in the input | `United Kingdom` |
| `dial_code` | Country calling code | `+44` |
| `keyword` | Keyword that found this number | `manager` |
| `title` | Title of the source page | `Volunteer Sign-up Form – Airtable` |
| `description` | Public text snippet where the number appears | `manager in Bristol on 0117 496…` |
| `url` | Direct link to the source page | `https://airtable.com/appX7k2Lm9Qp4Rs1T/…` |
| `platform` | Platform the record comes from | `Airtable` |
| `proxyGroups` | Technical information about the connection used for the run | – |

Airtable bases are private by default, but many teams publish shared views, forms and templates. The Airtable Phone Number Scraper can return numbers from:

- 📋 **Shared views and forms** – that teams make public, such as directories, sign-up forms or resource lists.

- 🧩 **Templates and shared base pages** – where creators publish base designs for others to copy.

- 💬 **Community forum posts** – on community.airtable.com, where users and consultants discuss projects.

- 🌐 **Other public airtable.com pages** – that show a number in their title or snippet.

> **🔒 Public data only:** The Airtable Phone Number Scraper reads publicly visible titles and snippets. It does not access private bases, workspaces, unshared records, automations or any account data.

> **📌 What to expect:** Most Airtable data lives in private bases, and many shared views show little text before they load, so public phone numbers are uncommon. Directory and form-related keywords usually return more numbers.

### 🚀 How to Use the Airtable Phone Number Scraper

You can run the Airtable Phone Number Scraper in a few minutes without writing any code.

- **Step 1 – Open the Actor:** open Airtable Phone Number Scraper in Apify Console and go to the **Input** tab.

- **Step 2 – Add keywords:** enter roles, niches or terms such as `manager`, `consultant`, `directory` or `volunteer`.

- **Step 3 – Choose a country:** select the country whose phone numbers you need. The dial code is applied automatically.

- **Step 4 – Set your limit:** enter the maximum number of phone numbers and decide whether it applies per keyword or to the whole run.

- **Step 5 – Start the run:** click **Start** and follow the log. The Airtable Phone Number Scraper processes keywords in the order you entered them.

- **Step 6 – Export your data:** download the dataset as CSV, Excel or JSON, or send it to your CRM.

> **⏰ Large searches:** For high phone-number limits or many keywords, increase the timeout in **Run options**. The default timeout is 3,600 seconds (1 hour).

### 🧭 How to Find Phone Numbers in Public Airtable Views, Forms and Directories

Keyword and country together decide which phone numbers you receive. The Airtable Phone Number Scraper looks for public airtable.com pages that match your keyword and contain a number valid for the selected country, then extracts and validates every number it detects.

For example, to find UK consultants who build on Airtable, combine `consultant`, `automation` and `manager` with **United Kingdom (+44)**. To collect contacts from US community resource lists, try `directory` and `volunteer` with **United States (+1)**.

#### 🔹 Choosing keywords that return more phone numbers

- Use **roles** such as manager, consultant, coordinator or organizer.

- Use **page types** such as directory, form, sign-up, roster or resource list.

- Use **sector terms** such as nonprofit, events, real estate or education.

- Add **several short, related keywords** instead of one long, narrow phrase.

### 💡 Can the Airtable Phone Number Scraper Limit Phone Numbers per Keyword or per Run?

Yes. The Airtable Phone Number Scraper gives you two ways to apply the **Max Phone Numbers** limit, controlled by the **Per Keyword Scrape Max Contacts** switch.

| Setting | How the limit works | Example with 3 keywords and a limit of 50 |
|---|---|---|
| **ON** (default) | The limit applies to each keyword separately | Up to 150 phone numbers in total |
| **OFF** | The limit applies to the whole run | Up to 50 phone numbers in total |

With the switch ON, every keyword gets its own share, so one popular keyword cannot use up the whole limit. With the switch OFF, the Airtable Phone Number Scraper stops as soon as the total is reached.

> **⚠️ Heads-up:** With the switch ON, a run can collect – and be billed for – up to Max Phone Numbers × number of keywords, and it takes proportionally longer.

### 🎯 Airtable Phone Number Scraper – Use Cases

The Airtable Phone Number Scraper is useful when you need contacts from public lists and forms that teams publish on Airtable.

- 🤝 **Consultant partnerships** – reach Airtable consultants for implementation or referral deals.

- 📈 **B2B sales** – offer integrations, automation or reporting tools to active Airtable users.

- 🏘️ **Community outreach** – find coordinators of volunteer programs and resource directories.

- 🧑‍💼 **Recruitment** – contact operations managers who build workflows in Airtable.

- 📊 **Market research** – see which sectors publish directories and forms in a country.

- 🗂️ **CRM enrichment** – add phone numbers and source links to existing records.

### 📥 Airtable Phone Number Scraper Input

The Airtable Phone Number Scraper uses a simple input form. Only **Keywords** and **Country** are required.

| Field | Type | Required | Description |
|---|---|---|---|
| `keywords` | List of text | Yes | Keywords to search for, such as roles, niches or names. Default: `manager`, `consultant` |
| `country` | Select | Yes | Country of the phone numbers you need, shown with its dial code. Default: United Kingdom (+44) |
| `maxPhoneNumbers` | Number (1–10,000) | No | Maximum number of phone numbers to collect. Default: 5 |
| `perKeywordMaxContacts` | On/Off | No | ON: the limit applies to each keyword. OFF: the limit applies to the whole run. Default: ON |
| `proxyConfiguration` | Proxy settings | No | Optional connection settings. The default works for most users |

#### 🔹 Example input for the Airtable Phone Number Scraper

```json
{
    "keywords": [
        "manager",
        "consultant"
    ],
    "country": "United Kingdom (+44)",
    "maxPhoneNumbers": 5,
    "perKeywordMaxContacts": true
}
```

> **💡 Note:** A higher limit allows more potential results but does not guarantee reaching that number. The Airtable Phone Number Scraper stops early when no more matching public numbers are available.

### 📤 Airtable Phone Number Scraper Output

Every phone number the Airtable Phone Number Scraper finds is saved as a separate record in the run's dataset. Here is a sample of two records:

```json
[
    {
        "phone_number": "+441174960123",
        "country": "United Kingdom",
        "dial_code": "+44",
        "keyword": "manager",
        "title": "Volunteer Sign-up Form – Airtable",
        "description": "Questions about shifts? Contact our volunteer manager in Bristol on 0117 496 0123.",
        "url": "https://airtable.com/appX7k2Lm9Qp4Rs1T/shrB3n8Vc6Wd2Ef5G",
        "platform": "Airtable"
    },
    {
        "phone_number": "+441414960456",
        "country": "United Kingdom",
        "dial_code": "+44",
        "keyword": "consultant",
        "title": "Looking for an Airtable consultant for our CRM rebuild – Airtable Community",
        "description": "We are a Glasgow charity and need a consultant for two months. Please call +44 141 496 0456.",
        "url": "https://community.airtable.com/t5/show-tell/looking-for-a-consultant-for-our-crm-rebuild/td-p/183456",
        "platform": "Airtable"
    }
]
```

Each record also includes the technical `proxyGroups` field. Local formats such as `0117 496 0123` are converted to the international format `+441174960123`.

#### 🔹 Export and integration options

- 📁 **Download** the dataset as JSON, CSV, Excel, XML or HTML.

- 🔌 **Use the Apify API** to start Airtable Phone Number Scraper runs and fetch results from your own scripts or apps.

- ⏱️ **Schedule runs** to refresh your results daily, weekly or monthly.

- 🔗 **Connect integrations** such as webhooks, Make or Zapier to send new contacts to your CRM or spreadsheet.

### 💰 Airtable Phone Number Scraper Pricing

The Airtable Phone Number Scraper is priced per result: you pay for each phone number record saved to your dataset. The current price is always shown on the Actor's **Pricing** tab.

| Plan or setting | What happens |
|---|---|
| Free Apify plan | Each run returns up to 20 phone number results |
| Paid Apify plan | Each run returns up to your Max Phone Numbers limit |
| Maximum cost per run | The run stops when your limit is reached, so you are not billed beyond it |

> **💡 Cost tip:** Start with a small limit, such as 5–20 phone numbers, to test your keywords before you launch a large Airtable Phone Number Scraper run.

### 🛠️ Airtable Phone Number Scraper Tips and Best Practices

Follow these tips to get more useful results from the Airtable Phone Number Scraper:

- 🧪 **Test first** – run two or three keywords with a low limit to see which ones return numbers.

- 🔁 **Low results? Re-run** with broader keywords, more related terms or a different country.

- 🌍 **Match the country to your audience** – numbers are validated for the selected country only.

- 🔍 **Check the shared view** – open the `url` to confirm the list is current and the contact is still listed.

> **⚖️ Use data responsibly:** Phone numbers are personal data in many countries. Follow privacy laws such as GDPR and CCPA and local telemarketing and anti-spam rules, respect opt-out requests and never use the data for spam.

### ❓ Airtable Phone Number Scraper – Frequently Asked Questions

#### 🔹 What is an Airtable phone number scraper?

It is a tool that collects phone numbers published on public Airtable pages. The Airtable Phone Number Scraper on Apify does this automatically for your keywords and country and returns validated, structured results.

#### 🔹 Can I get phone numbers from public Airtable shared views?

Yes, when a public shared view or form shows a number for your keyword and country in its title or text. The Airtable Phone Number Scraper saves every valid number it detects with the page link.

#### 🔹 Do I need an Airtable account or API key?

No. The Actor works only with publicly available pages, so it needs no Airtable login, workspace access or API key. Private bases are never accessed.

#### 🔹 Why did the Airtable Phone Number Scraper return fewer phone numbers than my maximum?

The maximum is an upper limit, not a guarantee. If only a few public pages match your keyword and country, the Airtable Phone Number Scraper finishes early with the numbers it found. Try broader keywords, more keywords or another country.

#### 🔹 Can the Airtable Phone Number Scraper collect numbers from a specific country?

Yes. Choose one of 194 countries in the **Country** field. Only numbers valid for that country are saved, together with the country name and dial code.

#### 🔹 In what format does the Airtable Phone Number Scraper save phone numbers?

All numbers are saved in the international E.164 format, such as `+441174960123`, which works well with CRMs, dialers and spreadsheets.

#### 🔹 Does the Airtable Phone Number Scraper remove duplicates?

Yes. Each phone number is saved only once per run, even if several keywords or pages contain it. The first keyword that found the number is stored in the `keyword` field.

#### 🔹 Can I run the Airtable Phone Number Scraper on a schedule or through an API?

Yes. You can schedule runs in Apify Console, start them with the Apify API, and send the results to other tools with webhooks or integrations.

#### 🔹 Is it legal to use an Airtable Phone Number Scraper?

The Airtable Phone Number Scraper collects only publicly available data. You are responsible for using it in line with GDPR, CCPA and local telemarketing rules.

### 📬 Airtable Phone Number Scraper Support

Have a question about the Airtable Phone Number Scraper, found an issue, or need a tweak or a custom build? Get in touch – feedback and feature requests are always welcome.

- contact me by email :  alphascraper69@gmail.com

# Actor input Schema

## `keywords` (type: `array`):

A list of keywords to search for. (Example: John, marketing, etc.)

## `country` (type: `string`):

Select a country to scrape related phone numbers.

## `maxPhoneNumbers` (type: `integer`):

Maximum number of phone numbers to collect. The scraper will stop once this limit is reached. Setting a higher limit allows for more potential results but doesn't guarantee reaching that number. This helps save costs by controlling scraping time.

## `perKeywordMaxContacts` (type: `boolean`):

ON (default): "Max Phone Numbers" is a target for EACH keyword, so the scraper works through every keyword instead of stopping once the first one fills up. OFF: it is a single total for the whole run. ⚠️ Heads-up: with this ON the run can collect (and be billed for) Max Phone Numbers × number of keywords, and takes proportionally longer.

## `proxyConfiguration` (type: `object`):

Configure proxies for this Actor.

## Actor input object example

```json
{
  "keywords": [
    "manager",
    "consultant"
  ],
  "country": "United States (+1)",
  "maxPhoneNumbers": 5,
  "perKeywordMaxContacts": true
}
```

# Actor output Schema

## `results` (type: `string`):

Structured records extracted by Airtable Phone Number Scraper and stored in the run's default dataset.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "manager",
        "consultant"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("phone_number_scraper/airtable-phone-number-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "keywords": [
        "manager",
        "consultant",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("phone_number_scraper/airtable-phone-number-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "manager",
    "consultant"
  ]
}' |
apify call phone_number_scraper/airtable-phone-number-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,phone_number_scraper/airtable-phone-number-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/bFqhM5fyySUhUQhXL/builds/Wna8AOUXIq3TH2N62/openapi.json
