getanyapi 0.115.2__tar.gz → 0.116.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.
Files changed (110) hide show
  1. {getanyapi-0.115.2 → getanyapi-0.116.0}/PKG-INFO +1 -1
  2. {getanyapi-0.115.2 → getanyapi-0.116.0}/pyproject.toml +1 -1
  3. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/__init__.py +1 -1
  4. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/google.py +2 -2
  5. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/web.py +7 -0
  6. {getanyapi-0.115.2 → getanyapi-0.116.0}/.gitignore +0 -0
  7. {getanyapi-0.115.2 → getanyapi-0.116.0}/README.md +0 -0
  8. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/_account.py +0 -0
  9. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/_async_client.py +0 -0
  10. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/_client.py +0 -0
  11. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/_errors.py +0 -0
  12. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/_idempotency.py +0 -0
  13. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/_pagination.py +0 -0
  14. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/_transport.py +0 -0
  15. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/discovery_types.py +0 -0
  16. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/__init__.py +0 -0
  17. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/ahrefs.py +0 -0
  18. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/airbnb.py +0 -0
  19. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/alibaba.py +0 -0
  20. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/amazon.py +0 -0
  21. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/apollo.py +0 -0
  22. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/appstore.py +0 -0
  23. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/bing.py +0 -0
  24. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/bluesky.py +0 -0
  25. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/booking.py +0 -0
  26. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/capterra.py +0 -0
  27. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/chatgpt.py +0 -0
  28. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/coinmarketcap.py +0 -0
  29. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/company.py +0 -0
  30. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/company_enrichment.py +0 -0
  31. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/company_identify.py +0 -0
  32. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/company_search.py +0 -0
  33. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/congress.py +0 -0
  34. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/contact_enrichment.py +0 -0
  35. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/douyin.py +0 -0
  36. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/ebay.py +0 -0
  37. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/email.py +0 -0
  38. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/email_finding.py +0 -0
  39. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/email_verification.py +0 -0
  40. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/facebook.py +0 -0
  41. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/fiverr.py +0 -0
  42. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/g2.py +0 -0
  43. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/gemini.py +0 -0
  44. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/github.py +0 -0
  45. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/glassdoor.py +0 -0
  46. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/google_ads.py +0 -0
  47. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/google_finance.py +0 -0
  48. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/google_hotels.py +0 -0
  49. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/google_shopping.py +0 -0
  50. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/hackernews.py +0 -0
  51. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/indeed.py +0 -0
  52. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/instagram.py +0 -0
  53. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/job_search.py +0 -0
  54. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/linkedin.py +0 -0
  55. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/maps.py +0 -0
  56. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/mobile_phone.py +0 -0
  57. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/naver.py +0 -0
  58. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/nextdoor.py +0 -0
  59. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/people_search.py +0 -0
  60. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/perplexity.py +0 -0
  61. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/person.py +0 -0
  62. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/person_enrichment.py +0 -0
  63. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/pexels.py +0 -0
  64. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/pinterest.py +0 -0
  65. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/playstore.py +0 -0
  66. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/polymarket.py +0 -0
  67. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/property_records.py +0 -0
  68. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/realtor.py +0 -0
  69. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/reddit.py +0 -0
  70. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/redfin.py +0 -0
  71. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/rednote.py +0 -0
  72. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/sec.py +0 -0
  73. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/semrush.py +0 -0
  74. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/seo.py +0 -0
  75. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/similarweb.py +0 -0
  76. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/snapchat.py +0 -0
  77. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/social.py +0 -0
  78. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/spotify.py +0 -0
  79. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/substack.py +0 -0
  80. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/technographics.py +0 -0
  81. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/threads.py +0 -0
  82. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/tiktok.py +0 -0
  83. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/tiktok_shop.py +0 -0
  84. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/tripadvisor.py +0 -0
  85. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/trustpilot.py +0 -0
  86. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/truthsocial.py +0 -0
  87. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/twitter.py +0 -0
  88. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/unsplash.py +0 -0
  89. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/upwork.py +0 -0
  90. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/walmart.py +0 -0
  91. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/weibo.py +0 -0
  92. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/yahoo_finance.py +0 -0
  93. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/yelp.py +0 -0
  94. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/youtube.py +0 -0
  95. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/zhihu.py +0 -0
  96. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/platforms/zillow.py +0 -0
  97. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/py.typed +0 -0
  98. {getanyapi-0.115.2 → getanyapi-0.116.0}/src/getanyapi/types.py +0 -0
  99. {getanyapi-0.115.2 → getanyapi-0.116.0}/tests/conftest.py +0 -0
  100. {getanyapi-0.115.2 → getanyapi-0.116.0}/tests/test_account.py +0 -0
  101. {getanyapi-0.115.2 → getanyapi-0.116.0}/tests/test_client.py +0 -0
  102. {getanyapi-0.115.2 → getanyapi-0.116.0}/tests/test_durable_requests.py +0 -0
  103. {getanyapi-0.115.2 → getanyapi-0.116.0}/tests/test_envelope.py +0 -0
  104. {getanyapi-0.115.2 → getanyapi-0.116.0}/tests/test_errors.py +0 -0
  105. {getanyapi-0.115.2 → getanyapi-0.116.0}/tests/test_fixture_roundtrip.py +0 -0
  106. {getanyapi-0.115.2 → getanyapi-0.116.0}/tests/test_fixture_sweep.py +0 -0
  107. {getanyapi-0.115.2 → getanyapi-0.116.0}/tests/test_not_found_reason.py +0 -0
  108. {getanyapi-0.115.2 → getanyapi-0.116.0}/tests/test_pagination.py +0 -0
  109. {getanyapi-0.115.2 → getanyapi-0.116.0}/tests/test_transport.py +0 -0
  110. {getanyapi-0.115.2 → getanyapi-0.116.0}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: getanyapi
