§ Official SDKs · typed and battle-tested

Same tools,
your language.

Every ToolCenter endpoint is exposed through first-class SDKs — typed method signatures, automatic retries, structured errors. If your language isn't here, raw HTTP gets you everywhere in a curl.

js

Node.js

v1.1.0 · MIT
$ npm i toolcenter
import { ToolCenter } from 'toolcenter';

const tc = new ToolCenter({ apiKey: process.env.TOOLCENTER_KEY });

// Take a screenshot
const shot = await tc.screenshot.run({
  url:      'https://linear.app',
  fullPage: true,
  format:   'png',
});

console.log(shot.url);
Typed · Fetch-based · Retries GitHub →
py

Python

v1.1.0 · MIT
$ pip install toolcenter
from toolcenter import Client

tc = Client(api_key="tc_live_••••••")

# Audit a URL for accessibility
report = tc.accessibility.audit(
    url="https://stripe.com/pricing",
    standard="WCAG-2.2-AA",
)

print(f"Score: {report.score}/100")
Pydantic models · async support · Retries GitHub →
php

PHP

v1.0.0 · MIT
$ composer require toolcenter/sdk
use ToolCenter\Client;

$tc = new Client(getenv('TOOLCENTER_KEY'));

// Extract metadata
$meta = $tc->metadata->run([
    'url' => 'https://hey.com',
]);

echo $meta->title;
Guzzle-based · PSR-18 · Retries GitHub →
go

Go

coming soon
$ go get github.com/toolcenter-dev/go (soon)
import "github.com/toolcenter-dev/go"

tc := toolcenter.NewClient(os.Getenv("TOOLCENTER_KEY"))

// DNS lookup
res, err := tc.DNS(ctx, &toolcenter.DNSReq{
    Domain: "example.com",
    Type:   "MX",
})
context-aware · zero deps · Retries Request early access →
§ Or just curl it

No SDK for your stack? Fine.

Every endpoint is plain REST + JSON. Your language has a client library — use it. Bearer token in the header, JSON body in, JSON body out. We'll gladly publish more SDKs when demand justifies it.