Imports

Web Scraping to Airtable: 5 Ways to Automate It

By Takuma Arimura · Updated

You want an Airtable table that fills itself: competitor prices, listings, job posts, leads from a directory. Copying rows by hand works for a week. After that, you want it on a schedule.

The catch: Airtable doesn’t scrape web pages for you. A script can make an HTTP request, and that’s where the built-in path ends. A real browser, many pages, or a point-and-click setup has to come from another tool.

This guide compares five options, from no-code to light scripting, based on each vendor’s public docs and pricing pages. See how we test for our process and our disclosure for how we earn money.

Quick answer: If you need scheduled scraping that handles JavaScript-heavy sites and writes straight into a base, Apify is the most flexible option: it has ready-made scrapers, cron-style schedules, and an Airtable import Actor that runs after each scrape. If you want a point-and-click “train a robot” setup with less configuration, Browse AI has a native Airtable sync. For a single simple page, an Airtable automation script with fetch may be enough.

What Airtable can and can’t do on its own

Airtable has no scraping feature, but it has two building blocks: a scheduled trigger and a “Run a script” action that can call fetch.

The At scheduled time trigger lets an automation repeat as often as every 15 minutes. In Airtable’s words:

“The ‘At scheduled time’ trigger will cause an automation to run at a pre-designated date and time and can reoccur based on a specific cadence.”

So you could schedule a script that downloads a page and writes values to a table. The limits are the problem. From Airtable’s Run a script action documentation:

“Fetch will timeout after 30 seconds.”

“Scripts can make 50 fetch requests and 30 selectRecords queries.”

“We aim to sustainably increase the script timeout from 30 seconds and have temporarily adjusted it to 120 seconds for observation and testing purposes.”

Fifty requests per run rules out crawling a large catalog. Also, fetch returns the raw response, not a rendered page: if a site builds its content with JavaScript, the data may not be in the HTML at all. And you still have to extract the values yourself.

The same page notes one advantage of automation scripts over the scripting extension:

“Unlike the scripting extension, there is no core origin resources sharing (CORS) limitation.”

Any tool writing through the API also hits the rate limit: “The API is limited to 5 requests per second per base.” That’s why large imports take a while.

Comparison table

ToolNo-code setupScheduled runsSends to Airtable howHandles JS-heavy sitesFree planStarting price
ApifyMostly (ready-made scrapers; some JSON config)Yes, cron schedulesNative (Airtable Data Import Actor)Yes (browser-based scrapers)Yes, $5/month usage$19/month
Browse AIYes (point-and-click robot)Yes, monitoringNative Airtable syncYes (browser-based)Yes, 50 credits/month$19/month billed annually; $48 month-to-month
OctoparseYes (desktop app, visual)Paid plans onlyVia ZapierYes (browser-based)Yes, local runs only$69/month billed annually
Make + HTTP modulePartly (you write match patterns)YesNative Airtable modulesNo (HTTP module doesn’t run JavaScript)Yes, 1,000 credits/month$9/month
Airtable script with fetchNo (JavaScript)Yes, every 15 min or longerWrites directlyNoIncluded with AirtableIncluded (plan limits apply)

Prices and plan limits checked against each vendor's pricing page in October 2026. Plans change, so confirm on the linked pages before you buy.

Prices change often. Check each pricing page before you commit.

Apify

What it is

Apify is a cloud platform for running scrapers and automations, which it calls Actors. You can use ready-made Actors from the Apify Store or build your own. For general websites, the Web Scraper Actor “Crawls arbitrary websites using a web browser and extracts structured data from web pages using a provided JavaScript function.” For static pages, Apify points to Cheerio Scraper, which processes “pages in raw HTML for much higher performance.”

How it works with Airtable

Apify’s Airtable integration docs describe an Airtable Data Import Actor that “transfers items from any Apify dataset into an Airtable base.” You connect Airtable through OAuth, then map dataset fields to Airtable columns. It supports three modes:

  • Append adds new records and leaves existing ones alone.
  • Override deletes all existing records before importing.
  • Create makes a new table with your mapped fields.

There’s also a Unique ID setting that checks an existing column and skips records that already exist. You can attach the import Actor to a scraper through the scraper’s Integrations tab, so it runs after every scrape.

Strengths

  • Built-in schedules use cron expressions to run Actors or saved tasks.
  • Browser-based scrapers handle sites that load data with JavaScript.
  • Ready-made Actors for popular sites often mean no selectors to write.

