How can I integrate with GoHighLevel ?

LeadSwift + GoHighLevel Integration Guide

This guide shows you how to push LeadSwift leads directly into GoHighLevel (GHL) as Contacts using the GHL Private Integration API. No marketplace approval or OAuth setup required.

HOW IT WORKS

The integration flow

LeadSwift Search
Import Tool
GHL Contacts API
GHL CRM

The tool fetches leads from your LeadSwift search in batches of 20, enriches each with contact details (email/phone from all contact pages), then pushes them into GHL using the upsert endpoint — existing contacts are updated rather than duplicated. Enable Auto-continue to run all batches automatically.

STEP 1 — CREATE A GHL PRIVATE INTEGRATION TOKEN

Generate a token with the correct scopes:

  • Log in to GoHighLevel and go to Settings → Private Integrations
  • If not visible, go to Settings → Labs and enable Private Integrations
  • Click Create new Integration, name it LeadSwift Import
  • Under Scopes, select contacts.write and contacts.read
  • Click Create and copy the token immediately — shown only once
Tip: GHL recommends rotating tokens every 90 days. You have a 7-day overlap window so you can update the tool without downtime.
STEP 2 — FIND YOUR GHL LOCATION ID

The Location ID identifies which GHL sub-account to import into:

  • In GHL, go to Settings → Business Profile
  • Copy the Location ID shown near the top — looks like ve9EPM428h8vShlRW1KT
Tip: Also visible in the URL when browsing your sub-account — it's the ID after /location/.
STEP 3 — GET YOUR LEADSWIFT IDs

You need three IDs from LeadSwift:

Field How to find it
API Key LeadSwift Dashboard → API Settings
Campaign ID Visible in the URL when viewing a campaign, e.g. /campaigns/456 — or call GET /api/campaigns?api_key=...
Search ID Visible in the URL when viewing a search — or call GET /api/searches/[campaign_id]?api_key=...
STEP 4 — RUN THE IMPORT TOOL

Download and upload import tool to your server, open the import tool with the browser:

URL
http://your server/ghl/leadswift_to_ghl.php
  • Fill in your GHL Private Integration Token and Location ID
  • Set the Tag to apply to all imported contacts (default: LeadSwift)
  • Choose Pull from LeadSwift API and enter your API Key, Campaign ID and Search ID
  • Tick Dry Run first to preview results without creating contacts
  • Tick Auto-continue to automatically process all batches without manual clicking
  • Click Import Leads into GoHighLevel
Batching: The tool imports 20 leads per batch. Each lead's contacts are fetched across all pages before import. With Auto-continue enabled, all batches run until the entire search is imported — progress is shown with a live bar and running totals.
WHAT GETS IMPORTED INTO GHL
LeadSwift Field GHL Contact Field
Business name First Name + Last Name + Company Name
Email Email
Phone Phone
Address Address
Website Website
Category Tag + Custom Field: business_category
Google Rating Custom Field: google_rating
Google Reviews Custom Field: google_reviews
Google Rank Custom Field: google_rank
Tag: LeadSwift (applied to all)
Source: LeadSwift
Note: Contacts with no email and no phone are skipped. The import summary shows exactly how many were skipped.
TROUBLESHOOTING — DEBUG BUTTON

If you see errors or "No leads found", use the yellow Debug API button on the tool:

  • Fill in your API Key, Campaign ID and Search ID first
  • Click Debug API — shows raw API responses from LeadSwift
  • Look for keyword_id found: [number] in green — confirms your IDs are correct
  • Check recordsFiltered in the Leads response is greater than 0
  • Check the Contacts response shows email and phone fields
Common issue: Make sure the Search ID belongs to the Campaign ID you entered. Verify by calling GET /api/searches/[campaign_id]?api_key=... and finding your search in the returned list.
ALTERNATIVE — IMPORT FROM CSV EXPORT

You can also import from a LeadSwift CSV export:

  • Export your leads from LeadSwift as CSV
  • In the import tool, click the Upload CSV File tab
  • Select your CSV file and click Import Leads into GoHighLevel
Note: CSV exports already contain all contact data so no API lookups are needed — CSV imports are faster than API imports.

For the full LeadSwift REST API reference, see the API Documentation. For questions, contact us via Helpdesk or Live Chat.