Official SDKs for the Antybrowser Local API — 23 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
Rust
crates.io
cargo add antybrowser
Dart / Flutter
pub.dev
dart pub add antybrowser
Swift
Swift Package Manager
See Swift README
Elixir
Hex
mix deps.get antybrowser
Lua
LuaRocks
luarocks install antybrowser
Julia
Julia Packages
Pkg.add("Antybrowser")
R
CRAN
install.packages("antybrowser")
Haskell
Hackage
cabal install antybrowser-sdk
OCaml
OPAM
opam install antybrowser
Nim
Nimble
nimble install antybrowser
Zig
Zig Network
See Zig README
C / C++
vcpkg / Conan
See C++ README
PureScript
Pursuit
spago install antybrowser
Raku
Raku Modules
zef install Antybrowser::SDK
D
DUB
dub fetch antybrowser
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 ());
use antybrowser:: AntybrowserClient ;
let client = AntybrowserClient :: new ( "your_key" ) ?;
let profiles = client. get_profiles ( ) ?;
let result = client. start_profile ( 123 ) ?;
println ! ( "Debug port: {:?}" , result. data. debug_port) ;
import Antybrowser
main = do
client <- newClient " your_key" Nothing Nothing Nothing
profiles <- getProfiles client
print profiles
#include < antybrowser/antybrowser.hpp>
antybrowser::AntybrowserClient client (" your_key" );
auto profiles = client.getProfiles();
auto result = client.startProfile(123 );
std::cout << " Debug port: " << result[" data" ][" debugPort" ] << std::endl;
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 23 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 23 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/JavaScript)
├── 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)
├── rust/ antybrowser (crates.io)
├── dart/ antybrowser (pub.dev)
├── swift/ AntybrowserSDK (Swift Package Manager)
├── elixir/ antybrowser (Hex)
├── lua/ antybrowser (LuaRocks)
├── julia/ Antybrowser (Julia Packages)
├── r/ antybrowser (CRAN)
├── haskell/ antybrowser-sdk (Hackage)
├── ocaml/ antybrowser (OPAM)
├── nim/ antybrowser (Nimble)
├── zig/ antybrowser (Zig Network)
├── cpp/ antybrowser (vcpkg/Conan)
├── purescript/ antybrowser (Pursuit)
├── raku/ Antybrowser::SDK (Raku Modules)
├── d/ antybrowser (DUB)
└── .github/ CI/CD workflows
MIT