Quickstart
This 5-minute quickstart walks you through installing the SDK, authenticating, and hitting all four verification endpoints. By the end you will understand the SignalStack response format and trust scoring model.
Prerequisites
- A SignalStack account (sign up free)
- An API key from the dashboard
- Python 3.9+ or Node.js 18+ (or just cURL)
1. Install the SDK
Code
# Python
pip install signalstack
# TypeScript
npm install @signalstack/sdk2. Initialize the client
Code
# Python
import signalstack
client = signalstack.SignalStack(
api_key="ssk_live_YOUR_API_KEY"
)
# TypeScript
{`import { SignalStack } from "@signalstack/sdk"
const client = new SignalStack({
apiKey: "ssk_live_YOUR_API_KEY",
})`}3. Verify a business
Check if a company is registered and in good standing:
Code
# Python
result = client.verify.business(
company_name="Acme Corp",
jurisdiction="us_de",
officers=True,
)
print(f"Trust score: {result.trust_score}")
print(f"Status: {result.status}") # "active", "dissolved", etc.
print(f"Officers: {result.officers}")
{[
'# TypeScript',
'const result = await client.verify.business({',
' companyName: "Acme Corp",',
' jurisdiction: "us_de",',
' officers: true,',
'})',
'',
'console.log(`Trust score: ${result.trustScore}`)',
'console.log(`Status: ${result.status}`)',
].join('
')}4. Analyze a document
Detect AI-generated or manipulated content:
Code
# Python
from signalstack.types import DocumentSource
result = client.verify.document(
source=DocumentSource.URL,
content="https://example.com/report.pdf",
)
print(f"AI probability: {result.ai_generated_probability}")
print(f"Manipulation: {result.manipulation_flags}")
# TypeScript
import { DocumentSource } from "@signalstack/sdk"
const result = await client.verify.document({
source: DocumentSource.URL,
content: "https://example.com/report.pdf",
})
console.log(`AI probability: ${result.aiGeneratedProbability}`)5. Verify media provenance
Trace the origin and authenticity of an image:
Code
# Python
result = client.verify.media(
url="https://example.com/photo.jpg",
check_deepfakes=True,
)
print(f"Authenticity: {result.authenticity}")
print(f"Deepfake score: {result.deepfake_score}")
print(f"Source: {result.provenance_source}")
# TypeScript
const result = await client.verify.media({
url: "https://example.com/photo.jpg",
checkDeepfakes: true,
})
console.log(`Authenticity: ${result.authenticity}`)6. Verify a claim
Fact-check a statement against authoritative sources:
Code
# Python
result = client.verify.claim(
claim="Water boils at 100°C at sea level",
sources=["web", "wikipedia", "semantic_scholar"],
)
print(f"Trust score: {result.trust_score}")
print(f"Verdict: {result.verdict}")
# TypeScript
const result = await client.verify.claim({
claim: "Water boils at 100°C at sea level",
sources: ["web", "wikipedia", "semantic_scholar"],
})
console.log(`Trust score: ${result.trustScore}`)Response format
Every endpoint returns a consistent envelope:
Code
{
"id": "vrf_d1a2b3c4e5f6",
"request_type": "claim",
"trust_score": 0.97,
"verdict": "true",
"confidence": 0.97,
"evidence": [
{
"source": "Wikipedia",
"url": "https://en.wikipedia.org/wiki/Boiling_point",
"snippet": "At sea level, water boils at 100 °C (212 °F).",
"supports_claim": true,
"authority_score": 0.92,
"retrieved_at": "2025-02-01T12:00:00Z"
}
],
"dimensions": {
"source_authority": 0.92,
"cross_reference": 0.95,
"recency": 1.0,
"llm_analysis": 0.98
},
"latency_ms": 142,
"credits_used": 1
}Using cURL
Code
curl -X POST https://signal-stack-ten.vercel.app/v1/verify/claim -H "Authorization: Bearer $SIGNALSTACK_API_KEY" -H "Content-Type: application/json" -d '{
"claim": "The Great Wall of China is visible from space",
"sources": ["web", "wikipedia"]
}' | jq .Next steps
- Read Authentication for API key security best practices
- Learn about Trust Scoring dimensions
- Set up Webhooks for async verification
- Explore the Full API Reference