Skip to main content

linkbreakers

Official Python SDK for the Linkbreakers API.

PyPI version License: MIT

Installation

pip install linkbreakers

Usage

from linkbreakers import Configuration, ApiClient, LinksApi

# Configure API client with Bearer token authentication
configuration = Configuration(
    access_token='your-api-token',
    host='https://api.linkbreakers.com'
)

# Create API client
with ApiClient(configuration) as api_client:
    links_api = LinksApi(api_client)

    # Create a shortened link
    link = links_api.create_link({
        'destination': 'https://example.com',
        'name': 'My Link'
    })

    print(f'Short link: {link.shortlink}')

Authentication

Important: The Linkbreakers API uses Bearer token authentication. The SDK's Configuration class is designed to only accept the access_token parameter:

# ✅ CORRECT - Uses Bearer token authentication
configuration = Configuration(
    access_token='your-workspace-token',
    host='https://api.linkbreakers.com'
)

# ❌ ERROR - Will raise ValueError
configuration = Configuration(
    api_key={'ApiKeyAuth': 'your-token'}  # This will raise an error!
)

The SDK prevents you from accidentally using the wrong authentication method and will raise a clear error message with a link to the help documentation.

Get your workspace API token from the Linkbreakers dashboard.

For more information, see: https://linkbreakers.com/help/article/api-authentication-accesstoken-vs-apikey

Identifying Visitors

Use the VisitorsApi to identify and update visitor profiles. The identify method finds or creates a visitor using their LBID (from tracking) and merges attributes:

from linkbreakers import (
    Configuration,
    ApiClient,
    VisitorsApi,
    IdentifyRequest,
    VisitorInput
)

configuration = Configuration(
    access_token='your-api-token',
    host='https://api.linkbreakers.com'
)

with ApiClient(configuration) as api_client:
    visitors_api = VisitorsApi(api_client)

    # Identify a visitor using their LBID (from tracking cookie/parameter)
    response = visitors_api.visitors_service_identify(
        identify_request=IdentifyRequest(
            lbid='visitor-lbid-from-tracking',  # Base64 encoded event ID from click/scan
            visitor=VisitorInput(
                data={
                    # System fields (prefixed with "$")
                    '$email': 'user@example.com',
                    '$phone': '+1234567890',
                    '$firstName': 'John',
                    '$lastName': 'Doe',

                    # Custom attributes (no "$" prefix)
                    'company': 'Acme Corp',
                    'plan': 'premium',
                    'signupDate': '2024-01-01'
                }
            ),
            set_once=False  # If True, only sets empty fields (won't overwrite existing)
        )
    )

    print(f'Created new profile: {response.created}')
    print(f'Visitor: {response.visitor}')

Update an existing visitor by UUID:

from linkbreakers import VisitorsServiceUpdateBody, VisitorInput

with ApiClient(configuration) as api_client:
    visitors_api = VisitorsApi(api_client)

    # When you have the visitor's UUID (from your database)
    visitor = visitors_api.visitors_service_update(
        id='visitor-uuid',
        visitors_service_update_body=VisitorsServiceUpdateBody(
            visitor=VisitorInput(
                data={
                    '$email': 'updated@example.com',
                    'plan': 'enterprise'
                }
            )
        )
    )

Get visitor details:

with ApiClient(configuration) as api_client:
    visitors_api = VisitorsApi(api_client)

    visitor = visitors_api.visitors_service_get(
        id='visitor-uuid',
        include=['devices', 'events', 'links']  # Optional: include related data
    )

List visitors:

with ApiClient(configuration) as api_client:
    visitors_api = VisitorsApi(api_client)

    visitors = visitors_api.visitors_service_list(
        page_size=50,
        email='user@example.com',  # Optional filters
        link_id='link-uuid',
        search='Acme Corp'
    )

Full API Support

The SDK provides type-safe methods for all API operations:

from linkbreakers import Configuration, ApiClient, LinksApi

configuration = Configuration(
    access_token='your-api-token',
    host='https://api.linkbreakers.com'
)

