getanyapi 0.34.4__tar.gz → 0.35.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.34.4 → getanyapi-0.35.0}/PKG-INFO +1 -1
- {getanyapi-0.34.4 → getanyapi-0.35.0}/pyproject.toml +1 -1
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/__init__.py +1 -1
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/amazon.py +3 -3
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/ebay.py +1 -1
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/email.py +21 -15
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/google_shopping.py +1 -1
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/instagram.py +3 -3
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/linkedin.py +27 -27
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/maps.py +10 -10
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/pinterest.py +1 -1
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/tiktok.py +3 -3
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/tiktok_shop.py +1 -1
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/tripadvisor.py +2 -2
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/trustpilot.py +3 -3
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/web.py +5 -7
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/zillow.py +1 -1
- {getanyapi-0.34.4 → getanyapi-0.35.0}/.gitignore +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/README.md +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/_account.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/_async_client.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/_client.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/_errors.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/_idempotency.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/_pagination.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/_transport.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/discovery_types.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/__init__.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/ahrefs.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/airbnb.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/alibaba.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/apollo.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/appstore.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/bluesky.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/booking.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/capterra.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/chatgpt.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/coinmarketcap.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/company.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/company_enrichment.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/company_search.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/congress.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/dexscreener.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/douyin.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/email_finding.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/email_verification.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/facebook.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/fiverr.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/g2.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/gemini.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/github.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/glassdoor.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/google.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/google_ads.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/google_finance.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/hackernews.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/indeed.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/job_search.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/mobile_phone.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/naver.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/pandaexpress.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/people_search.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/perplexity.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/person.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/person_enrichment.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/playstore.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/polymarket.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/realtor.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/reddit.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/redfin.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/rednote.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/sec.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/semrush.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/seo.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/snapchat.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/social.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/spotify.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/substack.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/technographics.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/threads.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/truthsocial.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/twitter.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/upwork.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/walmart.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/weibo.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/yahoo_finance.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/yelp.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/youtube.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/platforms/zhihu.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/py.typed +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/src/getanyapi/types.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/tests/conftest.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/tests/test_account.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/tests/test_client.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/tests/test_durable_requests.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/tests/test_envelope.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/tests/test_errors.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/tests/test_fixture_roundtrip.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/tests/test_fixture_sweep.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/tests/test_pagination.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.0}/tests/test_transport.py +0 -0
- {getanyapi-0.34.4 → getanyapi-0.35.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.35.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
|
|
@@ -32,7 +32,7 @@ class AmazonBestsellersInput(TypedDict, total=False):
|
|
|
32
32
|
"""Input for Amazon Bestsellers."""
|
|
33
33
|
|
|
34
34
|
limit: NotRequired[int]
|
|
35
|
-
"""Maximum number of results to return (1-20, default 20).
|
|
35
|
+
"""Maximum number of results to return (1-20, default 20). Range: 1 to 20. Default: 20."""
|
|
36
36
|
preferLatencyUnderMs: NotRequired[int]
|
|
37
37
|
"""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."""
|
|
38
38
|
url: Required[str]
|
|
@@ -56,7 +56,7 @@ class AmazonReviewsInput(TypedDict, total=False):
|
|
|
56
56
|
keyword: NotRequired[str]
|
|
57
57
|
"""Only return reviews whose title or text contains this keyword, case-insensitively (e.g. battery)."""
|
|
58
58
|
limit: NotRequired[int]
|
|
59
|
-
"""Maximum number of results to return (1-50, default 50).
|
|
59
|
+
"""Maximum number of results to return (1-50, default 50). Range: 1 to 50. Default: 50."""
|
|
60
60
|
preferLatencyUnderMs: NotRequired[int]
|
|
61
61
|
"""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."""
|
|
62
62
|
product: Required[str]
|
|
@@ -102,7 +102,7 @@ class AmazonSearchInput(TypedDict, total=False):
|
|
|
102
102
|
"""Input for Amazon Search."""
|
|
103
103
|
|
|
104
104
|
limit: NotRequired[int]
|
|
105
|
-
"""Maximum number of results to return (1-20, default 20).
|
|
105
|
+
"""Maximum number of results to return (1-20, default 20). Range: 1 to 20. Default: 20."""
|
|
106
106
|
preferLatencyUnderMs: NotRequired[int]
|
|
107
107
|
"""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."""
|
|
108
108
|
url: Required[str]
|
|
@@ -41,7 +41,7 @@ class EbaySearchInput(TypedDict, total=False):
|
|
|
41
41
|
]
|
|
42
42
|
"""Filter by one or more item conditions; omit for all conditions (e.g. ["new", "open_box"])."""
|
|
43
43
|
limit: NotRequired[int]
|
|
44
|
-
"""Maximum number of results to return (1 to 25, default 25).
|
|
44
|
+
"""Maximum number of results to return (1 to 25, default 25). Range: 1 to 25."""
|
|
45
45
|
listingType: NotRequired[Literal["all", "auction", "buy_it_now"]]
|
|
46
46
|
"""Restrict to a listing format; omit or use all for both (e.g. buy_it_now for fixed-price only)."""
|
|
47
47
|
maxPrice: NotRequired[int]
|
|
@@ -68,13 +68,19 @@ class EmailVerifyItem(BaseModel):
|
|
|
68
68
|
description="Populated whenever the provider has data for the entity."
|
|
69
69
|
)
|
|
70
70
|
free: bool | None = Field(default=None, description="Free email provider.")
|
|
71
|
-
reason: str | None =
|
|
71
|
+
reason: str | None = Field(
|
|
72
|
+
default=None,
|
|
73
|
+
description="Why the verdict was reached. Published by only one of the two sources, so it is absent on most calls; never treat it as required.",
|
|
74
|
+
)
|
|
72
75
|
role: bool | None = Field(
|
|
73
76
|
default=None, description="Role-based address (e.g. info@)."
|
|
74
77
|
)
|
|
75
|
-
score: int | None = Field(
|
|
78
|
+
score: int | None = Field(
|
|
79
|
+
default=None,
|
|
80
|
+
description="Confidence in the verdict, 0-100. Coarse rather than graded on most calls: it tracks the status rather than ranking addresses within one.",
|
|
81
|
+
)
|
|
76
82
|
status: str = Field(
|
|
77
|
-
description="Deliverability verdict (
|
|
83
|
+
description="Deliverability verdict: good (the mailbox accepted), bad (it was refused), or risky (no source could settle it - usually a catch-all domain that accepts every address, sometimes a receiving server that declined to answer at all). Populated whenever the provider has data for the entity."
|
|
78
84
|
)
|
|
79
85
|
|
|
80
86
|
|
|
@@ -109,13 +115,13 @@ class EmailNamespace:
|
|
|
109
115
|
) -> RunResult[EmailVerifyData]:
|
|
110
116
|
"""Email Verifier
|
|
111
117
|
|
|
112
|
-
Verify an email address for deliverability: a status verdict (
|
|
113
|
-
or
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
118
|
+
Verify an email address for deliverability: a status verdict (good, risky,
|
|
119
|
+
or bad) with domain, mailbox, catch-all, disposable, and role signals plus a
|
|
120
|
+
confidence score. Malformed addresses are rejected by the input schema with
|
|
121
|
+
no charge; every syntactically valid address returns a billed verdict,
|
|
122
|
+
including undeliverable ones.
|
|
117
123
|
|
|
118
|
-
Price: $0 per request
|
|
124
|
+
Price: $0.0066 per request.
|
|
119
125
|
|
|
120
126
|
Example:
|
|
121
127
|
res = client.email.verify(email="patrick@stripe.com")
|
|
@@ -157,13 +163,13 @@ class AsyncEmailNamespace:
|
|
|
157
163
|
) -> RunResult[EmailVerifyData]:
|
|
158
164
|
"""Email Verifier
|
|
159
165
|
|
|
160
|
-
Verify an email address for deliverability: a status verdict (
|
|
161
|
-
or
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
166
|
+
Verify an email address for deliverability: a status verdict (good, risky,
|
|
167
|
+
or bad) with domain, mailbox, catch-all, disposable, and role signals plus a
|
|
168
|
+
confidence score. Malformed addresses are rejected by the input schema with
|
|
169
|
+
no charge; every syntactically valid address returns a billed verdict,
|
|
170
|
+
including undeliverable ones.
|
|
165
171
|
|
|
166
|
-
Price: $0 per request
|
|
172
|
+
Price: $0.0066 per request.
|
|
167
173
|
|
|
168
174
|
Example:
|
|
169
175
|
res = client.email.verify(email="patrick@stripe.com")
|
|
@@ -25,7 +25,7 @@ class GoogleShoppingSearchInput(TypedDict, total=False):
|
|
|
25
25
|
language: NotRequired[str]
|
|
26
26
|
"""ISO 639-1 language code for results (e.g. "en", "es", "fr"). Default: en."""
|
|
27
27
|
limit: NotRequired[int]
|
|
28
|
-
"""Maximum number of results to return (1-10, default 10).
|
|
28
|
+
"""Maximum number of results to return (1-10, default 10). Range: 1 to 10."""
|
|
29
29
|
preferLatencyUnderMs: NotRequired[int]
|
|
30
30
|
"""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."""
|
|
31
31
|
query: Required[str]
|
|
@@ -218,7 +218,7 @@ class InstagramSearchInput(TypedDict, total=False):
|
|
|
218
218
|
"""Input for Instagram Search."""
|
|
219
219
|
|
|
220
220
|
limit: NotRequired[int]
|
|
221
|
-
"""Maximum number of results to return (1-20, default 20).
|
|
221
|
+
"""Maximum number of results to return (1-20, default 20). Range: 1 to 20."""
|
|
222
222
|
preferLatencyUnderMs: NotRequired[int]
|
|
223
223
|
"""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."""
|
|
224
224
|
query: Required[str]
|
|
@@ -2028,7 +2028,7 @@ class InstagramNamespace:
|
|
|
2028
2028
|
Search Instagram for users, hashtags, or places by keyword and get matching
|
|
2029
2029
|
results with names, counts, and links.
|
|
2030
2030
|
|
|
2031
|
-
Price: $0.
|
|
2031
|
+
Price: $0.0036 per request.
|
|
2032
2032
|
|
|
2033
2033
|
Example:
|
|
2034
2034
|
res = client.instagram.search(query="nasa")
|
|
@@ -2893,7 +2893,7 @@ class AsyncInstagramNamespace:
|
|
|
2893
2893
|
Search Instagram for users, hashtags, or places by keyword and get matching
|
|
2894
2894
|
results with names, counts, and links.
|
|
2895
2895
|
|
|
2896
|
-
Price: $0.
|
|
2896
|
+
Price: $0.0036 per request.
|
|
2897
2897
|
|
|
2898
2898
|
Example:
|
|
2899
2899
|
res = client.instagram.search(query="nasa")
|
|
@@ -226,7 +226,7 @@ class LinkedinPostCommentsInput(TypedDict, total=False):
|
|
|
226
226
|
"""Input for LinkedIn Post Comments."""
|
|
227
227
|
|
|
228
228
|
limit: NotRequired[int]
|
|
229
|
-
"""Maximum number of comments to return.
|
|
229
|
+
"""Maximum number of comments to return. Range: 1 to 100. Default: 100."""
|
|
230
230
|
postedLimit: NotRequired[
|
|
231
231
|
Literal["any", "24h", "week", "month", "3months", "6months", "year"]
|
|
232
232
|
]
|
|
@@ -241,7 +241,7 @@ class LinkedinPostReactionsInput(TypedDict, total=False):
|
|
|
241
241
|
"""Input for LinkedIn Post Reactions."""
|
|
242
242
|
|
|
243
243
|
limit: NotRequired[int]
|
|
244
|
-
"""Maximum number of reactions to return (1-100, default 100).
|
|
244
|
+
"""Maximum number of reactions to return (1-100, default 100). Range: 1 to 100."""
|
|
245
245
|
preferLatencyUnderMs: NotRequired[int]
|
|
246
246
|
"""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."""
|
|
247
247
|
url: Required[str]
|
|
@@ -276,7 +276,7 @@ class LinkedinProfilePostsFullInput(TypedDict, total=False):
|
|
|
276
276
|
includeReposts: NotRequired[bool]
|
|
277
277
|
"""Whether to include reposts that share content without added commentary. Default: true."""
|
|
278
278
|
limit: NotRequired[int]
|
|
279
|
-
"""Maximum number of posts to return (1-100, default 10).
|
|
279
|
+
"""Maximum number of posts to return (1-100, default 10). Range: 1 to 100. Default: 10."""
|
|
280
280
|
postedLimit: NotRequired[
|
|
281
281
|
Literal["any", "1h", "24h", "week", "month", "3months", "6months", "year"]
|
|
282
282
|
]
|
|
@@ -293,7 +293,7 @@ class LinkedinProfilePostsThinInput(TypedDict, total=False):
|
|
|
293
293
|
"""Input for LinkedIn Profile Posts (basic)."""
|
|
294
294
|
|
|
295
295
|
limit: NotRequired[int]
|
|
296
|
-
"""Maximum number of posts to return (10-100, default 10).
|
|
296
|
+
"""Maximum number of posts to return (10-100, default 10). Range: 10 to 100. Default: 10."""
|
|
297
297
|
preferLatencyUnderMs: NotRequired[int]
|
|
298
298
|
"""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."""
|
|
299
299
|
url: Required[str]
|
|
@@ -313,7 +313,7 @@ class LinkedinSearchCompaniesInput(TypedDict, total=False):
|
|
|
313
313
|
"""Input for LinkedIn Company Search."""
|
|
314
314
|
|
|
315
315
|
limit: NotRequired[int]
|
|
316
|
-
"""Maximum number of results to return (1-20, default 20).
|
|
316
|
+
"""Maximum number of results to return (1-20, default 20). Range: 1 to 20. Default: 20."""
|
|
317
317
|
location: NotRequired[str]
|
|
318
318
|
"""Optional location filter, written out in full (e.g. United Kingdom or San Francisco)."""
|
|
319
319
|
preferLatencyUnderMs: NotRequired[int]
|
|
@@ -375,7 +375,7 @@ class LinkedinSearchPostsFullInput(TypedDict, total=False):
|
|
|
375
375
|
]
|
|
376
376
|
"""Only return posts published within this relative time window. Last-hour and windows beyond one month route to the provider that supports them. Default: last-day."""
|
|
377
377
|
limit: NotRequired[int]
|
|
378
|
-
"""Maximum number of posts to return (1-100, default 10). The upper bound is one LinkedIn search page.
|
|
378
|
+
"""Maximum number of posts to return (1-100, default 10). The upper bound is one LinkedIn search page. Range: 1 to 100. Default: 10."""
|
|
379
379
|
mentioningMemberUrls: NotRequired[list[str]]
|
|
380
380
|
"""Only return posts mentioning these LinkedIn member profile URLs."""
|
|
381
381
|
preferLatencyUnderMs: NotRequired[int]
|
|
@@ -1913,7 +1913,7 @@ class LinkedinProfilePostsFullItem(BaseModel):
|
|
|
1913
1913
|
type_: str | None = Field(
|
|
1914
1914
|
default=None,
|
|
1915
1915
|
alias="type",
|
|
1916
|
-
description="LinkedIn record type reported for the post.
|
|
1916
|
+
description="LinkedIn record type reported for the post.",
|
|
1917
1917
|
)
|
|
1918
1918
|
url: str = Field(
|
|
1919
1919
|
description="Canonical LinkedIn URL of the post. Populated whenever the provider has data for the entity."
|
|
@@ -2985,7 +2985,7 @@ class LinkedinNamespace:
|
|
|
2985
2985
|
link, publish date, author, engagement counts with a per-reaction breakdown,
|
|
2986
2986
|
and attached media.
|
|
2987
2987
|
|
|
2988
|
-
Price: $0.
|
|
2988
|
+
Price: $0.005 per request.
|
|
2989
2989
|
|
|
2990
2990
|
Example:
|
|
2991
2991
|
res = client.linkedin.company_posts(limit=10, url="https://www.linkedin.com/company/stripe")
|
|
@@ -3093,7 +3093,7 @@ class LinkedinNamespace:
|
|
|
3093
3093
|
Cheap job index: title, company, location, posted date, URL. No description,
|
|
3094
3094
|
salary, applicant counts, or seniority - for those use linkedin.jobs.
|
|
3095
3095
|
|
|
3096
|
-
Price: $0.
|
|
3096
|
+
Price: $0.00066 per request.
|
|
3097
3097
|
|
|
3098
3098
|
Example:
|
|
3099
3099
|
res = client.linkedin.jobs_thin(limit=3, location="United States", query="software engineer", workplaceType="remote")
|
|
@@ -3135,7 +3135,7 @@ class LinkedinNamespace:
|
|
|
3135
3135
|
List comments on a LinkedIn post - full text, commenter name/URL/job title,
|
|
3136
3136
|
timestamps, and engagement.
|
|
3137
3137
|
|
|
3138
|
-
Price: $0 per request
|
|
3138
|
+
Price: $0.005 per request.
|
|
3139
3139
|
|
|
3140
3140
|
Example:
|
|
3141
3141
|
res = client.linkedin.post_comments(limit=10, url="https://www.linkedin.com/posts/stripe_philip-kl%C3%B6ckner-in-conversation-with-conor-activity-7477791740645564416-tIbZ")
|
|
@@ -3156,7 +3156,7 @@ class LinkedinNamespace:
|
|
|
3156
3156
|
List who reacted to a LinkedIn post - reactor name, profile URL, job title,
|
|
3157
3157
|
and reaction type. Lead-gen grade.
|
|
3158
3158
|
|
|
3159
|
-
Price: $0 per request
|
|
3159
|
+
Price: $0.005 per request.
|
|
3160
3160
|
|
|
3161
3161
|
Example:
|
|
3162
3162
|
res = client.linkedin.post_reactions(limit=5, url="https://www.linkedin.com/posts/satyanadella_today-were-bringing-skills-to-copilot-for-activity-7475945433668694017--kvG")
|
|
@@ -3201,10 +3201,10 @@ class LinkedinNamespace:
|
|
|
3201
3201
|
awards, languages, projects, publications, and verified/premium/open-to-work
|
|
3202
3202
|
flags.
|
|
3203
3203
|
|
|
3204
|
-
Price: $0.
|
|
3204
|
+
Price: $0.004 per request.
|
|
3205
3205
|
|
|
3206
3206
|
Example:
|
|
3207
|
-
res = client.linkedin.profile(url="https://www.linkedin.com/in/
|
|
3207
|
+
res = client.linkedin.profile(url="https://www.linkedin.com/in/patrickcollison")
|
|
3208
3208
|
"""
|
|
3209
3209
|
raw = self._client._run_raw( # pyright: ignore[reportPrivateUsage]
|
|
3210
3210
|
"linkedin.profile", dict(input), options
|
|
@@ -3222,7 +3222,7 @@ class LinkedinNamespace:
|
|
|
3222
3222
|
Fetch recent public LinkedIn profile posts with enriched author, engagement,
|
|
3223
3223
|
article, newsletter, media, annotation, repost, and social activity details.
|
|
3224
3224
|
|
|
3225
|
-
Price: $0.
|
|
3225
|
+
Price: $0.005 per request.
|
|
3226
3226
|
|
|
3227
3227
|
Example:
|
|
3228
3228
|
res = client.linkedin.profile_posts_full(limit=10, url="https://www.linkedin.com/in/williamhgates/")
|
|
@@ -3243,7 +3243,7 @@ class LinkedinNamespace:
|
|
|
3243
3243
|
Fetch recent public LinkedIn profile posts with portable identity, author,
|
|
3244
3244
|
engagement, article, image, video, and repost fields.
|
|
3245
3245
|
|
|
3246
|
-
Price: $0 per request
|
|
3246
|
+
Price: $0.005 per request.
|
|
3247
3247
|
|
|
3248
3248
|
Example:
|
|
3249
3249
|
res = client.linkedin.profile_posts_thin(limit=10, url="https://www.linkedin.com/in/williamhgates/")
|
|
@@ -3288,7 +3288,7 @@ class LinkedinNamespace:
|
|
|
3288
3288
|
Search LinkedIn companies by keyword with optional location filtering,
|
|
3289
3289
|
returning normalized company records.
|
|
3290
3290
|
|
|
3291
|
-
Price: $0.
|
|
3291
|
+
Price: $0.005 per request.
|
|
3292
3292
|
|
|
3293
3293
|
Example:
|
|
3294
3294
|
res = client.linkedin.search_companies(limit=3, query="fintech")
|
|
@@ -3352,7 +3352,7 @@ class LinkedinNamespace:
|
|
|
3352
3352
|
Search public LinkedIn posts with rich author, engagement, attachment, and
|
|
3353
3353
|
poll details.
|
|
3354
3354
|
|
|
3355
|
-
Price: $0 per request
|
|
3355
|
+
Price: $0.005 per request.
|
|
3356
3356
|
|
|
3357
3357
|
Example:
|
|
3358
3358
|
res = client.linkedin.search_posts_full(datePosted="last-week", limit=10, query="artificial intelligence", sort="relevance")
|
|
@@ -3587,7 +3587,7 @@ class AsyncLinkedinNamespace:
|
|
|
3587
3587
|
link, publish date, author, engagement counts with a per-reaction breakdown,
|
|
3588
3588
|
and attached media.
|
|
3589
3589
|
|
|
3590
|
-
Price: $0.
|
|
3590
|
+
Price: $0.005 per request.
|
|
3591
3591
|
|
|
3592
3592
|
Example:
|
|
3593
3593
|
res = client.linkedin.company_posts(limit=10, url="https://www.linkedin.com/company/stripe")
|
|
@@ -3695,7 +3695,7 @@ class AsyncLinkedinNamespace:
|
|
|
3695
3695
|
Cheap job index: title, company, location, posted date, URL. No description,
|
|
3696
3696
|
salary, applicant counts, or seniority - for those use linkedin.jobs.
|
|
3697
3697
|
|
|
3698
|
-
Price: $0.
|
|
3698
|
+
Price: $0.00066 per request.
|
|
3699
3699
|
|
|
3700
3700
|
Example:
|
|
3701
3701
|
res = client.linkedin.jobs_thin(limit=3, location="United States", query="software engineer", workplaceType="remote")
|
|
@@ -3737,7 +3737,7 @@ class AsyncLinkedinNamespace:
|
|
|
3737
3737
|
List comments on a LinkedIn post - full text, commenter name/URL/job title,
|
|
3738
3738
|
timestamps, and engagement.
|
|
3739
3739
|
|
|
3740
|
-
Price: $0 per request
|
|
3740
|
+
Price: $0.005 per request.
|
|
3741
3741
|
|
|
3742
3742
|
Example:
|
|
3743
3743
|
res = client.linkedin.post_comments(limit=10, url="https://www.linkedin.com/posts/stripe_philip-kl%C3%B6ckner-in-conversation-with-conor-activity-7477791740645564416-tIbZ")
|
|
@@ -3758,7 +3758,7 @@ class AsyncLinkedinNamespace:
|
|
|
3758
3758
|
List who reacted to a LinkedIn post - reactor name, profile URL, job title,
|
|
3759
3759
|
and reaction type. Lead-gen grade.
|
|
3760
3760
|
|
|
3761
|
-
Price: $0 per request
|
|
3761
|
+
Price: $0.005 per request.
|
|
3762
3762
|
|
|
3763
3763
|
Example:
|
|
3764
3764
|
res = client.linkedin.post_reactions(limit=5, url="https://www.linkedin.com/posts/satyanadella_today-were-bringing-skills-to-copilot-for-activity-7475945433668694017--kvG")
|
|
@@ -3803,10 +3803,10 @@ class AsyncLinkedinNamespace:
|
|
|
3803
3803
|
awards, languages, projects, publications, and verified/premium/open-to-work
|
|
3804
3804
|
flags.
|
|
3805
3805
|
|
|
3806
|
-
Price: $0.
|
|
3806
|
+
Price: $0.004 per request.
|
|
3807
3807
|
|
|
3808
3808
|
Example:
|
|
3809
|
-
res = client.linkedin.profile(url="https://www.linkedin.com/in/
|
|
3809
|
+
res = client.linkedin.profile(url="https://www.linkedin.com/in/patrickcollison")
|
|
3810
3810
|
"""
|
|
3811
3811
|
raw = await self._client._arun_raw( # pyright: ignore[reportPrivateUsage]
|
|
3812
3812
|
"linkedin.profile", dict(input), options
|
|
@@ -3824,7 +3824,7 @@ class AsyncLinkedinNamespace:
|
|
|
3824
3824
|
Fetch recent public LinkedIn profile posts with enriched author, engagement,
|
|
3825
3825
|
article, newsletter, media, annotation, repost, and social activity details.
|
|
3826
3826
|
|
|
3827
|
-
Price: $0.
|
|
3827
|
+
Price: $0.005 per request.
|
|
3828
3828
|
|
|
3829
3829
|
Example:
|
|
3830
3830
|
res = client.linkedin.profile_posts_full(limit=10, url="https://www.linkedin.com/in/williamhgates/")
|
|
@@ -3845,7 +3845,7 @@ class AsyncLinkedinNamespace:
|
|
|
3845
3845
|
Fetch recent public LinkedIn profile posts with portable identity, author,
|
|
3846
3846
|
engagement, article, image, video, and repost fields.
|
|
3847
3847
|
|
|
3848
|
-
Price: $0 per request
|
|
3848
|
+
Price: $0.005 per request.
|
|
3849
3849
|
|
|
3850
3850
|
Example:
|
|
3851
3851
|
res = client.linkedin.profile_posts_thin(limit=10, url="https://www.linkedin.com/in/williamhgates/")
|
|
@@ -3890,7 +3890,7 @@ class AsyncLinkedinNamespace:
|
|
|
3890
3890
|
Search LinkedIn companies by keyword with optional location filtering,
|
|
3891
3891
|
returning normalized company records.
|
|
3892
3892
|
|
|
3893
|
-
Price: $0.
|
|
3893
|
+
Price: $0.005 per request.
|
|
3894
3894
|
|
|
3895
3895
|
Example:
|
|
3896
3896
|
res = client.linkedin.search_companies(limit=3, query="fintech")
|
|
@@ -3954,7 +3954,7 @@ class AsyncLinkedinNamespace:
|
|
|
3954
3954
|
Search public LinkedIn posts with rich author, engagement, attachment, and
|
|
3955
3955
|
poll details.
|
|
3956
3956
|
|
|
3957
|
-
Price: $0 per request
|
|
3957
|
+
Price: $0.005 per request.
|
|
3958
3958
|
|
|
3959
3959
|
Example:
|
|
3960
3960
|
res = client.linkedin.search_posts_full(datePosted="last-week", limit=10, query="artificial intelligence", sort="relevance")
|
|
@@ -42,7 +42,7 @@ class MapsPlaceInput(TypedDict, total=False):
|
|
|
42
42
|
"""Input for Google Maps Place Lookup."""
|
|
43
43
|
|
|
44
44
|
categoryFilterWords: NotRequired[list[str]]
|
|
45
|
-
"""Optional list of Google Maps place-category names to keep; the match is limited to a place whose category is one of these. Use lowercase category names as shown on Google Maps (e.g. ["coffee shop"]). Omit to allow any category."""
|
|
45
|
+
"""Optional list of Google Maps place-category names to keep; the match is limited to a place whose category is one of these. Use lowercase category names as shown on Google Maps (e.g. ["coffee shop"]). Omit to allow any category and stay on the cheapest price; a category filter routes to a dearer source."""
|
|
46
46
|
language: NotRequired[str]
|
|
47
47
|
"""Two-letter language code for the result details (e.g. en). Default: en."""
|
|
48
48
|
location: NotRequired[str]
|
|
@@ -50,13 +50,13 @@ class MapsPlaceInput(TypedDict, total=False):
|
|
|
50
50
|
placeMinimumStars: NotRequired[
|
|
51
51
|
Literal["two", "twoAndHalf", "three", "threeAndHalf", "four", "fourAndHalf"]
|
|
52
52
|
]
|
|
53
|
-
"""Only match a place with at least this average rating: two (2+), twoAndHalf (2.5+), three (3+), threeAndHalf (3.5+), four (4+), or fourAndHalf (4.5+). Places with no reviews are excluded. Omit
|
|
53
|
+
"""Only match a place with at least this average rating: two (2+), twoAndHalf (2.5+), three (3+), threeAndHalf (3.5+), four (4+), or fourAndHalf (4.5+). Places with no reviews are excluded. Omit this field to stay on the cheapest price; a rating floor routes to a dearer source."""
|
|
54
54
|
preferLatencyUnderMs: NotRequired[int]
|
|
55
55
|
"""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."""
|
|
56
56
|
query: Required[str]
|
|
57
57
|
"""The business name or search text to look up, as you would type it into the Google Maps search bar (e.g. Blue Bottle Coffee)."""
|
|
58
58
|
website: NotRequired[Literal["allPlaces", "withWebsite", "withoutWebsite"]]
|
|
59
|
-
"""Filter by whether the place lists a website: allPlaces (default), withWebsite (only if it has a website), or withoutWebsite (only if it has none)."""
|
|
59
|
+
"""Filter by whether the place lists a website: allPlaces (default), withWebsite (only if it has a website), or withoutWebsite (only if it has none). Omit this field, or send allPlaces, to stay on the cheapest price; withWebsite and withoutWebsite route to a dearer source."""
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
class MapsReviewsInput(TypedDict, total=False):
|
|
@@ -84,7 +84,7 @@ class MapsSearchInput(TypedDict, total=False):
|
|
|
84
84
|
"""Input for Google Maps Search."""
|
|
85
85
|
|
|
86
86
|
categoryFilterWords: NotRequired[list[str]]
|
|
87
|
-
"""Optional list of Google Maps place-category names to keep; results are limited to places whose category matches one of these. Use lowercase category names as shown on Google Maps (e.g. ["coffee shop", "restaurant"]). Omit to include all categories."""
|
|
87
|
+
"""Optional list of Google Maps place-category names to keep; results are limited to places whose category matches one of these. Use lowercase category names as shown on Google Maps (e.g. ["coffee shop", "restaurant"]). Omit to include all categories and stay on the cheapest price; a category filter routes to a dearer source."""
|
|
88
88
|
language: NotRequired[str]
|
|
89
89
|
"""Two-letter language code for the results (e.g. en). Default: en."""
|
|
90
90
|
limit: NotRequired[int]
|
|
@@ -94,13 +94,13 @@ class MapsSearchInput(TypedDict, total=False):
|
|
|
94
94
|
placeMinimumStars: NotRequired[
|
|
95
95
|
Literal["two", "twoAndHalf", "three", "threeAndHalf", "four", "fourAndHalf"]
|
|
96
96
|
]
|
|
97
|
-
"""Only return places with at least this average rating: two (2+), twoAndHalf (2.5+), three (3+), threeAndHalf (3.5+), four (4+), or fourAndHalf (4.5+). Places with no reviews are excluded. Omit
|
|
97
|
+
"""Only return places with at least this average rating: two (2+), twoAndHalf (2.5+), three (3+), threeAndHalf (3.5+), four (4+), or fourAndHalf (4.5+). Places with no reviews are excluded. Omit this field to stay on the cheapest price; a rating floor routes to a dearer source."""
|
|
98
98
|
preferLatencyUnderMs: NotRequired[int]
|
|
99
99
|
"""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."""
|
|
100
100
|
query: Required[str]
|
|
101
101
|
"""What you would type in the Google Maps search bar (e.g. coffee shop)."""
|
|
102
102
|
website: NotRequired[Literal["allPlaces", "withWebsite", "withoutWebsite"]]
|
|
103
|
-
"""Filter places by whether they list a website: allPlaces (default), withWebsite (only places that have a website), or withoutWebsite (only places without one)."""
|
|
103
|
+
"""Filter places by whether they list a website: allPlaces (default), withWebsite (only places that have a website), or withoutWebsite (only places without one). Omit this field, or send allPlaces, to stay on the cheapest price; withWebsite and withoutWebsite route to a dearer source."""
|
|
104
104
|
|
|
105
105
|
|
|
106
106
|
class MapsContactsData(BaseModel):
|
|
@@ -450,7 +450,7 @@ class MapsNamespace:
|
|
|
450
450
|
Price: $0.00175 per request.
|
|
451
451
|
|
|
452
452
|
Example:
|
|
453
|
-
res = client.maps.place(location="San Francisco, CA", query="Blue Bottle Coffee"
|
|
453
|
+
res = client.maps.place(location="San Francisco, CA", query="Blue Bottle Coffee")
|
|
454
454
|
"""
|
|
455
455
|
raw = self._client._run_raw( # pyright: ignore[reportPrivateUsage]
|
|
456
456
|
"maps.place", dict(input), options
|
|
@@ -490,7 +490,7 @@ class MapsNamespace:
|
|
|
490
490
|
Price: $0.00175 per request.
|
|
491
491
|
|
|
492
492
|
Example:
|
|
493
|
-
res = client.maps.search(limit=3, location="Austin, TX",
|
|
493
|
+
res = client.maps.search(limit=3, location="Austin, TX", query="coffee")
|
|
494
494
|
"""
|
|
495
495
|
raw = self._client._run_raw( # pyright: ignore[reportPrivateUsage]
|
|
496
496
|
"maps.search", dict(input), options
|
|
@@ -538,7 +538,7 @@ class AsyncMapsNamespace:
|
|
|
538
538
|
Price: $0.00175 per request.
|
|
539
539
|
|
|
540
540
|
Example:
|
|
541
|
-
res = client.maps.place(location="San Francisco, CA", query="Blue Bottle Coffee"
|
|
541
|
+
res = client.maps.place(location="San Francisco, CA", query="Blue Bottle Coffee")
|
|
542
542
|
"""
|
|
543
543
|
raw = await self._client._arun_raw( # pyright: ignore[reportPrivateUsage]
|
|
544
544
|
"maps.place", dict(input), options
|
|
@@ -578,7 +578,7 @@ class AsyncMapsNamespace:
|
|
|
578
578
|
Price: $0.00175 per request.
|
|
579
579
|
|
|
580
580
|
Example:
|
|
581
|
-
res = client.maps.search(limit=3, location="Austin, TX",
|
|
581
|
+
res = client.maps.search(limit=3, location="Austin, TX", query="coffee")
|
|
582
582
|
"""
|
|
583
583
|
raw = await self._client._arun_raw( # pyright: ignore[reportPrivateUsage]
|
|
584
584
|
"maps.search", dict(input), options
|
|
@@ -19,7 +19,7 @@ class PinterestSearchInput(TypedDict, total=False):
|
|
|
19
19
|
"""Input for Pinterest Search."""
|
|
20
20
|
|
|
21
21
|
limit: NotRequired[int]
|
|
22
|
-
"""Maximum number of results to return (1-20, default 20).
|
|
22
|
+
"""Maximum number of results to return (1-20, default 20). Range: 1 to 20."""
|
|
23
23
|
preferLatencyUnderMs: NotRequired[int]
|
|
24
24
|
"""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."""
|
|
25
25
|
query: Required[str]
|
|
@@ -195,7 +195,7 @@ class TiktokHashtagVideosInput(TypedDict, total=False):
|
|
|
195
195
|
hashtag: Required[str]
|
|
196
196
|
"""TikTok hashtag to fetch videos for, without the # prefix (e.g. booktok)."""
|
|
197
197
|
limit: NotRequired[int]
|
|
198
|
-
"""Maximum number of results to return (1-20, default 20).
|
|
198
|
+
"""Maximum number of results to return (1-20, default 20). Range: 1 to 20."""
|
|
199
199
|
preferLatencyUnderMs: NotRequired[int]
|
|
200
200
|
"""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."""
|
|
201
201
|
|
|
@@ -1884,7 +1884,7 @@ class TiktokNamespace:
|
|
|
1884
1884
|
List recent TikTok videos for a hashtag (creator, caption, views, likes,
|
|
1885
1885
|
shares).
|
|
1886
1886
|
|
|
1887
|
-
Price: $0.
|
|
1887
|
+
Price: $0.0036 per request.
|
|
1888
1888
|
|
|
1889
1889
|
Example:
|
|
1890
1890
|
res = client.tiktok.hashtag_videos(hashtag="cooking", limit=3)
|
|
@@ -2759,7 +2759,7 @@ class AsyncTiktokNamespace:
|
|
|
2759
2759
|
List recent TikTok videos for a hashtag (creator, caption, views, likes,
|
|
2760
2760
|
shares).
|
|
2761
2761
|
|
|
2762
|
-
Price: $0.
|
|
2762
|
+
Price: $0.0036 per request.
|
|
2763
2763
|
|
|
2764
2764
|
Example:
|
|
2765
2765
|
res = client.tiktok.hashtag_videos(hashtag="cooking", limit=3)
|
|
@@ -109,7 +109,7 @@ class TiktokShopSearchInput(TypedDict, total=False):
|
|
|
109
109
|
]
|
|
110
110
|
"""Country code of the TikTok Shop market to search (e.g. US). Default: US."""
|
|
111
111
|
limit: NotRequired[int]
|
|
112
|
-
"""Maximum number of results to return (1-10, default 10).
|
|
112
|
+
"""Maximum number of results to return (1-10, default 10). Range: 1 to 10."""
|
|
113
113
|
preferLatencyUnderMs: NotRequired[int]
|
|
114
114
|
"""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."""
|
|
115
115
|
query: Required[str]
|
|
@@ -21,7 +21,7 @@ class TripadvisorReviewsInput(TypedDict, total=False):
|
|
|
21
21
|
languages: NotRequired[list[str]]
|
|
22
22
|
"""Only return reviews in these ISO 639-1 languages (e.g. ["en", "es"]); omit for all languages."""
|
|
23
23
|
limit: NotRequired[int]
|
|
24
|
-
"""Maximum number of results to return (1-20, default 20).
|
|
24
|
+
"""Maximum number of results to return (1-20, default 20). Range: 1 to 20."""
|
|
25
25
|
preferLatencyUnderMs: NotRequired[int]
|
|
26
26
|
"""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."""
|
|
27
27
|
ratings: NotRequired[list[Literal["1", "2", "3", "4", "5"]]]
|
|
@@ -44,7 +44,7 @@ class TripadvisorSearchInput(TypedDict, total=False):
|
|
|
44
44
|
includeRestaurants: NotRequired[bool]
|
|
45
45
|
"""Include restaurants in the results; set false to exclude them (e.g. false). Defaults to true. Default: true."""
|
|
46
46
|
limit: NotRequired[int]
|
|
47
|
-
"""Maximum number of results to return (1-20, default 20).
|
|
47
|
+
"""Maximum number of results to return (1-20, default 20). Range: 1 to 20."""
|
|
48
48
|
preferLatencyUnderMs: NotRequired[int]
|
|
49
49
|
"""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."""
|
|
50
50
|
query: Required[str]
|
|
@@ -25,7 +25,7 @@ class TrustpilotReviewsInput(TypedDict, total=False):
|
|
|
25
25
|
languages: NotRequired[list[str]]
|
|
26
26
|
"""Only return reviews in these ISO 639-1 languages (e.g. ["en", "de"]); omit for all languages."""
|
|
27
27
|
limit: NotRequired[int]
|
|
28
|
-
"""Maximum number of results to return (1-200, default 200). Trustpilot serves at most 200 reviews per company.
|
|
28
|
+
"""Maximum number of results to return (1-200, default 200). Trustpilot serves at most 200 reviews per company. Range: 1 to 200. Default: 200."""
|
|
29
29
|
preferLatencyUnderMs: NotRequired[int]
|
|
30
30
|
"""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."""
|
|
31
31
|
sortBy: NotRequired[str]
|
|
@@ -91,7 +91,7 @@ class TrustpilotNamespace:
|
|
|
91
91
|
Pull Trustpilot reviews for any company by brand name: star ratings, review
|
|
92
92
|
text, dates, and reviewer details as clean JSON.
|
|
93
93
|
|
|
94
|
-
Price: $0.
|
|
94
|
+
Price: $0.00225 per request.
|
|
95
95
|
|
|
96
96
|
Example:
|
|
97
97
|
res = client.trustpilot.reviews(company="stripe.com", limit=3)
|
|
@@ -119,7 +119,7 @@ class AsyncTrustpilotNamespace:
|
|
|
119
119
|
Pull Trustpilot reviews for any company by brand name: star ratings, review
|
|
120
120
|
text, dates, and reviewer details as clean JSON.
|
|
121
121
|
|
|
122
|
-
Price: $0.
|
|
122
|
+
Price: $0.00225 per request.
|
|
123
123
|
|
|
124
124
|
Example:
|
|
125
125
|
res = client.trustpilot.reviews(company="stripe.com", limit=3)
|
|
@@ -51,7 +51,7 @@ class WebScrapeInput(TypedDict, total=False):
|
|
|
51
51
|
excludeTags: NotRequired[list[str]]
|
|
52
52
|
"""CSS selectors to drop before capture (for example ["nav", "footer", ".ads"]). Applied after includeTags."""
|
|
53
53
|
formats: NotRequired[list[Literal["markdown", "html", "rawHtml"]]]
|
|
54
|
-
"""Which representations of the page to return. Any combination of: markdown (page content as Markdown), html (
|
|
54
|
+
"""Which representations of the page to return. Any combination of: markdown (page content as Markdown), html (the page HTML exactly as the browser received it, including head and script tags). Each requested format is returned under the matching output field. Defaults to both. rawHtml is a deprecated alias of html, returned under a rawHtml field for callers that predate the rename; send html instead."""
|
|
55
55
|
includeTags: NotRequired[list[str]]
|
|
56
56
|
"""CSS selectors to keep. When set, only content matching these selectors is captured (for example ["article", "main"] or ["#content"])."""
|
|
57
57
|
mobile: NotRequired[bool]
|
|
@@ -60,8 +60,6 @@ class WebScrapeInput(TypedDict, total=False):
|
|
|
60
60
|
"""When true, return only the main article content, stripping navigation, headers, footers, and other boilerplate. Defaults to false to capture the full page. Default: false."""
|
|
61
61
|
preferLatencyUnderMs: NotRequired[int]
|
|
62
62
|
"""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."""
|
|
63
|
-
stealth: NotRequired[bool]
|
|
64
|
-
"""When true, fetch through a stealth proxy that gets past bot protection which refuses an ordinary request. This costs materially more per request (see the pricing ceiling), so leave it off unless a normal scrape of the site comes back blocked or empty. Default: false."""
|
|
65
63
|
url: Required[str]
|
|
66
64
|
"""The URL of the page to scrape."""
|
|
67
65
|
waitFor: NotRequired[int]
|
|
@@ -118,7 +116,7 @@ class WebScrapeData(BaseModel):
|
|
|
118
116
|
description: str = Field(description="The page meta description.")
|
|
119
117
|
html: str | None = Field(
|
|
120
118
|
default=None,
|
|
121
|
-
description="The
|
|
119
|
+
description="The page HTML exactly as the browser received it, head and script tags included. Present when 'html' is among the requested formats (the default).",
|
|
122
120
|
)
|
|
123
121
|
markdown: str | None = Field(
|
|
124
122
|
default=None,
|
|
@@ -127,7 +125,7 @@ class WebScrapeData(BaseModel):
|
|
|
127
125
|
raw_html: str | None = Field(
|
|
128
126
|
default=None,
|
|
129
127
|
alias="rawHtml",
|
|
130
|
-
description="The
|
|
128
|
+
description="The same bytes as 'html'. Deprecated alias returned only when 'rawHtml' is among the requested formats; use 'html'.",
|
|
131
129
|
)
|
|
132
130
|
title: str = Field(description="The page title from its metadata.")
|
|
133
131
|
url: str = Field(
|
|
@@ -206,7 +204,7 @@ class WebNamespace:
|
|
|
206
204
|
Price: $0.0007 per request.
|
|
207
205
|
|
|
208
206
|
Example:
|
|
209
|
-
res = client.web.scrape(formats=["markdown", "
|
|
207
|
+
res = client.web.scrape(formats=["markdown", "html"], onlyMainContent=False, url="https://example.com")
|
|
210
208
|
"""
|
|
211
209
|
raw = self._client._run_raw( # pyright: ignore[reportPrivateUsage]
|
|
212
210
|
"web.scrape", dict(input), options
|
|
@@ -287,7 +285,7 @@ class AsyncWebNamespace:
|
|
|
287
285
|
Price: $0.0007 per request.
|
|
288
286
|
|
|
289
287
|
Example:
|
|
290
|
-
res = client.web.scrape(formats=["markdown", "
|
|
288
|
+
res = client.web.scrape(formats=["markdown", "html"], onlyMainContent=False, url="https://example.com")
|
|
291
289
|
"""
|
|
292
290
|
raw = await self._client._arun_raw( # pyright: ignore[reportPrivateUsage]
|
|
293
291
|
"web.scrape", dict(input), options
|
|
@@ -62,7 +62,7 @@ class ZillowSearchInput(TypedDict, total=False):
|
|
|
62
62
|
includeRoomForRent: NotRequired[bool]
|
|
63
63
|
"""Include room-for-rent listings in rent searches; when omitted or false only entire places are returned (e.g. true)."""
|
|
64
64
|
limit: NotRequired[int]
|
|
65
|
-
"""Maximum number of results to return (1-25, default 25).
|
|
65
|
+
"""Maximum number of results to return (1-25, default 25). Range: 1 to 25. Default: 25."""
|
|
66
66
|
listingTypes: NotRequired[
|
|
67
67
|
list[
|
|
68
68
|
Literal[
|
|
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
|