SDK
Coming soonGo 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-goWhat 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