Versions in this module Expand all Collapse all v0 v0.1.1 Jul 30, 2026 v0.1.0 Jul 22, 2026 Changes in this version + const DefaultUserAgent + const DefaultVoyagerBaseURL + const DefaultWebBaseURL + const GeoIDPlaceholder + const StatusSoftBlock + func ParseSinceSeconds(value string) (int, error) + type APIError struct + Body []byte + Challenge bool + Message string + StatusCode int + func (e *APIError) Error() string + type Bool bool + func (v *Bool) UnmarshalJSON(b []byte) error + type Client struct + DryRun bool + DryRunOut io.Writer + ShowToken bool + Verbose bool + VerboseOut io.Writer + func New(voyagerBase, webBase string, opts ...Option) *Client + func NewClientWithBaseURL(base string, opts ...Option) *Client + func (c *Client) Do(ctx context.Context, path string, q url.Values) (int, json.RawMessage, error) + func (c *Client) GetCompany(ctx context.Context, slug string) (json.RawMessage, error) + func (c *Client) GetJob(ctx context.Context, id string, now time.Time) (json.RawMessage, error) + func (c *Client) Pacer() *Pacer + func (c *Client) ResolveGeo(ctx context.Context, name string) ([]GeoHit, error) + func (c *Client) SearchJobs(ctx context.Context, f SearchFilters, start, count int) (*SearchResult, error) + func (c *Client) SearchJobsAll(ctx context.Context, f SearchFilters, count, limit int, all bool) ([]voyager.JobCard, error) + func (c *Client) VoyagerBaseURL() string + func (c *Client) WebBaseURL() string + type CookieFunc func(ctx context.Context) (liAt, jsessionID string, err error) + type GeoCache struct + func NewGeoCache(dir string) *GeoCache + func (g *GeoCache) Get(name string) (string, bool) + func (g *GeoCache) Put(name, geoID string) + type GeoHit struct + DisplayName string + ID string + type ID string + func (id *ID) UnmarshalJSON(b []byte) error + func (id ID) MarshalJSON() ([]byte, error) + func (id ID) String() string + type Int int64 + func (n *Int) UnmarshalJSON(b []byte) error + func (n Int) Int64() int64 + type Option func(*Client) + func WithCookies(f CookieFunc) Option + func WithDryRun(dry bool, out io.Writer) Option + func WithHTTPClient(h *http.Client) Option + func WithMaxRetries(n int) Option + func WithPacer(p *Pacer) Option + func WithUserAgent(ua string) Option + type Pacer struct + DailyCap int + MaxDelay time.Duration + MinDelay time.Duration + PerRunCap int + StatePath string + func DefaultPacer(statePath string) *Pacer + func (p *Pacer) ChargeDaily(now time.Time) error + func (p *Pacer) DailyRemaining(now time.Time) int + func (p *Pacer) Wait(ctx context.Context) error + type SearchFilters struct + Experience []string + GeoID string + JobType []string + Keywords string + Remote bool + SinceSecs int + type SearchResult struct + Raw json.RawMessage + type StringOrSlice []string + func (s *StringOrSlice) UnmarshalJSON(b []byte) error