Official SDKs for the Antybrowser Local API — 7 languages, one API.
Language
Registry
Install
TypeScript / JavaScript
npm
npm install @antybrowser/sdk
Python
PyPI
pip install antybrowser
C# / .NET
NuGet
dotnet add package Antybrowser.SDK
Go
Go Modules
go get github.com/antybrowser/SDK/go
PHP
Packagist
composer require antybrowser/sdk
Ruby
RubyGems
gem install antybrowser
Perl
CPAN
cpan Antybrowser::SDK
Java
Maven Central
See Java README
Kotlin
Maven Central
See Kotlin README
Antybrowser desktop app running with the Local API enabled
An API key from Antybrowser Settings → API
Default port: 5173 (configurable per client)
import { AntybrowserClient } from "@antybrowser/sdk" ;
const client = new AntybrowserClient ( { apiKey : "your_key" , port : 5173 } ) ;
const profiles = await client . getProfiles ( ) ;
console . log ( profiles ) ;
const result = await client . startProfile ( 123 ) ;
console . log ( `Debug port: ${ result . data . debugPort } ` ) ;
import asyncio
from antybrowser import AntybrowserClient , CreateProfileRequest
async def main ():
async with AntybrowserClient (api_key = "your_key" ) as client :
profiles = await client .get_profiles ()
result = await client .start_profile (123 )
print (f"Debug port: { result .data .debug_port } " )
asyncio .run (main ())
using Antybrowser . SDK ;
using var client = new AntybrowserClient ( "your_api_key" ) ;
var profiles = await client . GetProfilesAsync ( ) ;
var result = await client . StartProfileAsync ( 123 ) ;
Console . WriteLine ( $ "Debug port: { result . Data . DebugPort } ") ;
import antybrowser "github.com/antybrowser/SDK/go"
client := antybrowser .NewClient ("your_key" , antybrowser .WithPort (5173 ))
profiles , _ := client .GetProfiles ()
result , _ := client .StartProfile (123 )
fmt .Printf ("Debug port: %d\n " , result .Data .DebugPort )
use Antybrowser \SDK \AntybrowserClient ;
$ client = new AntybrowserClient (apiKey: 'your_key ' );
$ profiles = $ client ->getProfiles ();
$ result = $ client ->startProfile (123 );
echo "Debug port: {$ result ['data ' ]['debugPort ' ]}\n" ;
require "antybrowser"
client = Antybrowser ::Client . new ( "your_key" )
profiles = client . get_profiles
result = client . start_profile ( 123 )
puts "Debug port: #{ result [ 'data' ] [ 'debugPort' ] } "
import com .antybrowser .sdk .*;
var client = new AntybrowserClient ("your_key" );
var profiles = client .getProfiles ();
var result = client .startProfile (123 );
System .out .println ("Debug port: " + result .getDebugPort ());
Every SDK supports the same options:
Option
Default
Description
apiKey
(required)
Your Antybrowser API key
port
5173
Local API port
baseUrl
http://127.0.0.1:{port}
Full URL override
timeout
30s
Request timeout
All 7 SDKs implement the same 26 endpoints:
Method
Description
getStatus()
Health check (no auth)
getSettings()
Get all settings
getSyncStatus()
Sync queue status
refreshSync(profileId?)
Trigger sync
Method
Description
getProfiles()
List all profiles
createProfile(data)
Create a profile
updateProfile(id, data)
Update a profile
deleteProfile(id)
Delete a profile
startProfile(id)
Start → returns debug port
stopProfile(id)
Stop running profile
duplicateProfile(id)
Clone a profile
Method
Description
getAutomations()
List automations
runAutomation(id, data)
Run automation on profile
Method
Description
getGroups()
List groups
createGroup(data)
Create group
updateGroup(id, data)
Update group
deleteGroup(id)
Delete group
Method
Description
getProxies()
List proxies
createProxy(data)
Add proxy (validates)
checkProxy(data)
Test single proxy
checkProxiesBulk(proxies)
Test multiple proxies
deleteProxy(id)
Delete proxy
Method
Description
getExtensions()
List extensions
deleteExtension(id)
Delete extension
getProfileExtensions(id)
Get profile extensions
setProfileExtensions(id, ids)
Set profile extensions
Every SDK has a typed error class with statusCode and responseBody:
// TypeScript
import { AntybrowserError } from "@antybrowser/sdk" ;
try { ... } catch ( e ) {
if ( e instanceof AntybrowserError ) {
console . error ( e . statusCode , e . responseBody ) ;
}
}
# Python
from antybrowser import AntybrowserError
try : ...
except AntybrowserError as e :
print (e .status_code , e .response_body )
See PUBLISHING.md for the full checklist — registry tokens, first-time setup, and version bump workflow.
Additional Registries & Backlinks
Beyond the 7 language registries, list your package here for discoverability:
Platform
Type
Action
Libraries.io
Package aggregator
Auto-indexes — verify listing
OpenLib
Package catalog
Auto-indexes from registries
JSR
TS registry (Deno)
npx jsr publish
GitHub Packages
GH registry
gh package publish
Product Hunt
Launch platform
Submit as product
Hacker News
Community
Post "Show HN"
Dev.to
Developer blog
Write launch article
Reddit
Community
r/programming, r/python, r/webdev
Indie Hackers
Founder community
Share story
Awesome lists
Curated lists
PR to relevant repos
Smithery
AI tool registry
Submit at smithery.ai/new
Glama
MCP directory
Auto-indexed from GitHub topics
SourceForge
Code hosting
Mirror repo
CodeProject
Developer articles
Write tutorial
SDK/
├── npm/ @antybrowser/sdk (TypeScript)
├── py/ antybrowser (Python)
├── nuget/ Antybrowser.SDK (C#/.NET)
├── go/ github.com/antybrowser/SDK/go
├── php/ antybrowser/sdk (Composer)
├── ruby/ antybrowser (RubyGems)
├── perl/ Antybrowser::SDK (CPAN)
├── java/ com.antybrowser:antybrowser-sdk (Maven)
├── kotlin/ com.antybrowser:antybrowser-sdk (Maven/Kotlin DSL)
└── .github/ CI/CD workflows
MIT