← 返回首页
GitHub - GoHighLevel/highlevel-api-python: Python library for the HighLevel API. · GitHub
Skip to content

Navigation Menu

Toggle navigation
Sign in
Appearance settings
Search or jump to...

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Resetting focus

GoHighLevel/highlevel-api-python

Go to file
Code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
View all files

Repository files navigation

GoHighLevel Python SDK

Official Python SDK for the GoHighLevel API. This library provides a convenient way to interact with GoHighLevel's APIs from applications written in Python.

Installation

# Install the SDK pip install gohighlevel-api-client

Quick Start

Basic Usage

from highlevel import HighLevel # Initialize with OAuth credentials client = HighLevel( client_id="your_client_id", client_secret="your_client_secret" )

OAuth Flow Example

import asyncio from highlevel import HighLevel async def oauth_example(): client = HighLevel( client_id="your_client_id", client_secret="your_client_secret" ) # Step 1: Get authorization URL auth_url = client.oauth.get_authorization_url( client_id="your_client_id", redirect_uri="https://your-app.com/callback", scope="contacts.readonly campaigns.readonly" ) print(f"Visit: {auth_url}") # Step 2: Exchange code for tokens (after user authorization) token_data = await client.oauth.get_access_token({ "client_id": "your_client_id", "client_secret": "your_client_secret", "grant_type": "authorization_code", "code": "authorization_code_from_callback", "redirect_uri": "https://your-app.com/callback" }) # Tokens are automatically stored in session storage print("OAuth flow completed successfully!") asyncio.run(oauth_example())

Storage

It can be used to store the access and refresh token for your application.

MongoDB Storage

from highlevel import HighLevel from highlevel.storage import MongoDBSessionStorage storage = MongoDBSessionStorage( connection_string="mongodb://localhost:27017", database_name="ghl_sessions", collection_name="jwt_tokens" ) client = HighLevel( client_id="your_client_id", client_secret="your_client_secret", session_storage=storage )

Webhook Integration

The SDK provides comprehensive webhook support for handling GoHighLevel webhook events, including automatic token management and session storage integration.

Features

  • Automatic Token Management: Handles INSTALL and UNINSTALL webhooks automatically
  • Token Storage: Generates and stores access tokens on INSTALL, removes them on UNINSTALL
  • Session Management: Integrates with your chosen session storage (Memory/MongoDB)
  • Auto Token Refresh: Automatically refreshes expired tokens during API calls if tokens are stored

Webhook Handler Setup

from highlevel import HighLevel from highlevel.storage import MemorySessionStorage # Initialize the SDK client with session storage client = HighLevel( client_id="your_client_id", client_secret="your_client_secret", session_storage=MemorySessionStorage() ) # Get the webhook middleware webhook_middleware = client.webhooks.subscribe() @app.route('/api/webhooks/ghl', methods=['POST']) async def handle_ghl_webhook(): """Handle incoming GoHighLevel webhooks""" # Process the webhook using the middleware await webhook_middleware(request) # Add your custom webhook logic here return jsonify({"status": "success"}), 200

Documentation

License

This project is licensed under the MIT License - see the LICENSE file for details.

Changelog

See CHANGELOG.md for a list of changes and version history.

About

Python library for the HighLevel API.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

Footer

© 2026 GitHub, Inc.