with ApiClient(configuration) as api_client:
    links_api = LinksApi(api_client)

    # Get a link by ID
    link = links_api.get_link(id='link-id')

    # Update a link
    updated = links_api.update_link(
        id='link-id',
        update_link_request={
            'name': 'Updated Name'
        }
    )

    # Delete a link
    links_api.delete_link(id='link-id')

    # List links with filtering
    links = links_api.list_links(
        page_size=50,
        search='my-search',
        tags=['tag1', 'tag2']
    )

Features

  • ✅ Full type hints and autocompletion support
  • ✅ Python 3.7+ support
  • ✅ Auto-generated from OpenAPI specification
  • ✅ Automatically updated when API changes

Examples

For complete, runnable code examples, see the examples/ directory:

Each example is complete, well-documented, and ready to run. See examples/README.md for details.

Documentation

For complete API documentation, visit https://docs.linkbreakers.com

Auto-Generated SDK

This SDK is automatically generated from the Linkbreakers OpenAPI specification. When the API is updated, this SDK is automatically regenerated and published.

Current API Version: See OPENAPI_VERSION

Support

License

MIT License - see LICENSE for details.

Metadata

Release files for linkbreakers 1.136.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for linkbreakers 1.136.0
File Size Uploaded
linkbreakers-1.136.0.tar.gz 215.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for linkbreakers 1.136.0
File Interpreter ABI Platform
linkbreakers-1.136.0-py3-none-any.whl Python 3 none any Details

Total release size: 925.2 kB

Release files / linkbreakers-1.136.0.tar.gz

Download URL linkbreakers-1.136.0.tar.gz
Size 215.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2809f430543b6637ecac574259acc76d7921e453685285814d2c0a05d580ce30
BLAKE2b-256 checksum
How to use checksums
c8677bd2f4513a8c3816c6ee6d93e1895dadb8dc80aeacee88eeaff87c632ccf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / linkbreakers-1.136.0-py3-none-any.whl

Download URL linkbreakers-1.136.0-py3-none-any.whl
Size 709.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ac8db3b747c2a17c5fc50ea4fb7f85ba25e23602293c2961aeb1078e7cb1e438
BLAKE2b-256 checksum
How to use checksums
f285c96c1ebe6b6ab7c0c88c8b8d5081fa49d0afb839d0c89584ec743eb5662a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release history Release notifications | RSS feed

This release

1.136.0 This release

2 release files

1.98.0

2 release files

1.96.0

2 release files

1.95.1

2 release files

1.94.3

2 release files

1.94.2

2 release files

1.94.0

2 release files

1.92.2

2 release files

1.92.1

2 release files

1.91.5

2 release files

1.91.4

2 release files

1.91.3

2 release files

1.91.2

2 release files

1.90.0

2 release files

1.89.0

2 release files

1.87.9

2 release files

1.87.8

2 release files

1.87.7

2 release files

1.87.6

2 release files

1.87.5

2 release files

1.87.4

2 release files

1.87.3

2 release files

1.87.1

2 release files

1.87.0

2 release files

1.86.0

2 release files

1.85.3

2 release files

1.84.1

2 release files

1.84.0

2 release files

1.83.0

2 release files

1.82.1

2 release files

1.82.0

2 release files

1.81.4

2 release files

1.55.0

2 release files

1.53.3

2 release files

1.52.8

2 release files

1.52.6

2 release files

1.52.5

2 release files

1.52.2

2 release files

1.52.0

2 release files

1.51.4

2 release files

1.51.3

2 release files

1.51.2

2 release files

1.51.1

2 release files

1.51.0

2 release files

1.46.9

2 release files

1.46.8

2 release files

1.46.7

2 release files

1.46.6

2 release files

1.46.4

2 release files

1.45.1

2 release files

1.45.0

2 release files

1.44.2

2 release files

1.43.5

2 release files

1.42.8

2 release files

1.42.7

2 release files

1.42.6

2 release files

1.42.5

2 release files

1.42.4

2 release files

1.42.3

2 release files

1.42.2

2 release files

1.41.1

2 release files

1.41.0

2 release files

1.40.0

2 release files

1.39.3

2 release files

1.39.2

2 release files

1.39.1

2 release files

1.39.0

2 release files

1.38.1

2 release files

1.37.0

2 release files

1.36.0

2 release files

1.35.2

2 release files

1.35.1

2 release files

1.35.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page