Syttra
SDK
Coming soon

Go SDK

Idiomatic Go. context.Context on every call. Channel-based iteration for streaming crawl results. No reflection, no surprises.

Not yet published. The Go client library lands alongside public launch. Beta users using Go can preview the API shape below and help us shape the final interface — email hello@syttra.com.

Install

$go get github.com/syttra/syttra-go

What the API will look like

Draft — subject to change based on beta feedback. The goal: one line to authenticate, one line to scrape, typed responses throughout.

go
package main

import (
    "context"
    "fmt"
    "os"

    "github.com/syttra/syttra-go"
)

func main() {
    ctx := context.Background()
    client := syttra.New(os.Getenv("SYTTRA_API_KEY"))

    // Single page
    job, err := client.Scrape(ctx, &syttra.ScrapeRequest{
        URL:    "https://example.com",
        Format: syttra.FormatMarkdown,
    })
    if err != nil {
        panic(err)
    }
    fmt.Println(job.Result.Content[:200])

    // Full-site crawl, iterate via channel
    crawl, err := client.Scrape(ctx, &syttra.ScrapeRequest{
        URL:      "https://docs.example.com",
        Mode:     syttra.ModeFull,
        MaxDepth: 3,
    })
    if err != nil {
        panic(err)
    }
    for page := range crawl.Pages(ctx) {
        fmt.Printf("%s — %d chars\n", page.URL, len(page.Content))
    }
}

Meanwhile — use the REST API

Everything the SDK will do, the REST API already does. Plain HTTP + JSON, works from any language.

Read the REST docs