Versions in this module Expand all Collapse all v0 v0.2.0 Jun 14, 2026 v0.1.0 Jun 14, 2026 Changes in this version + const BaseURL + const DefaultCacheTTL + const DefaultDelay + const DefaultRetries + const DefaultTimeout + const DefaultWorkers + const GuestJobDetail + const GuestJobsSearch + const KindCompany + const KindJob + const KindPost + const KindProfile + const KindSchool + const KindUnknown + var ErrBlocked = errors.New("blocked: LinkedIn refused the page (sign-in wall or bot block)") + var ErrNotFound = errors.New("not found") + var ErrRateLimited = errors.New("rate limited (HTTP 429)") + func CompanyURL(slug string) string + func DefaultDataDir() string + func DocFromBytes(body []byte) (*goquery.Document, error) + func JobURL(id string) string + func LoadCookies(path string) ([]*http.Cookie, error) + func NormalizeCompanySlug(in string) string + func NormalizeJobID(in string) string + func NormalizeProfileSlug(in string) string + func ProfileURL(slug string) string + func SchoolURL(slug string) string + type Affiliation struct + EndDate int + Name string + Slug string + StartDate int + URL string + type Article struct + Author string + AuthorURL string + Comments int64 + FetchedAt time.Time + ImageURL string + Modified string + Published string + Reactions int64 + Title string + URL string + type Cache struct + func NewCache(cfg Config) *Cache + func (c *Cache) Clear() error + func (c *Cache) Get(url string) ([]byte, bool) + func (c *Cache) Path(url string) string + func (c *Cache) Put(url string, body []byte) error + func (c *Cache) Stats() (files int, bytes int64, err error) + type Client struct + func NewClient(cfg Config) *Client + func NewClientWithCookies(cfg Config, cookies []*http.Cookie) (*Client, error) + func (c *Client) CachingFetch(ctx context.Context, cache *Cache, cfg Config, url string) ([]byte, error) + func (c *Client) CachingFetchHTML(ctx context.Context, cache *Cache, cfg Config, url string) (*goquery.Document, error) + func (c *Client) Fetch(ctx context.Context, rawurl string) ([]byte, int, error) + func (c *Client) FetchCompany(ctx context.Context, cache *Cache, cfg Config, in string) (*Company, error) + func (c *Client) FetchCompanyAffiliated(ctx context.Context, cache *Cache, cfg Config, in string) ([]OrgRef, error) + func (c *Client) FetchCompanyLocations(ctx context.Context, cache *Cache, cfg Config, in string) ([]Location, error) + func (c *Client) FetchCompanyPosts(ctx context.Context, cache *Cache, cfg Config, in string) ([]Post, error) + func (c *Client) FetchHTML(ctx context.Context, rawurl string) (*goquery.Document, int, error) + func (c *Client) FetchJob(ctx context.Context, cache *Cache, cfg Config, id string) (*Job, error) + func (c *Client) FetchPost(ctx context.Context, cache *Cache, cfg Config, in string) (*Post, error) + func (c *Client) FetchProfile(ctx context.Context, cache *Cache, cfg Config, in string) (*Profile, error) + func (c *Client) FetchProfileArticles(ctx context.Context, cache *Cache, cfg Config, in string) ([]Article, error) + func (c *Client) FetchProfilePosts(ctx context.Context, cache *Cache, cfg Config, in string) ([]Post, error) + func (c *Client) SearchJobs(ctx context.Context, cache *Cache, cfg Config, opts JobSearchOptions, ...) ([]JobStub, error) + type Company struct + CompanySize string + CompanyType string + Country string + Description string + Employees int64 + FetchedAt time.Time + Followers int64 + Founded string + FundingRounds int + FundingURL string + Headquarters string + Industry string + Locality string + LogoURL string + Name string + PostalCode string + Region string + Slogan string + Slug string + Specialties string + Street string + URL string + Website string + func ParseCompany(doc *goquery.Document, slug, pageURL string) (*Company, error) + type Config struct + CacheTTL time.Duration + CookiePath string + DataDir string + Delay time.Duration + NoCache bool + Refresh bool + Retries int + Timeout time.Duration + Workers int + func DefaultConfig() Config + func (c Config) CacheDir() string + func (c Config) StorePath() string + type Job struct + Applicants int + Company string + CompanyLogo string + CompanySlug string + CompanyURL string + Description string + EmploymentType string + FetchedAt time.Time + Industries string + JobFunction string + JobID string + Location string + Posted string + Seniority string + Title string + URL string + type JobSearchOptions struct + Experience string + GeoID string + JobType string + Keywords string + Location string + Posted string + Remote string + Sort string + type JobStub struct + Benefits string + Company string + CompanyLogo string + CompanySlug string + CompanyURL string + FetchedAt time.Time + JobID string + Location string + Posted string + Title string + URL string + type Location struct + Address string + FetchedAt time.Time + Primary bool + Slug string + Street string + URL string + func ParseCompanyLocations(doc *goquery.Document, slug, pageURL string, now time.Time) []Location + type OrgRef struct + FetchedAt time.Time + Industry string + Location string + Name string + Slug string + URL string + func ParseCompanyAffiliated(doc *goquery.Document, now time.Time) []OrgRef + type Post struct + Author string + AuthorURL string + Comments int64 + FetchedAt time.Time + ImageURL string + Likes int64 + Modified string + Published string + Text string + Title string + URL string + func ParsePost(doc *goquery.Document, pageURL string) (*Post, error) + type Profile struct + AlumniOf []Affiliation + Awards []string + Country string + Description string + FetchedAt time.Time + Followers int64 + Headline string + ImageURL string + JobTitles []string + Languages []string + Location string + MemberOf []Affiliation + Name string + SameAs []string + Slug string + URL string + WorksFor []Affiliation + func ParseProfile(doc *goquery.Document, slug, pageURL string) (*Profile, error) + type Ref struct + ID string + Input string + Kind string + URL string + func Classify(input string) Ref + type Store struct + func OpenStore(path string) (*Store, error) + func (s *Store) Close() error + func (s *Store) CountsByKind() (map[string]int, error) + func (s *Store) Each(kind string, fn func(id string, data []byte) error) error + func (s *Store) Get(kind, id string) ([]byte, error) + func (s *Store) Info() (string, error) + func (s *Store) Put(kind, id, url string, record any) error