Limits

  • Pricing is usage-based. Per the pricing page, the free plan includes $5 of monthly usage, Starter is $19/month, and compute units cost $0.2 each on those plans. Browser scrapers use more compute than HTML-only ones, so costs depend on the site and volume.
  • Many Store Actors come from third parties and may be priced separately.
  • Generic scrapers need start URLs and selectors, so custom sites are low-code, not zero-code.
  • The import Actor’s docs note that text values are capped at 10,000 characters.

Who it’s for

Teams that need recurring scrapes of many pages, JavaScript-heavy sites, or popular sources that already have a ready-made Actor.

Browse AI

What it is

Browse AI lets you train a “robot” by clicking the data you want, then run it on demand or monitor a page on a schedule.

How it works with Airtable

Browse AI has a native Airtable integration. According to its help article, you open the robot’s Integrate tab, click the Airtable tile, choose “Enable Syncing to Airtable,” authorize your account, pick a base and map fields. After that, data syncs on later task runs or monitoring checks.

Strengths

  • The most beginner-friendly setup of the tools here.
  • Monitoring is included in all plans, with a minimum interval of hourly on Free and Personal and 5 minutes on higher tiers, per the pricing page.
  • The pricing page lists Airtable, Zapier, Make and webhooks among the integrations.

Limits

  • Synced fields have to stay as long text. The help article says: “Keep all synced fields as multiline text type in Airtable. Changing field types…will break the sync.” You’ll need formula fields if you want numbers or dates.
  • The free plan has 50 credits a month, which goes quickly at scale.
  • The docs we found don’t say how the sync treats existing rows, so test deduplication yourself.

Who it’s for

Non-technical users watching a handful of pages, such as a few competitor product pages.

Octoparse

What it is

Octoparse is a visual desktop scraper. You build tasks by clicking through a page; paid plans run them in the cloud on a schedule.

How it works with Airtable

Octoparse doesn’t write to Airtable directly. Its help article on exporting to Airtable uses Zapier: the trigger is “New Document Processed,” and the action is Airtable’s Create Record or Update Record. The trigger only finds data from cloud extraction, and the article warns that “Each row of data transferred via this Zap consumes one Zapier task.”

Strengths

  • Visual task builder with no code.
  • Paid plans include cloud extraction and task scheduling.

Limits

  • Per the pricing page, the free plan runs locally only, with no scheduling or API access. Standard starts at $69/month billed annually.
  • Sending data to Airtable means paying for Zapier too, and every row costs a Zapier task.

Who it’s for

Existing Octoparse users who already pay for Zapier.

Make with an HTTP module

What it is

Make is a visual automation platform. It has an HTTP “Make a request” module that downloads a URL, a Text parser to extract values, and Airtable modules to create, update or upsert records.

How it works with Airtable

A typical scenario: a schedule trigger, then HTTP “Make a request,” then Text parser “Match pattern” (a regular expression), then Airtable “Upsert a record.” Make’s HTTP and Text parser integration page shows the pairing. The Airtable side is native, so field mapping is drag-and-drop.

Strengths

  • Cheap for small jobs. The pricing page lists a free plan with up to 1,000 credits a month and Core at $9/month.
  • You can swap in a scraping service later. Make has modules for Apify, so you can keep Make for the workflow and let Apify do the scraping.

Limits

  • The HTTP module doesn’t run JavaScript. A Make community thread shows the usual symptom: you get the page shell, not the data.
  • Regular expressions break when the site’s HTML changes, and bot protection may block requests.

Who it’s for

Make users pulling a few values from simple, server-rendered pages.

Airtable scripting with fetch

What it is

A “Run a script” action inside an Airtable automation, triggered on a schedule. The script fetches a URL, extracts values from the response, and creates or updates records.

How it works with Airtable

It runs inside your base with no third-party account. The limits quoted earlier apply.

Strengths

  • No extra subscription.
  • Fine for JSON endpoints, RSS feeds or simple, stable pages.

Limits

  • You need to write JavaScript.
  • No browser rendering, and 50 requests per run rules out crawling many pages.

Who it’s for

Developers or confident script users with one small, stable source.

How to choose

  • You need many pages, JavaScript-heavy sites, or a popular site with a ready-made scraper: start with Apify.
  • You’re non-technical and only watch a few pages: Browse AI is the simplest setup.
  • You already use Octoparse and Zapier: stick with that pairing, but watch your Zapier task count.
  • The page is simple HTML and you already use Make: an HTTP module plus Airtable upsert is cheap and fine.
  • The source is a JSON API or feed: an Airtable automation script may be all you need.

