SDKs
Build tax compliance workflows faster with TaxStreem SDKs. Get started with ready-to-use client libraries for Node.js, Python, Go, and Java — all wrapping the same TaxStreem REST API.
These libraries are open source. Report issues or ask questions via each GitHub repository.
Select an SDK
TaxStreem provides official SDKs for the following languages:
Currently maintained libraries
TaxStreem provides official SDKs for the TaxStreem REST API in the following languages:
Node.js
Official TaxStreem SDK for Node.js and TypeScript. Works with CommonJS and ESM.
Install
npm install @taxstreem/taxstreem-nodeQuick example — Numens transaction classification
import TaxStreem from '@taxstreem/taxstreem-node';
const client = new TaxStreem({ apiKey: 'txsm_test_SK...' });
const result = await client.numens.processTaxTreatment({
tenantId: 'tenant_abc',
clientId: 'client_001',
businessName: "Kev's Bakery Ltd",
tin: '12345678-0001',
state: 'Lagos',
country: 'Nigeria',
transactionId: 'TXN-001',
transactionType: 'purchase',
vendorName: 'Acme Ltd',
description: 'Consultancy services',
amount: 250000,
currency: 'NGN',
date: '2026-03-20',
});Python
Official TaxStreem SDK for Python. Supports async/await via asyncio and httpx.
Install
pip install taxstreemQuick example — Numens transaction classification
import taxstreem
client = taxstreem.TaxStreem(api_key="txsm_test_SK...")
result = client.numens.process_tax_treatment(
tenant_id="tenant_abc",
client_id="client_001",
business_name="Kev's Bakery Ltd",
tin="12345678-0001",
state="Lagos",
country="Nigeria",
transaction_id="TXN-001",
transaction_type="purchase",
vendor_name="Acme Ltd",
description="Consultancy services",
amount=250000,
currency="NGN",
date="2026-03-20",
)Java
Official TaxStreem SDK for Java. Supports VAT, WHT, and Numen tax treatment with built-in HMAC-SHA256 signing and AES-256-GCM encryption.
Install
implementation 'com.taxstreem:taxstreem-java-sdk:1.0'Quick example — Numens transaction classification
import com.taxstreem.TaxStreemClient;
import com.taxstreem.model.SingleBusinessTransactionRequest;
public class Example {
public static void main(String[] args) throws Exception {
TaxStreemClient client = new TaxStreemClient("txsm_test_SK...");
SingleBusinessTransactionRequest request = SingleBusinessTransactionRequest.builder()
.tenantId("tenant_abc")
.clientId("client_001")
.businessName("Kev's Bakery Ltd")
.tin("12345678-0001")
.state("Lagos")
.country("Nigeria")
.transactionId("TXN-001")
.transactionType("purchase")
.vendorName("Acme Ltd")
.description("Consultancy services")
.amount(250000.0)
.currency("NGN")
.date("2026-03-20")
.build();
var result = client.numens().processTaxTreatment(request);
}
}Go
Official TaxStreem SDK for Go. Idiomatic Go with full type safety and context support.
Install
go get github.com/TaxStreem/taxstreem-goQuick example — Numens transaction classification
package main
import (
"context"
taxstreem "github.com/TaxStreem/taxstreem-go"
)
func main() {
client := taxstreem.NewClient("txsm_test_SK...")
result, err := client.Numens.ProcessTaxTreatment(context.Background(),
&taxstreem.ProcessTaxTreatmentParams{
TenantId: "tenant_abc",
ClientId: "client_001",
BusinessName: taxstreem.String("Kev's Bakery Ltd"),
Tin: "12345678-0001",
State: "Lagos",
Country: "Nigeria",
TransactionId: "TXN-001",
TransactionType: "purchase",
VendorName: taxstreem.String("Acme Ltd"),
Description: "Consultancy services",
Amount: 250000,
Currency: "NGN",
Date: "2026-03-20",
},
)
_ = result
_ = err
}Ready to integrate?
Browse the full API reference or follow the integration guide to make your first live call.