getanyapi 0.91.16__tar.gz → 0.92.0__tar.gz
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.
- {getanyapi-0.91.16 → getanyapi-0.92.0}/PKG-INFO +1 -1
- {getanyapi-0.91.16 → getanyapi-0.92.0}/pyproject.toml +1 -1
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/__init__.py +1 -1
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/instagram.py +2 -2
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/linkedin.py +116 -2
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/twitter.py +2 -2
- {getanyapi-0.91.16 → getanyapi-0.92.0}/.gitignore +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/README.md +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/_account.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/_async_client.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/_client.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/_errors.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/_idempotency.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/_pagination.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/_transport.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/discovery_types.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/__init__.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/ahrefs.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/airbnb.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/alibaba.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/amazon.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/apollo.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/appstore.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/bluesky.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/booking.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/capterra.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/chatgpt.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/coinmarketcap.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/company.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/company_enrichment.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/company_identify.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/company_search.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/congress.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/contact_enrichment.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/douyin.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/ebay.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/email.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/email_finding.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/email_verification.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/facebook.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/fiverr.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/g2.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/gemini.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/github.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/glassdoor.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/google.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/google_ads.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/google_finance.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/google_hotels.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/google_shopping.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/hackernews.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/indeed.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/job_search.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/maps.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/mobile_phone.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/naver.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/nextdoor.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/people_search.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/perplexity.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/person.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/person_enrichment.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/pexels.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/pinterest.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/playstore.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/polymarket.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/property_records.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/realtor.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/reddit.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/redfin.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/rednote.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/sec.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/semrush.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/seo.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/similarweb.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/snapchat.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/social.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/spotify.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/substack.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/technographics.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/threads.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/tiktok.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/tiktok_shop.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/tripadvisor.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/trustpilot.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/truthsocial.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/unsplash.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/upwork.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/walmart.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/web.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/weibo.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/yahoo_finance.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/yelp.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/youtube.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/zhihu.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/platforms/zillow.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/py.typed +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/src/getanyapi/types.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/tests/conftest.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/tests/test_account.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/tests/test_client.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/tests/test_durable_requests.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/tests/test_envelope.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/tests/test_errors.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/tests/test_fixture_roundtrip.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/tests/test_fixture_sweep.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/tests/test_not_found_reason.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/tests/test_pagination.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/tests/test_transport.py +0 -0
- {getanyapi-0.91.16 → getanyapi-0.92.0}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: getanyapi
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.92.0
|
|
4
4
|
Summary: Official typed Python SDK for AnyAPI: any API, one wallet, USD, no subscriptions.
|
|
5
5
|
Project-URL: Homepage, https://getanyapi.com
|
|
6
6
|
Project-URL: Documentation, https://getanyapi.com/docs
|
|
@@ -3108,7 +3108,7 @@ class InstagramNamespace:
|
|
|
3108
3108
|
instagram.hashtag_top_posts; for older relevance-ranked results use
|
|
3109
3109
|
instagram.search_hashtag.
|
|
3110
3110
|
|
|
3111
|
-
Price: $0.
|
|
3111
|
+
Price: $0.0012 per request.
|
|
3112
3112
|
|
|
3113
3113
|
Example:
|
|
3114
3114
|
res = client.instagram.hashtag_recent_posts(hashtag="skincare")
|
|
@@ -4282,7 +4282,7 @@ class AsyncInstagramNamespace:
|
|
|
4282
4282
|
instagram.hashtag_top_posts; for older relevance-ranked results use
|
|
4283
4283
|
instagram.search_hashtag.
|
|
4284
4284
|
|
|
4285
|
-
Price: $0.
|
|
4285
|
+
Price: $0.0012 per request.
|
|
4286
4286
|
|
|
4287
4287
|
Example:
|
|
4288
4288
|
res = client.instagram.hashtag_recent_posts(hashtag="skincare")
|
|
@@ -457,6 +457,8 @@ class LinkedinProfilePostsFullInput(TypedDict, total=False):
|
|
|
457
457
|
"""Optional, default true. When false, only the sources listed in `source` may serve; the request is refused with no charge if none of them can. When true, the listed sources are tried first and any other source may serve after them, at the normal price. Default: true."""
|
|
458
458
|
contextCountry: NotRequired[Literal["any", "US", "GB", "DE", "FR"]]
|
|
459
459
|
"""Regional LinkedIn context used when retrieving posts."""
|
|
460
|
+
cursor: NotRequired[str]
|
|
461
|
+
"""Pagination cursor from a previous response's nextCursor."""
|
|
460
462
|
ignoreSources: NotRequired[list[str]]
|
|
461
463
|
"""Optional. Source ids to skip for this request, taken from this endpoint's `lanes[].source.id`. The cheapest remaining source serves and the price is that of the dearest remaining source. An id that does not serve this endpoint, or that is also in `source`, is rejected as invalid input with no charge; skipping every source is rejected the same way."""
|
|
462
464
|
includeQuotePosts: NotRequired[bool]
|
|
@@ -464,7 +466,7 @@ class LinkedinProfilePostsFullInput(TypedDict, total=False):
|
|
|
464
466
|
includeReposts: NotRequired[bool]
|
|
465
467
|
"""Whether to include reposts that share content without added commentary. Default: true."""
|
|
466
468
|
limit: NotRequired[int]
|
|
467
|
-
"""
|
|
469
|
+
"""Most posts to return (1-100, default 10). Ignored on sources that page: each call returns one full page of 50 posts; follow nextCursor for more. Sources that cannot page return up to `limit` posts in one call with no nextCursor. Range: 1 to 100. Default: 10."""
|
|
468
470
|
postedLimit: NotRequired[
|
|
469
471
|
Literal["any", "1h", "24h", "week", "month", "3months", "6months", "year"]
|
|
470
472
|
]
|
|
@@ -473,6 +475,8 @@ class LinkedinProfilePostsFullInput(TypedDict, total=False):
|
|
|
473
475
|
"""Only return posts published on or after this date or timestamp, using a JavaScript-compatible date-time string."""
|
|
474
476
|
preferLatencyUnderMs: NotRequired[int]
|
|
475
477
|
"""Optional; omit it and routing is unchanged, with the cheapest source serving. Prefer sources whose typical response time (median over the trailing 30 days, as published on this endpoint's lane health) is under this many milliseconds; among those, the cheapest serves. This can raise your price: when the cheapest source misses the target, a faster and dearer one serves, and you are quoted and charged its price. If no source is that fast the request is still served, by whichever source offers the best speed for its price - it is never refused for being slow. Sources we have not timed are tried last. This is a preference, not a guarantee: the median describes past requests and is not a ceiling on this one, and it excludes any wait this request itself asks for. On a paginated walk it applies to the first page only: later pages stay with the source that page chose, at the price it was quoted. Minimum: 1."""
|
|
478
|
+
requireFields: NotRequired[list[Literal["nextCursor"]]]
|
|
479
|
+
"""Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `nextCursor`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a profile that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge. On a paginated walk it applies to the first page only; later pages stay with the source that page chose, at the price it was quoted."""
|
|
476
480
|
source: NotRequired[list[str]]
|
|
477
481
|
"""Optional. Source ids to prefer, in order, taken from this endpoint's `lanes[].source.id` in /catalog or /apis. Omit it and the cheapest source serves, with automatic failover. Listed sources are tried first in the order given, then the others, unless `allowFallbacks` is false. A single source with `allowFallbacks` false is served only by that source at its price, quoted and charged exactly, with no failover. The price is that of the dearest source that may serve. An id that does not serve this endpoint is rejected as invalid input with no charge; a listed source that is not serving right now is refused with no charge, so omit `source` to be served by another. On a paginated walk, later pages must include the source that served page one, or omit `source`."""
|
|
478
482
|
url: Required[str]
|
|
@@ -484,12 +488,16 @@ class LinkedinProfilePostsThinInput(TypedDict, total=False):
|
|
|
484
488
|
|
|
485
489
|
allowFallbacks: NotRequired[bool]
|
|
486
490
|
"""Optional, default true. When false, only the sources listed in `source` may serve; the request is refused with no charge if none of them can. When true, the listed sources are tried first and any other source may serve after them, at the normal price. Default: true."""
|
|
491
|
+
cursor: NotRequired[str]
|
|
492
|
+
"""Pagination cursor from a previous response's nextCursor."""
|
|
487
493
|
ignoreSources: NotRequired[list[str]]
|
|
488
494
|
"""Optional. Source ids to skip for this request, taken from this endpoint's `lanes[].source.id`. The cheapest remaining source serves and the price is that of the dearest remaining source. An id that does not serve this endpoint, or that is also in `source`, is rejected as invalid input with no charge; skipping every source is rejected the same way."""
|
|
489
495
|
limit: NotRequired[int]
|
|
490
|
-
"""
|
|
496
|
+
"""Most posts to return (10-100, default 10). Ignored on sources that page: each call returns one full page of 50 posts; follow nextCursor for more. Sources that cannot page return up to `limit` posts in one call with no nextCursor. Range: 10 to 100. Default: 10."""
|
|
491
497
|
preferLatencyUnderMs: NotRequired[int]
|
|
492
498
|
"""Optional; omit it and routing is unchanged, with the cheapest source serving. Prefer sources whose typical response time (median over the trailing 30 days, as published on this endpoint's lane health) is under this many milliseconds; among those, the cheapest serves. This can raise your price: when the cheapest source misses the target, a faster and dearer one serves, and you are quoted and charged its price. If no source is that fast the request is still served, by whichever source offers the best speed for its price - it is never refused for being slow. Sources we have not timed are tried last. This is a preference, not a guarantee: the median describes past requests and is not a ceiling on this one, and it excludes any wait this request itself asks for. On a paginated walk it applies to the first page only: later pages stay with the source that page chose, at the price it was quoted. Minimum: 1."""
|
|
499
|
+
requireFields: NotRequired[list[Literal["nextCursor"]]]
|
|
500
|
+
"""Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `nextCursor`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a profile that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge. On a paginated walk it applies to the first page only; later pages stay with the source that page chose, at the price it was quoted."""
|
|
493
501
|
source: NotRequired[list[str]]
|
|
494
502
|
"""Optional. Source ids to prefer, in order, taken from this endpoint's `lanes[].source.id` in /catalog or /apis. Omit it and the cheapest source serves, with automatic failover. Listed sources are tried first in the order given, then the others, unless `allowFallbacks` is false. A single source with `allowFallbacks` false is served only by that source at its price, quoted and charged exactly, with no failover. The price is that of the dearest source that may serve. An id that does not serve this endpoint is rejected as invalid input with no charge; a listed source that is not serving right now is refused with no charge, so omit `source` to be served by another. On a paginated walk, later pages must include the source that served page one, or omit `source`."""
|
|
495
503
|
url: Required[str]
|
|
@@ -2844,9 +2852,16 @@ class LinkedinProfileCommentsAuthor(BaseModel):
|
|
|
2844
2852
|
|
|
2845
2853
|
|
|
2846
2854
|
class LinkedinProfilePostsFullData(BaseModel):
|
|
2855
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
2856
|
+
|
|
2847
2857
|
items: list[LinkedinProfilePostsFullItem] = Field(
|
|
2848
2858
|
description="Recent enriched posts published by the profile. Populated whenever the provider has data for the entity."
|
|
2849
2859
|
)
|
|
2860
|
+
next_cursor: str | None = Field(
|
|
2861
|
+
default=None,
|
|
2862
|
+
alias="nextCursor",
|
|
2863
|
+
description="Opaque cursor for the next page of posts, or null when there are no more. Pass it back as cursor to continue.",
|
|
2864
|
+
)
|
|
2850
2865
|
|
|
2851
2866
|
|
|
2852
2867
|
class LinkedinProfilePostsFullItem(BaseModel):
|
|
@@ -3302,9 +3317,16 @@ class LinkedinProfilePostsFullSocialContent(BaseModel):
|
|
|
3302
3317
|
|
|
3303
3318
|
|
|
3304
3319
|
class LinkedinProfilePostsThinData(BaseModel):
|
|
3320
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
3321
|
+
|
|
3305
3322
|
items: list[LinkedinProfilePostsThinItem] = Field(
|
|
3306
3323
|
description="Recent posts published by the profile. Populated whenever the provider has data for the entity."
|
|
3307
3324
|
)
|
|
3325
|
+
next_cursor: str | None = Field(
|
|
3326
|
+
default=None,
|
|
3327
|
+
alias="nextCursor",
|
|
3328
|
+
description="Opaque cursor for the next page of posts, or null when there are no more. Pass it back as cursor to continue.",
|
|
3329
|
+
)
|
|
3308
3330
|
|
|
3309
3331
|
|
|
3310
3332
|
class LinkedinProfilePostsThinItem(BaseModel):
|
|
@@ -4790,6 +4812,29 @@ class LinkedinNamespace:
|
|
|
4790
4812
|
)
|
|
4791
4813
|
return RunResult[LinkedinProfilePostsFullData].model_validate(raw)
|
|
4792
4814
|
|
|
4815
|
+
def iter_profile_posts_full(
|
|
4816
|
+
self,
|
|
4817
|
+
*,
|
|
4818
|
+
options: RequestOptions | None = None,
|
|
4819
|
+
**input: Unpack[LinkedinProfilePostsFullInput],
|
|
4820
|
+
) -> Paginator[LinkedinProfilePostsFullItem, LinkedinProfilePostsFullData]:
|
|
4821
|
+
"""Iterate LinkedIn Profile Posts (full) results, following pagination cursors.
|
|
4822
|
+
|
|
4823
|
+
Yields validated `LinkedinProfilePostsFullItem` items from the `items` field of
|
|
4824
|
+
each page. Use `.pages()` on the returned paginator to walk whole
|
|
4825
|
+
`RunResult` pages.
|
|
4826
|
+
"""
|
|
4827
|
+
return paginate(
|
|
4828
|
+
self._client,
|
|
4829
|
+
"linkedin.profile_posts_full",
|
|
4830
|
+
dict(input),
|
|
4831
|
+
"items",
|
|
4832
|
+
item_model=LinkedinProfilePostsFullItem,
|
|
4833
|
+
data_model=LinkedinProfilePostsFullData,
|
|
4834
|
+
bare=False,
|
|
4835
|
+
options=options,
|
|
4836
|
+
)
|
|
4837
|
+
|
|
4793
4838
|
def profile_posts_thin(
|
|
4794
4839
|
self,
|
|
4795
4840
|
*,
|
|
@@ -4811,6 +4856,29 @@ class LinkedinNamespace:
|
|
|
4811
4856
|
)
|
|
4812
4857
|
return RunResult[LinkedinProfilePostsThinData].model_validate(raw)
|
|
4813
4858
|
|
|
4859
|
+
def iter_profile_posts_thin(
|
|
4860
|
+
self,
|
|
4861
|
+
*,
|
|
4862
|
+
options: RequestOptions | None = None,
|
|
4863
|
+
**input: Unpack[LinkedinProfilePostsThinInput],
|
|
4864
|
+
) -> Paginator[LinkedinProfilePostsThinItem, LinkedinProfilePostsThinData]:
|
|
4865
|
+
"""Iterate LinkedIn Profile Posts (basic) results, following pagination cursors.
|
|
4866
|
+
|
|
4867
|
+
Yields validated `LinkedinProfilePostsThinItem` items from the `items` field of
|
|
4868
|
+
each page. Use `.pages()` on the returned paginator to walk whole
|
|
4869
|
+
`RunResult` pages.
|
|
4870
|
+
"""
|
|
4871
|
+
return paginate(
|
|
4872
|
+
self._client,
|
|
4873
|
+
"linkedin.profile_posts_thin",
|
|
4874
|
+
dict(input),
|
|
4875
|
+
"items",
|
|
4876
|
+
item_model=LinkedinProfilePostsThinItem,
|
|
4877
|
+
data_model=LinkedinProfilePostsThinData,
|
|
4878
|
+
bare=False,
|
|
4879
|
+
options=options,
|
|
4880
|
+
)
|
|
4881
|
+
|
|
4814
4882
|
def profile_reactions(
|
|
4815
4883
|
self,
|
|
4816
4884
|
*,
|
|
@@ -5511,6 +5579,29 @@ class AsyncLinkedinNamespace:
|
|
|
5511
5579
|
)
|
|
5512
5580
|
return RunResult[LinkedinProfilePostsFullData].model_validate(raw)
|
|
5513
5581
|
|
|
5582
|
+
def iter_profile_posts_full(
|
|
5583
|
+
self,
|
|
5584
|
+
*,
|
|
5585
|
+
options: RequestOptions | None = None,
|
|
5586
|
+
**input: Unpack[LinkedinProfilePostsFullInput],
|
|
5587
|
+
) -> AsyncPaginator[LinkedinProfilePostsFullItem, LinkedinProfilePostsFullData]:
|
|
5588
|
+
"""Iterate LinkedIn Profile Posts (full) results, following pagination cursors.
|
|
5589
|
+
|
|
5590
|
+
Yields validated `LinkedinProfilePostsFullItem` items from the `items` field of
|
|
5591
|
+
each page. Use `.pages()` on the returned paginator to walk whole
|
|
5592
|
+
`RunResult` pages.
|
|
5593
|
+
"""
|
|
5594
|
+
return apaginate(
|
|
5595
|
+
self._client,
|
|
5596
|
+
"linkedin.profile_posts_full",
|
|
5597
|
+
dict(input),
|
|
5598
|
+
"items",
|
|
5599
|
+
item_model=LinkedinProfilePostsFullItem,
|
|
5600
|
+
data_model=LinkedinProfilePostsFullData,
|
|
5601
|
+
bare=False,
|
|
5602
|
+
options=options,
|
|
5603
|
+
)
|
|
5604
|
+
|
|
5514
5605
|
async def profile_posts_thin(
|
|
5515
5606
|
self,
|
|
5516
5607
|
*,
|
|
@@ -5532,6 +5623,29 @@ class AsyncLinkedinNamespace:
|
|
|
5532
5623
|
)
|
|
5533
5624
|
return RunResult[LinkedinProfilePostsThinData].model_validate(raw)
|
|
5534
5625
|
|
|
5626
|
+
def iter_profile_posts_thin(
|
|
5627
|
+
self,
|
|
5628
|
+
*,
|
|
5629
|
+
options: RequestOptions | None = None,
|
|
5630
|
+
**input: Unpack[LinkedinProfilePostsThinInput],
|
|
5631
|
+
) -> AsyncPaginator[LinkedinProfilePostsThinItem, LinkedinProfilePostsThinData]:
|
|
5632
|
+
"""Iterate LinkedIn Profile Posts (basic) results, following pagination cursors.
|
|
5633
|
+
|
|
5634
|
+
Yields validated `LinkedinProfilePostsThinItem` items from the `items` field of
|
|
5635
|
+
each page. Use `.pages()` on the returned paginator to walk whole
|
|
5636
|
+
`RunResult` pages.
|
|
5637
|
+
"""
|
|
5638
|
+
return apaginate(
|
|
5639
|
+
self._client,
|
|
5640
|
+
"linkedin.profile_posts_thin",
|
|
5641
|
+
dict(input),
|
|
5642
|
+
"items",
|
|
5643
|
+
item_model=LinkedinProfilePostsThinItem,
|
|
5644
|
+
data_model=LinkedinProfilePostsThinData,
|
|
5645
|
+
bare=False,
|
|
5646
|
+
options=options,
|
|
5647
|
+
)
|
|
5648
|
+
|
|
5535
5649
|
async def profile_reactions(
|
|
5536
5650
|
self,
|
|
5537
5651
|
*,
|
|
@@ -1796,7 +1796,7 @@ class TwitterNamespace:
|
|
|
1796
1796
|
records with follower, following, and post counts plus cursor pagination.
|
|
1797
1797
|
Use twitter.search for posts.
|
|
1798
1798
|
|
|
1799
|
-
Price: $0.
|
|
1799
|
+
Price: $0.00075 per request.
|
|
1800
1800
|
|
|
1801
1801
|
Example:
|
|
1802
1802
|
res = client.twitter.search_users(query="ai agents")
|
|
@@ -2336,7 +2336,7 @@ class AsyncTwitterNamespace:
|
|
|
2336
2336
|
records with follower, following, and post counts plus cursor pagination.
|
|
2337
2337
|
Use twitter.search for posts.
|
|
2338
2338
|
|
|
2339
|
-
Price: $0.
|
|
2339
|
+
Price: $0.00075 per request.
|
|
2340
2340
|
|
|
2341
2341
|
Example:
|
|
2342
2342
|
res = client.twitter.search_users(query="ai agents")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|