Public
Documentation Settings

ClickFunnels CLASSIC (1.0) Public API v1


2025 Update: ClickFunnels V1 is deprecated - Please use the ClickFunnels V2 API ℹ️

For the most recent ClickFunnels API documentation, please see our new developer hub at https://developers.myclickfunnels.com/.


Overview

Welcome to the ClickFunnels & Follow-Up Funnels API.

Our REST API communications in JSON over SSL. All endpoints will begin with https://api.clickfunnels.com/api/attributes.

Authentication

The REST API accepts both token-based authentication (intended for private integrations) and full OAuth 2 authentication (for public integrations).

You must replace YOUR_API_KEY / YOUR_ACCESS_TOKEN with your actual token.

OAuth2

For public integrations with ClickFunnels, you must use OAuth based authentication. Here's a quick overview of how to get going.

  • Get your favorite OAuth Library

  • Register your application with us at https://api.clickfunnels.com/oauth/applications. We will then supply you with an client id and client secret. Please be aware that you must also enter a valid callback url before you will be able to activate your application.

  • Configure your OAuth client with the credentials supplied to you when you created your application. Request authorization at: https://api.clickfunnels.com/oauth/authorize. You should only have to do this once, as tokens do not expire.

  • Activate your application and you're on your way!

If you're not going to use a library and will be rolling your own OAuth 2 client, here's the long form of how you can get going.

Plain Text
{
  "access_token": "978ef42b816556...",
  "token_type": "bearer",
  "scope": "public"
}

First and foremost remember to register your app with us as outlined above.
Once you have registered your app, it will then need to request authorization by redirecting your user to the following url:

Plain Text
https://api.clickfunnels.com/oauth/authorize?response_type=code&client_id=<your_client_id>&redirect_uri=<your_redirect_uri>

We will then authenticate their CF account and ask if it's ok to give access to your app.

The user will then be redirected back to your app with a verification code that will expire in 10 minutes.

Your app will then need to make a request to trade that verification code for an access token:

Plain Text
POST https://api.clickfunnels.com/oauth/token?response_type=token&client_id=<your_client_id>&client_secret=<your_client_secret>&code=<your_verification_code>&redirect_uri=<your_redirect_uri>&grant_type=authorization_code

We will then authenticate your app and issue you an access token as shown on the right.

You can now use that access token in the header of your API requests as follows:

Plain Text
Authorization: Bearer 978ef42b816556...

Error Codes

2xx (Success category)
These status codes represent that the requested action was received and successfully processed by the server.

  • 200 Ok The standard HTTP response representing success for GET, PUT or POST.

  • 201 Created This status code should be returned whenever the new instance is created. E.g on creating a new instance, using POST method, should always return 201 status code.

  • 204 No Content represents the request is successfully processed, but has not returned any content.

3xx (Redirection Category)

  • 304 Not Modified indicates that the client has the response already in its cache. And hence there is no need to transfer the same data again.

4xx (Client Error Category)
These status codes represent that the client has raised a faulty request.

  • 400 Bad Request indicates that the request by the client was not processed, as the server could not understand what the client is asking for.

  • 401 Unauthorized indicates that the client is not allowed to access resources, and should re-request with the required credentials.

  • 403 Forbidden indicates that the request is valid and the client is authenticated, but the client is not allowed access the page or resource for any reason. E.g sometimes the authorized client is not allowed to access the directory on the server. This is also used to indicate Rate limiting has occured

  • 404 Not Found indicates that the requested resource is not available now.

  • 410 Gone indicates that the requested resource is no longer available which has been intentionally moved.

5xx (Server Error Category)

  • 500 Internal Server Error indicates that the request is valid, but the server is totally confused and the server is asked to serve some unexpected condition.

  • 503 Service Unavailable indicates that the server is down or unavailable to receive and process the request. Mostly if the server is undergoing maintenance.

Rate limit

You can make up to 600 requests per hour during our private beta, increases will be granted on a case by case basis.

You will see the max number of requests and the one availables.

Plain Text
HTTP/1.1 200 OK
X-HourlyRateLimit-RateLimit-Limit: 5000
X-HourlyRateLimit-RateLimit-Remaining: 4999

When you exceed the API calls limit your request is forbidden.

Plain Text
HTTP/1.1 403 Forbidden
X-HourlyRateLimit-RateLimit-Limit: 5000
X-HourlyRateLimit-RateLimit-Remaining: 0
AUTHORIZATIONOAuth 2.0
Access Token

<access-token>