UNPKG

@harvestapi/scraper

Version:

HarvestAPI provides LinkedIn data scraping tools for real-time, high-performance scraping at a low cost. API allows to search for Linkedin `jobs`, `companies`, `profiles`, and `posts` using a wide range of filters.

119 lines (118 loc) 5.58 kB
import { ScraperOptions } from '../base'; import { ApiItemResponse, ApiListResponse } from '../types'; import { BaseFetchParams, Company, CompanyShort, GetLinkedinCompanyParams, GetLinkedinJobParams, GetLinkedinPostCommentsParams, GetLinkedinPostReactionsParams, GetLinkedinProfileCommentsParams, GetLinkedInProfileParams, GetLinkedinProfileReactionsParams, Job, JobShort, PostComment, PostReaction, PostShort, Profile, ProfileShort, ScrapeLinkedinCompaniesParams, ScrapeLinkedinJobsParams, ScrapeLinkedinPostCommentsParams, ScrapeLinkedinPostReactionsParams, ScrapeLinkedinPostsParams, ScrapeLinkedinProfileCommentsParams, ScrapeLinkedinProfileReactionsParams, ScrapeLinkedinProfilesParams, ScrapeLinkedinSalesNavLeadsParams, SearchLinkedinCompaniesParams, SearchLinkedinJobsParams, SearchLinkedinPostsParams, SearchLinkedInProfilesParams, SearchLinkedInSalesNavLeadsParams } from './types'; export declare class LinkedinScraper { private options; private scraper; constructor(options: ScraperOptions); getProfile(params: BaseFetchParams & GetLinkedInProfileParams): Promise<ApiItemResponse<Profile>>; getProfileId(params: BaseFetchParams & { url?: string; publicIdentifier?: string; }): Promise<ApiItemResponse<{ id: string; }>>; searchProfileEmail({ profile, ...params }: BaseFetchParams & { profile: Partial<Profile>; }): Promise<ApiItemResponse<{ email?: string; }>>; searchProfiles(params: BaseFetchParams & SearchLinkedInProfilesParams): Promise<ApiListResponse<ProfileShort>>; getCompany(params: BaseFetchParams & GetLinkedinCompanyParams): Promise<ApiItemResponse<Company>>; searchCompanies(params: BaseFetchParams & SearchLinkedinCompaniesParams): Promise<ApiListResponse<CompanyShort>>; getJob(params: BaseFetchParams & GetLinkedinJobParams): Promise<ApiItemResponse<Job>>; searchJobs(params: BaseFetchParams & SearchLinkedinJobsParams): Promise<ApiListResponse<JobShort>>; searchPosts(params: BaseFetchParams & SearchLinkedinPostsParams): Promise<ApiListResponse<PostShort>>; getPostReactions(params: BaseFetchParams & GetLinkedinPostReactionsParams): Promise<ApiListResponse<PostReaction>>; getPostComments(params: BaseFetchParams & GetLinkedinPostCommentsParams): Promise<ApiListResponse<PostComment>>; getProfileComments(params: BaseFetchParams & GetLinkedinProfileCommentsParams): Promise<ApiListResponse<PostComment>>; getProfileReactions(params: BaseFetchParams & GetLinkedinProfileReactionsParams): Promise<ApiListResponse<PostReaction>>; scrapeJobs({ query, ...options }: ScrapeLinkedinJobsParams): Promise<{ pages: number; pagesSuccess: number; items: number; itemsSuccess: number; requests: number; requestsStartTime: Date; } | undefined>; scrapeCompanies({ query, ...options }: ScrapeLinkedinCompaniesParams): Promise<{ pages: number; pagesSuccess: number; items: number; itemsSuccess: number; requests: number; requestsStartTime: Date; } | undefined>; scrapeProfiles({ query, findEmail, ...options }: ScrapeLinkedinProfilesParams): Promise<{ pages: number; pagesSuccess: number; items: number; itemsSuccess: number; requests: number; requestsStartTime: Date; } | undefined>; scrapePosts({ query, ...options }: ScrapeLinkedinPostsParams): Promise<{ pages: number; pagesSuccess: number; items: number; itemsSuccess: number; requests: number; requestsStartTime: Date; } | undefined>; scrapePostReactions({ query, ...options }: ScrapeLinkedinPostReactionsParams): Promise<{ pages: number; pagesSuccess: number; items: number; itemsSuccess: number; requests: number; requestsStartTime: Date; } | undefined>; scrapePostComments({ query, ...options }: ScrapeLinkedinPostCommentsParams): Promise<{ pages: number; pagesSuccess: number; items: number; itemsSuccess: number; requests: number; requestsStartTime: Date; } | undefined>; scrapeProfileComments({ query, ...options }: ScrapeLinkedinProfileCommentsParams): Promise<{ pages: number; pagesSuccess: number; items: number; itemsSuccess: number; requests: number; requestsStartTime: Date; } | undefined>; scrapeProfileReactions({ query, ...options }: ScrapeLinkedinProfileReactionsParams): Promise<{ pages: number; pagesSuccess: number; items: number; itemsSuccess: number; requests: number; requestsStartTime: Date; } | undefined>; searchSalesNavigatorLeads(params: BaseFetchParams & SearchLinkedInSalesNavLeadsParams): Promise<ApiListResponse<ProfileShort>>; scrapeSalesNavigatorLeads({ query, findEmail, ...options }: ScrapeLinkedinSalesNavLeadsParams): Promise<{ pages: number; pagesSuccess: number; items: number; itemsSuccess: number; requests: number; requestsStartTime: Date; } | undefined>; getGroup(params: BaseFetchParams & { groupId?: string; url?: string; }): Promise<ApiItemResponse<{ name: string; url: string; }>>; searchGroups(params: BaseFetchParams & { search: string; page?: number; }): Promise<ApiListResponse<{ name: string; url: string; }>>; test(): Promise<any>; }