Before turning on a recurring import, back up the base: a bad mapping can overwrite good records in one run. See our guide to Airtable backups.

How to send scraped data to Airtable on a schedule (Apify)

This walkthrough follows Apify’s Airtable integration and schedules docs. Exact screens may differ slightly.

1. Prepare the Airtable table

Create a table with one column per field you plan to scrape, plus a column that uniquely identifies each item, such as the product URL or listing ID. You’ll use it to avoid duplicates.

2. Pick and configure a scraper

In Apify, find a ready-made Actor for your site or use a generic one such as Web Scraper (browser-based) or Cheerio Scraper (HTML-only). Enter start URLs and settings, then save it as a task so the configuration is reusable.

3. Run it once and check the dataset

Run the task manually and open the dataset to confirm field names and values. This is what the import step will read.

4. Add the Airtable integration

Open the scraper’s Integrations tab, click “Add integration,” and select the Airtable Data Import Actor. Per Apify’s docs, set the dataset ID to {{resource.defaultDatasetId}} so it reads whatever the latest run produced.

5. Connect Airtable and map fields

Connect your Airtable account through OAuth. Choose the base and table, pick the Append mode, set Unique ID to your identifier column, and map each dataset field (source) to an Airtable column (target). The docs note that nested fields can be mapped with dot notation, like crawl.depth.

6. Create a schedule

Go to Schedules and create one with a cron expression, such as 0 8 * * * for every day at 8:00, and add your scraper task to it. Apify’s docs say scheduled events usually fire “within one second of their scheduled time,” though runs can be delayed under load.

7. Test, then watch the first few runs

Trigger one run manually and check Airtable. Then review the first few scheduled runs for duplicates, empty fields or failures.

Tip: deduplicate and upsert instead of piling up rows

Recurring scrapes create duplicates unless you plan for them.

  • Pick a stable key. Product URL, SKU, listing ID or job post URL. Titles change; URLs usually don’t.
  • Know whether your tool skips or updates. Apify’s Unique ID setting skips records that already exist. That’s right for new listings or leads, but it won’t refresh a price on an existing row.
  • For values that change, use an upsert. Airtable’s API supports upserts with performUpsert and fieldsToMergeOn, which matches records on up to three fields, per the update records reference. Make’s “Upsert a record” module is another route.
  • Keep history if you need trends. For price tracking, append one row per check (item key, date, price) instead of overwriting.
  • Be careful with “replace everything” modes. Apify’s Override mode deletes all existing records before importing. Don’t point it at a table with manual notes. A recent backup makes mistakes recoverable.

Scrape responsibly

This isn’t legal advice, but a few basics apply to every tool here:

  • Read the site’s terms of service. Some sites prohibit automated access. If there’s an official API or data export, use it.
  • Respect robots.txt, but don’t treat it as permission. The robots.txt standard, RFC 9309, says plainly: “These rules are not a form of access authorization.”
  • Be careful with personal data. Scraping names, emails or profiles can fall under privacy laws such as GDPR or CCPA, depending on where you and the people are. Collect only what you need and have a lawful basis for it.
  • Go easy on the site. Schedule only as often as the data actually changes, and don’t bypass logins or paywalls.

FAQ

Can Airtable scrape websites by itself?

Not really. An automation script can call fetch on a schedule, but it’s limited to 50 requests per run, doesn’t render JavaScript, and leaves HTML parsing to you.

What’s the easiest no-code way to scrape into Airtable?

Browse AI is the most point-and-click option, with a native Airtable sync. Apify is mostly no-code when a ready-made Actor exists for your site.

How often can I run a scrape into Airtable?

It depends on the tool. Apify’s minimum schedule interval is 10 seconds, Browse AI monitoring ranges from hourly to 5 minutes by plan, and Airtable’s scheduled trigger runs as often as every 15 minutes. Match the frequency to how often the data changes.

Will scheduled scraping create duplicate records?

It can. Use a unique key such as the item URL, and either skip existing records (Apify’s Unique ID) or upsert them through Airtable’s API or Make.

Do I need Zapier or Make to connect a scraper to Airtable?

Not always. Apify and Browse AI write to Airtable directly. Octoparse’s documented Airtable route goes through Zapier.

It depends on the site’s terms, the kind of data, and where you are. Public, non-personal data is generally lower risk than personal data or content behind a login. When in doubt, use an official API or ask a lawyer.