Back to Integrations
Integration Guide

BasedOnB + Zapier

Automatically send newly scraped leads from BasedOnB to HubSpot, Google Sheets, Pipedrive, Notion, or any of Zapier's 6,000+ integrations — without writing a single line of code.

Prerequisites

  • A BasedOnB account (free account works)
  • A Zapier account (free tier supports 5 Zaps)
  • The destination app connected in Zapier (e.g. HubSpot, Google Sheets)

Step-by-Step Setup

1

Create a webhook in BasedOnB

Go to Settings → Webhooks and click Add Webhook. You'll need the Zapier webhook URL from Step 2, so keep this tab open.

What to fill in:

  • Name: e.g. "Zapier – HubSpot CRM"
  • Endpoint URL: Paste the Zapier webhook URL from Step 2
  • Events: Check scrape.done
2

Set up a Zapier Webhook trigger

In Zapier, create a new Zap. For the trigger:

  1. Search for and select Webhooks by Zapier
  2. Choose Catch Hook as the event
  3. Copy the generated webhook URL (it looks like https://hooks.zapier.com/hooks/catch/...)
  4. Paste this URL into your BasedOnB webhook (Step 1) and save
3

Send a test event from BasedOnB

Back in BasedOnB Settings → Webhooks, click the Test button next to your webhook. This sends a sample scrape.done payload to Zapier so it can detect the data structure.

In Zapier, click Test Trigger — it should find the test event with fields like data__scrape_id, data__query, data__leads_found, etc.

4

Add your action (CRM, Sheets, etc.)

With the trigger configured, add an action step. Popular choices:

📊

Google Sheets

Append a row for each completed scrape job

🟠

HubSpot

Create a new contact or company from lead data

💼

Pipedrive

Add a lead or deal automatically

📝

Notion

Create a database entry with job details

Map the webhook fields to your action. Use data__query for the search term, data__city for the city, and data__leads_found for the lead count.

5

Publish your Zap

Test the full Zap, then turn it on. Now every time a BasedOnB scrape completes, Zapier will automatically run your action. You can monitor deliveries in BasedOnB Settings → Webhooks → View Logs.

Example Webhook Payload

This is what Zapier receives when a scrape completes:

{
  "event": "scrape.done",
  "created_at": "2026-01-15T10:05:00Z",
  "data": {
    "scrape_id": "job-uuid",
    "query": "restaurants",
    "city": "Istanbul",
    "country": "Turkey",
    "leads_found": 47,
    "credits_charged": 47
  }
}

In Zapier, these fields appear as data__scrape_id, data__query, data__leads_found, etc. (Zapier flattens nested JSON with double underscores.)

Frequently Asked Questions

Does this work with the free Zapier plan?

Yes. The free Zapier plan supports up to 5 Zaps with 100 tasks/month. Webhooks by Zapier is available on all plans.

Can I get individual leads (not just job metadata) in Zapier?

The webhook payload contains job-level data (query, city, leads count). To get individual lead records, use the BasedOnB REST API to fetch results after the scrape.done event and pass them to Zapier via a Code step or custom app.

What if my Zap fails to receive the webhook?

Check Settings → Webhooks → View Logs in BasedOnB to see delivery status. You can also click Test to resend. Make sure your Zapier webhook URL is correct and the Zap is turned on.

Can I filter — only trigger for scrapes with more than N leads?

Yes. Add a Filter step in Zapier after the trigger: continue only if data__leads_found is greater than your threshold.