@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
TypeScript
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>;
}