getanyapi 0.69.0__tar.gz → 0.70.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.69.0 → getanyapi-0.70.0}/PKG-INFO +1 -1
- {getanyapi-0.69.0 → getanyapi-0.70.0}/pyproject.toml +1 -1
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/__init__.py +1 -1
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/glassdoor.py +20 -5
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/upwork.py +5 -3
- {getanyapi-0.69.0 → getanyapi-0.70.0}/.gitignore +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/README.md +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/_account.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/_async_client.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/_client.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/_errors.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/_idempotency.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/_pagination.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/_transport.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/discovery_types.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/__init__.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/ahrefs.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/airbnb.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/alibaba.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/amazon.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/apollo.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/appstore.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/bluesky.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/booking.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/capterra.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/chatgpt.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/coinmarketcap.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/company.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/company_enrichment.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/company_identify.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/company_search.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/congress.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/contact_enrichment.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/douyin.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/ebay.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/email.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/email_finding.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/email_verification.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/facebook.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/fiverr.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/g2.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/gemini.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/github.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/google.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/google_ads.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/google_finance.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/google_shopping.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/hackernews.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/indeed.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/instagram.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/job_search.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/linkedin.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/maps.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/mobile_phone.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/naver.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/nextdoor.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/people_search.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/perplexity.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/person.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/person_enrichment.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/pinterest.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/playstore.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/polymarket.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/property_records.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/realtor.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/reddit.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/redfin.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/rednote.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/sec.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/semrush.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/seo.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/similarweb.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/snapchat.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/social.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/spotify.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/substack.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/technographics.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/threads.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/tiktok.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/tiktok_shop.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/tripadvisor.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/trustpilot.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/truthsocial.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/twitter.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/walmart.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/web.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/weibo.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/yahoo_finance.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/yelp.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/youtube.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/zhihu.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/platforms/zillow.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/py.typed +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/src/getanyapi/types.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/tests/conftest.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/tests/test_account.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/tests/test_client.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/tests/test_durable_requests.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/tests/test_envelope.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/tests/test_errors.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/tests/test_fixture_roundtrip.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/tests/test_fixture_sweep.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/tests/test_not_found_reason.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/tests/test_pagination.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.0}/tests/test_transport.py +0 -0
- {getanyapi-0.69.0 → getanyapi-0.70.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.70.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
|
|
@@ -25,7 +25,7 @@ class GlassdoorJobsInput(TypedDict, total=False):
|
|
|
25
25
|
ignoreSources: NotRequired[list[str]]
|
|
26
26
|
"""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."""
|
|
27
27
|
limit: NotRequired[int]
|
|
28
|
-
"""Maximum number of results to return (1-20, default 20).
|
|
28
|
+
"""Maximum number of results to return (1-20, default 20). Range: 1 to 20."""
|
|
29
29
|
location: NotRequired[str]
|
|
30
30
|
"""City, region, or country to search within (keyword mode; e.g. United States, New York)."""
|
|
31
31
|
postedLimit: NotRequired[Literal["24h", "week", "month"]]
|
|
@@ -34,6 +34,21 @@ class GlassdoorJobsInput(TypedDict, total=False):
|
|
|
34
34
|
"""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."""
|
|
35
35
|
query: NotRequired[str]
|
|
36
36
|
"""Job title or keywords to search (keyword mode). Provide this or a url."""
|
|
37
|
+
requireFields: NotRequired[
|
|
38
|
+
list[
|
|
39
|
+
Literal[
|
|
40
|
+
"companyIndustry",
|
|
41
|
+
"companyRevenue",
|
|
42
|
+
"companySize",
|
|
43
|
+
"companyType",
|
|
44
|
+
"expired",
|
|
45
|
+
"logoUrl",
|
|
46
|
+
"normalizedTitle",
|
|
47
|
+
"sector",
|
|
48
|
+
]
|
|
49
|
+
]
|
|
50
|
+
]
|
|
51
|
+
"""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 `companyIndustry` or `logoUrl`, 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 job listing that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge."""
|
|
37
52
|
sortBy: NotRequired[Literal["date", "relevance"]]
|
|
38
53
|
"""Sort order: most recent (date) or best match (relevance). Keyword mode only."""
|
|
39
54
|
source: NotRequired[list[str]]
|
|
@@ -177,10 +192,10 @@ class GlassdoorNamespace:
|
|
|
177
192
|
Glassdoor company or job search page URL - up to 20 normalized job records
|
|
178
193
|
per request.
|
|
179
194
|
|
|
180
|
-
Price: $0.
|
|
195
|
+
Price: $0.009 per request.
|
|
181
196
|
|
|
182
197
|
Example:
|
|
183
|
-
res = client.glassdoor.jobs(limit=3,
|
|
198
|
+
res = client.glassdoor.jobs(limit=3, url="https://www.glassdoor.com/Jobs/Google-Jobs-E9079.htm")
|
|
184
199
|
"""
|
|
185
200
|
raw = self._client._run_raw( # pyright: ignore[reportPrivateUsage]
|
|
186
201
|
"glassdoor.jobs", dict(input), options
|
|
@@ -206,10 +221,10 @@ class AsyncGlassdoorNamespace:
|
|
|
206
221
|
Glassdoor company or job search page URL - up to 20 normalized job records
|
|
207
222
|
per request.
|
|
208
223
|
|
|
209
|
-
Price: $0.
|
|
224
|
+
Price: $0.009 per request.
|
|
210
225
|
|
|
211
226
|
Example:
|
|
212
|
-
res = client.glassdoor.jobs(limit=3,
|
|
227
|
+
res = client.glassdoor.jobs(limit=3, url="https://www.glassdoor.com/Jobs/Google-Jobs-E9079.htm")
|
|
213
228
|
"""
|
|
214
229
|
raw = await self._client._arun_raw( # pyright: ignore[reportPrivateUsage]
|
|
215
230
|
"glassdoor.jobs", dict(input), options
|
|
@@ -27,7 +27,7 @@ class UpworkJobsInput(TypedDict, total=False):
|
|
|
27
27
|
jobType: NotRequired[Literal["fixed", "hourly"]]
|
|
28
28
|
"""Filter by payment type: fixed-price or hourly jobs."""
|
|
29
29
|
limit: NotRequired[int]
|
|
30
|
-
"""Maximum number of results to return (10-25, default 25).
|
|
30
|
+
"""Maximum number of results to return (10-25, default 25). Range: 10 to 25."""
|
|
31
31
|
location: NotRequired[str]
|
|
32
32
|
"""Filter by client location - a region, subregion, or country (e.g. United States, Europe)."""
|
|
33
33
|
paymentVerified: NotRequired[bool]
|
|
@@ -36,6 +36,8 @@ class UpworkJobsInput(TypedDict, total=False):
|
|
|
36
36
|
"""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."""
|
|
37
37
|
query: Required[str]
|
|
38
38
|
"""Keywords to search Upwork jobs for (e.g. react developer)."""
|
|
39
|
+
requireFields: NotRequired[list[Literal["premium", "reposted"]]]
|
|
40
|
+
"""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 `premium` or `reposted`, 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 job that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge."""
|
|
39
41
|
sort: NotRequired[Literal["newest", "relevance"]]
|
|
40
42
|
"""Sort order for listings: newest or relevance (e.g. newest). Default: newest."""
|
|
41
43
|
source: NotRequired[list[str]]
|
|
@@ -147,7 +149,7 @@ class UpworkNamespace:
|
|
|
147
149
|
Search Upwork job postings by keyword, with up to 25 fresh listings per
|
|
148
150
|
request.
|
|
149
151
|
|
|
150
|
-
Price: $0.
|
|
152
|
+
Price: $0.01 per request.
|
|
151
153
|
|
|
152
154
|
Example:
|
|
153
155
|
res = client.upwork.jobs(jobType="fixed", limit=10, query="web developer")
|
|
@@ -172,7 +174,7 @@ class AsyncUpworkNamespace:
|
|
|
172
174
|
Search Upwork job postings by keyword, with up to 25 fresh listings per
|
|
173
175
|
request.
|
|
174
176
|
|
|
175
|
-
Price: $0.
|
|
177
|
+
Price: $0.01 per request.
|
|
176
178
|
|
|
177
179
|
Example:
|
|
178
180
|
res = client.upwork.jobs(jobType="fixed", limit=10, query="web developer")
|
|
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
|