3
- Version: 0.115.2
3
+ Version: 0.116.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
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "getanyapi"
7
- version = "0.115.2"
7
+ version = "0.116.0"
8
8
  description = "Official typed Python SDK for AnyAPI: any API, one wallet, USD, no subscriptions."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -55,7 +55,7 @@ from .types import (
55
55
  unwrap,
56
56
  )
57
57
 
58
- __version__ = "0.115.2"
58
+ __version__ = "0.116.0"
59
59
 
60
60
  __all__ = [
61
61
  # clients + top-level functions
@@ -1302,7 +1302,7 @@ class GoogleNamespace:
1302
1302
  further, or use google.search_100 for up to 100 ranked results in one call,
1303
1303
  which is cheaper past roughly 20 results.
1304
1304
 
1305
- Price: $0.0005 per request.
1305
+ Price: $0.0004 per request.
1306
1306
 
1307
1307
  Example:
1308
1308
  res = client.google.search(gl="us", hl="en", limit=10, query="best coffee maker")
@@ -1704,7 +1704,7 @@ class AsyncGoogleNamespace:
1704
1704
  further, or use google.search_100 for up to 100 ranked results in one call,
1705
1705
  which is cheaper past roughly 20 results.
1706
1706
 
1707
- Price: $0.0005 per request.
1707
+ Price: $0.0004 per request.
1708
1708
 
1709
1709
  Example:
1710
1710
  res = client.google.search(gl="us", hl="en", limit=10, query="best coffee maker")
@@ -93,6 +93,8 @@ class WebScrapeInput(TypedDict, total=False):
93
93
  """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."""
94
94
  preferLatencyUnderMs: NotRequired[int]
95
95
  """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."""
96
+ requireFields: NotRequired[list[Literal["statusCode"]]]
97
+ """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 `statusCode`, 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 record that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge. A source that reports a field only in some cases, such as only when the website answered with an error, does not count as returning it."""
96
98
  source: NotRequired[list[str]]
97
99
  """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`."""
98
100
  url: Required[str]
@@ -285,6 +287,11 @@ class WebScrapeData(BaseModel):
285
287
  alias="rawHtml",
286
288
  description="The same bytes as 'html'. Deprecated alias returned only when 'rawHtml' is among the requested formats; use 'html'.",
287
289
  )
290
+ status_code: int | None = Field(
291
+ default=None,
292
+ alias="statusCode",
293
+ description="HTTP status code the website answered with, such as 200, 404 or 500. Absent when it could not be determined. Some sources report it only when the website answered with an error; name `statusCode` in requireFields to be served only by a source that always reports it.",
294
+ )
288
295
  title: str = Field(description="The page title from its metadata.")
289
296
  url: str = Field(
290
297
  description="The canonical source URL of the scraped page. Populated whenever the provider has data for the entity."
File without changes
File without changes
File without changes