scavio 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -16
- package/dist/index.cjs +51 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +99 -106
- package/dist/index.d.ts +99 -106
- package/dist/index.js +51 -15
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -205,29 +205,36 @@ await client.x.trending({ country: "UnitedStates" });
|
|
|
205
205
|
### LinkedIn
|
|
206
206
|
|
|
207
207
|
```typescript
|
|
208
|
-
// Person profile, about, posts
|
|
208
|
+
// Person profile, about, and posts. A handle or a full LinkedIn URL works
|
|
209
|
+
// anywhere a reference is taken.
|
|
209
210
|
await client.linkedin.person({ username: "williamhgates" });
|
|
210
|
-
await client.linkedin.personAbout({
|
|
211
|
+
await client.linkedin.personAbout({ url: "https://www.linkedin.com/in/williamhgates/" });
|
|
211
212
|
await client.linkedin.personPosts({ username: "williamhgates" });
|
|
212
|
-
await client.linkedin.personContact({ username: "williamhgates" });
|
|
213
213
|
|
|
214
|
-
// Company profile
|
|
214
|
+
// Company profile and posts
|
|
215
215
|
await client.linkedin.company({ company: "microsoft" });
|
|
216
216
|
await client.linkedin.companyPosts({ company: "microsoft" });
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
await client.linkedin.
|
|
224
|
-
|
|
225
|
-
// Job, post, and post comments
|
|
226
|
-
await client.linkedin.job({ job_id: "3900000000" });
|
|
227
|
-
await client.linkedin.post({ post_id: "7486820977411145728" });
|
|
228
|
-
await client.linkedin.postComments({ post_id: "7486820977411145728", sort_order: "relevance" });
|
|
217
|
+
|
|
218
|
+
// Jobs: search, then pull detail for one listing
|
|
219
|
+
await client.linkedin.searchJobs({ search: "software engineer", location: "United States" });
|
|
220
|
+
await client.linkedin.job({ job_id: "4415427228" });
|
|
221
|
+
|
|
222
|
+
// A post and its comments (10 per page)
|
|
223
|
+
await client.linkedin.post({ post_id: "7488618410256523265" });
|
|
224
|
+
await client.linkedin.postComments({ post_id: "7488618410256523265", page: 1 });
|
|
229
225
|
```
|
|
230
226
|
|
|
227
|
+
All LinkedIn endpoints cost 1 credit.
|
|
228
|
+
|
|
229
|
+
> **Retired endpoints.** The upstream provider withdrew the datasets behind
|
|
230
|
+
> `personContact`, `companyPeople`, `companyJobs`, `searchPeople` and
|
|
231
|
+
> `searchPosts`. They remain callable but always return HTTP 410 and are never
|
|
232
|
+
> billed. `company()` returns `featured_employees` (a small sample of staff), and
|
|
233
|
+
> `searchJobs()` with a company name substitutes for `companyJobs()`.
|
|
234
|
+
>
|
|
235
|
+
> `personPosts` and `companyPosts` return up to 50 posts; the provider exposes no
|
|
236
|
+
> further pages, so those endpoints no longer take a cursor.
|
|
237
|
+
|
|
231
238
|
### TikTok
|
|
232
239
|
|
|
233
240
|
```typescript
|
package/dist/index.cjs
CHANGED
|
@@ -756,48 +756,84 @@ var LinkedInNamespace = class {
|
|
|
756
756
|
this.client = client;
|
|
757
757
|
}
|
|
758
758
|
client;
|
|
759
|
+
/** Full profile: about text, experience, education, honours and links. */
|
|
759
760
|
async person(options) {
|
|
760
761
|
return this.client._post("/api/v1/linkedin/person", options);
|
|
761
762
|
}
|
|
763
|
+
/** The about-only slice of the profile payload. */
|
|
762
764
|
async personAbout(options) {
|
|
763
765
|
return this.client._post("/api/v1/linkedin/person/about", options);
|
|
764
766
|
}
|
|
767
|
+
/**
|
|
768
|
+
* A member's posts, or the posts they commented on or reacted to via `type`.
|
|
769
|
+
* 50 per page; pass the previous response's `next_cursor` to advance.
|
|
770
|
+
*/
|
|
765
771
|
async personPosts(options) {
|
|
766
772
|
return this.client._post("/api/v1/linkedin/person/posts", options);
|
|
767
773
|
}
|
|
768
|
-
|
|
769
|
-
return this.client._post("/api/v1/linkedin/person/contact", options);
|
|
770
|
-
}
|
|
774
|
+
/** Company profile, including locations and featured employees. */
|
|
771
775
|
async company(options) {
|
|
772
776
|
return this.client._post("/api/v1/linkedin/company", options);
|
|
773
777
|
}
|
|
778
|
+
/** Recent company posts, 50 per page; advance with `next_cursor`. */
|
|
774
779
|
async companyPosts(options) {
|
|
775
780
|
return this.client._post("/api/v1/linkedin/company/posts", options);
|
|
776
781
|
}
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
return this.client._post("/api/v1/linkedin/company/jobs", options);
|
|
782
|
-
}
|
|
783
|
-
async searchPeople(options) {
|
|
784
|
-
return this.client._post("/api/v1/linkedin/search/people", options);
|
|
785
|
-
}
|
|
782
|
+
/**
|
|
783
|
+
* Job search, 25 per page; advance with `next_cursor`. Upstream rotates its
|
|
784
|
+
* result set, so pages overlap slightly - dedupe by job id.
|
|
785
|
+
*/
|
|
786
786
|
async searchJobs(options) {
|
|
787
787
|
return this.client._post("/api/v1/linkedin/search/jobs", options);
|
|
788
788
|
}
|
|
789
|
-
|
|
790
|
-
return this.client._post("/api/v1/linkedin/search/posts", options);
|
|
791
|
-
}
|
|
789
|
+
/** Full detail for one job listing, including the hiring company. */
|
|
792
790
|
async job(options) {
|
|
793
791
|
return this.client._post("/api/v1/linkedin/job", options);
|
|
794
792
|
}
|
|
793
|
+
/** Full detail for one post, including its top visible comments. */
|
|
795
794
|
async post(options) {
|
|
796
795
|
return this.client._post("/api/v1/linkedin/post", options);
|
|
797
796
|
}
|
|
797
|
+
/** Comments with their replies. Page size varies - keep paging until empty. */
|
|
798
798
|
async postComments(options) {
|
|
799
799
|
return this.client._post("/api/v1/linkedin/post/comments", options);
|
|
800
800
|
}
|
|
801
|
+
/**
|
|
802
|
+
* @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
|
|
803
|
+
* never billed.
|
|
804
|
+
*/
|
|
805
|
+
async personContact(options) {
|
|
806
|
+
return this.client._post("/api/v1/linkedin/person/contact", options);
|
|
807
|
+
}
|
|
808
|
+
/**
|
|
809
|
+
* @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
|
|
810
|
+
* never billed. `company()` returns `featured_employees`, a small sample of
|
|
811
|
+
* staff profiles.
|
|
812
|
+
*/
|
|
813
|
+
async companyPeople(options) {
|
|
814
|
+
return this.client._post("/api/v1/linkedin/company/people", options);
|
|
815
|
+
}
|
|
816
|
+
/**
|
|
817
|
+
* @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
|
|
818
|
+
* never billed. Use `searchJobs()` with the company name as the search term.
|
|
819
|
+
*/
|
|
820
|
+
async companyJobs(options) {
|
|
821
|
+
return this.client._post("/api/v1/linkedin/company/jobs", options);
|
|
822
|
+
}
|
|
823
|
+
/**
|
|
824
|
+
* @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
|
|
825
|
+
* never billed.
|
|
826
|
+
*/
|
|
827
|
+
async searchPeople(options) {
|
|
828
|
+
return this.client._post("/api/v1/linkedin/search/people", options);
|
|
829
|
+
}
|
|
830
|
+
/**
|
|
831
|
+
* @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
|
|
832
|
+
* never billed.
|
|
833
|
+
*/
|
|
834
|
+
async searchPosts(options) {
|
|
835
|
+
return this.client._post("/api/v1/linkedin/search/posts", options);
|
|
836
|
+
}
|
|
801
837
|
};
|
|
802
838
|
|
|
803
839
|
// src/client.ts
|