Integration Guide
Build a Custom GPT that searches the Lead Database with natural language. Ask for leads by title, industry, or company and get contact records back in the conversation.
Click “Explore GPTs” in the sidebar, then “+ Create” in the top-right corner. Switch to the Configure tab.
Give it a name like “Lead Finder” and paste these instructions:
You are a B2B lead search assistant. When a user asks for leads, call the searchLeads action with the appropriate filters. Always set hasEmail to "true" unless the user says otherwise. Present results in a clean table with Name, Email, Title, Company, and LinkedIn URL. Show the total count and how many pages are available.Scroll down to Actions and click “Create new action.” Paste the OpenAPI schema below into the schema editor:
openapi: "3.1.0"
info:
title: ScraperCity Lead Database
description: Search B2B leads by title, industry, location, and company attributes.
version: "1.0.0"
servers:
- url: https://app.scrapercity.com/api/v1
paths:
/database/leads:
get:
operationId: searchLeads
summary: Search the B2B lead database with filters
parameters:
- name: title
in: query
schema: { type: string }
description: Job title keyword (e.g. CEO, CTO, VP of Sales)
- name: seniority
in: query
schema: { type: string, enum: [c_suite, vp, director, manager, senior, entry] }
- name: department
in: query
schema: { type: string }
- name: industry
in: query
schema: { type: string }
- name: country
in: query
schema: { type: string }
- name: state
in: query
schema: { type: string }
- name: city
in: query
schema: { type: string }
- name: companyName
in: query
schema: { type: string }
- name: companyDomain
in: query
schema: { type: string }
- name: minEmployees
in: query
schema: { type: string }
- name: maxEmployees
in: query
schema: { type: string }
- name: hasEmail
in: query
schema: { type: string, enum: ["true"] }
- name: hasPhone
in: query
schema: { type: string, enum: ["true"] }
- name: page
in: query
schema: { type: string, default: "1" }
- name: limit
in: query
schema: { type: string, default: "50" }
responses:
"200":
description: Lead search resultsClick “Authentication” under the schema editor:
This tells ChatGPT to send Authorization: Bearer YOUR_KEY with every API call.
Click the “Test” button next to the searchLeads action. Then go to the Preview panel and try: “Find CTOs in the United States with email addresses.”
You
Find marketing directors at SaaS companies in California
searchLeads(title=marketing director, industry=computer software, state=California, hasEmail=true)
Lead Finder GPT
Found 1,247 leads across 13 pages. Here are the first 100...
You
Show me VPs at companies with 500+ employees in New York
searchLeads(seniority=vp, state=New York, minEmployees=500, hasEmail=true)
Lead Finder GPT
Found 3,891 leads. Displaying page 1 of 39...
You
Anyone at stripe.com?
searchLeads(companyDomain=stripe.com, hasEmail=true)
Lead Finder GPT
Found 42 contacts at Stripe. Here are the results...
Custom GPT Actions make one API call per user message. You can ask for "next page" to see page 2, but the GPT cannot loop through 500 pages on its own. For bulk exports, use Claude Code, n8n, or Zapier.
The GPT returns data in the conversation window. It cannot export CSVs directly. You can ask it to format results as a table and copy/paste, or use Code Interpreter to write the results to a downloadable file.
Custom GPTs with Actions can be shared with your team or published to the GPT Store. Your API key stays hidden from users.