Versions in this module Expand all Collapse all v1 v1.0.0 Feb 3, 2026 Changes in this version + const ErrCode2FAInvalid + const ErrCode2FARequired + const ErrCodeAccountLocked + const ErrCodeBadRequest + const ErrCodeConflict + const ErrCodeForbidden + const ErrCodeInternal + const ErrCodeMaintenance + const ErrCodeMethodNotAllowed + const ErrCodeNotFound + const ErrCodeRateLimit + const ErrCodeTokenExpired + const ErrCodeTokenInvalid + const ErrCodeUnauthorized + const ErrCodeUnprocessable + const ErrCodeValidation + var ErrEmptyQuery = errors.New("query text cannot be empty") + var ErrEngineDisabled = errors.New("engine is disabled") + var ErrEngineNotFound = errors.New("engine not found") + var ErrEngineRateLimit = errors.New("engine rate limit exceeded") + var ErrEngineTimeout = errors.New("engine request timed out") + var ErrEngineUnavailable = errors.New("engine is unavailable") + var ErrInvalidCategory = errors.New("invalid category") + var ErrInvalidConfig = errors.New("invalid configuration") + var ErrMissingConfig = errors.New("missing required configuration") + var ErrNoEngines = errors.New("no engines available") + var ErrNoResults = errors.New("no results found") + var ErrSearchTimeout = errors.New("search request timed out") + var ErrorCodeToHTTP = map[string]int + var HTTPToErrorCode = map[int]string + var ValidSortOrders = []SortOrder + func ErrorCodeFromHTTP(status int) string + func HTTPStatusCode(code string) int + func IsValidSortOrder(s SortOrder) bool + func StripHTML(s string) string + type Category string + const CategoryFiles + const CategoryGeneral + const CategoryIT + const CategoryImages + const CategoryMaps + const CategoryNews + const CategoryScience + const CategorySocial + const CategoryVideos + func AllCategories() []Category + func (c Category) IsValid() bool + func (c Category) String() string + type EngineConfig struct + Categories []string + DisplayName string + Enabled bool + Language string + MaxResults int + Name string + Priority int + RateLimit struct{ ... } + Settings map[string]interface{} + SupportsTor bool + Timeout int + UseTor bool + func NewEngineConfig(name string) *EngineConfig + func (ec *EngineConfig) GetMaxResults() int + func (ec *EngineConfig) GetPriority() int + func (ec *EngineConfig) GetTimeout() int + func (ec *EngineConfig) IsEnabled() bool + func (ec *EngineConfig) SupportsCategory(category Category) bool + type Query struct + Category Category + CleanedText string + DateAfter string + DateBefore string + Engines []string + ExactPhrases []string + ExactTerms string + ExcludeEngines []string + ExcludeSite string + ExcludeTerms []string + FileType string + FileTypes []string + ImageAspect string + ImageColor string + ImageSize string + ImageType string + InText string + InTitle string + InURL string + Language string + NewsSource string + Page int + ParsedOperators interface{} + PerPage int + Region string + SafeSearch int + Site string + SortBy SortOrder + Text string + TimeRange string + VideoLength string + VideoQuality string + func NewQuery(text string) *Query + func (q *Query) GetEffectiveText() string + func (q *Query) HasAdvancedFilters() bool + func (q *Query) HasMediaFilters() bool + func (q *Query) IsEmpty() bool + func (q *Query) Sanitize() + func (q *Query) Validate() error + type RSSChannel struct + Description string + Items []RSSItem + Language string + LastBuildDate string + Link string + Title string + type RSSFeed struct + Channel RSSChannel + Version string + XMLName xml.Name + type RSSItem struct + Author string + Description string + GUID string + Link string + PubDate string + Source string + Title string + type Result struct + Author string + Category Category + Content string + Domain string + DuplicateCount int + Duration int + Engine string + FileSize int64 + FileType string + ImageFormat string + ImageHeight int + ImageWidth int + Language string + Metadata map[string]interface{} + Popularity float64 + Position int + PublishedAt time.Time + Relevance float64 + Score float64 + Thumbnail string + Title string + URL string + ViewCount int64 + func (r *Result) Age() time.Duration + func (r *Result) ExtractDomain() string + func (r *Result) IsRecent(hours int) bool + func (r *Result) Sanitize() + type SearchResults struct + Category Category + Domains map[string]int + Engines []string + Languages map[string]int + Page int + PerPage int + Query string + Results []Result + SearchTime float64 + SortedBy SortOrder + Suggestions []string + TotalPages int + TotalResults int + func NewSearchResults(query string, category Category) *SearchResults + func (sr *SearchResults) AddResult(result Result) + func (sr *SearchResults) AddResults(results []Result) + func (sr *SearchResults) CalculateTotalPages() + func (sr *SearchResults) GetPage(page int) []Result + func (sr *SearchResults) ToAtom(w io.Writer, baseURL string) error + func (sr *SearchResults) ToCSV(w io.Writer) error + func (sr *SearchResults) ToJSON(w io.Writer, pretty bool) error + func (sr *SearchResults) ToRSS(w io.Writer, baseURL string) error + type SortOrder string + const SortDate + const SortDateAsc + const SortPopularity + const SortRandom + const SortRelevance