katsau SDK
Official TypeScript/JavaScript SDK for the katsau API.
katsau (Finnish): Preview, Overview
Installation
npm install katsauQuick Start
import { katsau } from 'katsau';
const api = new katsau('ks_live_your_api_key');
// Extract metadata
const data = await api.extract('https://github.com');
console.log(data.title, data.image);
// Validate OG tags
const validation = await api.validate('https://example.com');
console.log(`Score: ${validation.score}/100, Grade: ${validation.grade}`);
// Detect technologies
const tech = await api.tech('https://vercel.com');
console.log(tech.technologies.map(t => t.name));
// Classify content
const classified = await api.classify('https://techcrunch.com');
console.log(classified.classification.primary_category);Configuration
// Simple initialization
const api = new katsau('ks_live_xxx');
// With options
const api = new katsau({
apiKey: 'ks_live_xxx',
baseUrl: 'https://api.katsau.com', // optional
timeout: 30000, // optional, default 30s
});Available Methods
extract(url)Extract metadata from a URL
validate(url)Validate OG tags and get quality score
tech(url)Detect technologies used
classify(url, opts)Classify content and extract topics
preview(url, opts)Generate multi-platform previews
favicon(url, opts)Get favicon for a URL
screenshot(url, opts)Get screenshot URL
screenshotPresets()Get available viewport presets
Method Examples
extract(url)
const data = await api.extract('https://github.com');
// Returns: { url, title, description, image, open_graph, twitter, meta, icons }validate(url)
const validation = await api.validate('https://example.com');
// Returns: { url, valid, score, grade, checks, warnings, recommendations }tech(url)
const tech = await api.tech('https://vercel.com');
// Returns: { url, technologies, categories, summary }classify(url, options)
const classified = await api.classify('https://techcrunch.com', {
includeEntities: true,
includeSentiment: true,
});
// Returns: { url, content_type, classification, topics, language, reading_time, publish_info }preview(url, options)
const previews = await api.preview('https://stripe.com', {
platforms: ['twitter', 'facebook', 'linkedin'],
});
// Returns: { url, previews: { twitter, facebook, linkedin } }screenshot(url, options)
const screenshot = await api.screenshot('https://github.com', {
width: 1200,
height: 630,
format: 'png',
darkMode: true,
});
// Returns: { url } // CDN URL of the screenshotError Handling
import { katsau, katsauError } from 'katsau';
try {
const data = await api.extract('https://invalid-url');
} catch (error) {
if (error instanceof katsauError) {
console.error(`Error ${error.code}: ${error.message}`);
console.error(`Request ID: ${error.requestId}`);
}
}TypeScript Support
Full TypeScript support with all types exported:
import {
katsau,
katsauConfig,
ExtractData,
ValidateData,
TechData,
ClassifyData,
PreviewData,
FaviconData,
katsauError,
} from 'katsau';REST API (No SDK)
You can also use the API directly with any HTTP client:
curl "https://api.katsau.com/v1/extract?url=https://github.com" \
-H "Authorization: Bearer ks_live_your_api_key"