# Web Scraping Made Easy: Build Your Own Crawler in 30 Minutes with Firecrawl

**URL:** <https://forum.bubble.io/t/web-scraping-made-easy-build-your-own-crawler-in-30-minutes-with-firecrawl/386448>\
**Category:** Content / Articles\
**Created:** [December 1, 2025, 12:45pm UTC](https://forum.bubble.io/t/web-scraping-made-easy-build-your-own-crawler-in-30-minutes-with-firecrawl/386448 "2025-12-01T12:45:56Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mattblake](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/mattblake/32/149474_2.png) [@mattblake](https://forum.bubble.io/u/mattblake)\
**Post date:** [December 1, 2025, 12:45pm UTC](https://forum.bubble.io/t/web-scraping-made-easy-build-your-own-crawler-in-30-minutes-with-firecrawl/386448/1 "2025-12-01T12:45:56Z")

</div>

**Complete Guide: Using Firecrawl’s Web Crawling API in Bubble**

I’ve used Firecrawl on multiple personal projects so I was thrilled when they reached out about producing a sponsored video. I wanted to share the key implementation steps here since web scraping/crawling can be incredibly useful for Bubble apps.

**What This Tutorial Covers:**

Using Firecrawl’s `/crawl` endpoint to scrape multiple pages from a website, extract structured data using AI, and display results in your Bubble app.

**Key Implementation Steps:**

**1. Setting Up the API Connector**

- Install the API Connector plugin
- Create a new API called “Firecrawl”
- Add your API key in the header as: `Authorization: Bearer YOUR_API_KEY`
- Set up two calls: one for initiating the crawl (POST) and one for getting results (GET)

**2. Understanding Webhooks (Critical!)**  
When crawling multiple pages, the process takes time. Rather than waiting synchronously, Firecrawl uses webhooks:

- Create a Backend API Workflow (requires paid Bubble plan)
- Add the webhook URL to your crawl request body
- Use “Detect request data” to train Bubble on the incoming webhook format
- Important: Make your webhook URL dynamic so it works across dev/live versions

**3. Database Structure**  
Create a “Web Page” data type with fields like:

- URL (text)
- Summary (text)
- Custom fields based on your extraction needs (e.g., “Mentions AI” as yes/no)

**4. The Workflow Logic**  
The flow is: User clicks button → Initiate crawl → Firecrawl processes → Webhook notifies Bubble → Fetch results → Save to database

Use “Schedule API workflow on a list” to iterate through results and create database entries for each crawled page.

**5. Pro Tips**

- Use the `.JSON safe` modifier when passing dynamic values in JSON body
- Use `Get home URL` to make your webhook endpoint work across versions
- Remove “initialize” from your webhook URL before going live
- Firecrawl’s playground lets you test and generates the exact code you need

**Real-World Use Cases:**

- Competitive analysis tools
- Content aggregators
- SEO audit applications
- Market research dashboards
- Monitoring competitor blogs for specific topics

The tutorial video walks through building a working example that crawls HubSpot’s blog and identifies which posts mention AI:

[![](https://img.youtube.com/vi/V5hph9ozuds/maxresdefault.jpg "Web Scraping Made Easy: Build Your Own Crawler in 30 Minutes | No Code Tutorial") ](https://www.youtube.com/watch?v=V5hph9ozuds)

Firecrawl also offers `/scrape` for single pages, `/search` for targeted queries, and `/map` for generating sitemaps - all accessible via the same API setup process.

Happy to answer questions about the implementation!
