getanyapi 0.68.0__tar.gz → 0.69.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 (106) hide show
  1. {getanyapi-0.68.0 → getanyapi-0.69.0}/PKG-INFO +1 -1
  2. {getanyapi-0.68.0 → getanyapi-0.69.0}/pyproject.toml +1 -1
  3. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/__init__.py +1 -1
  4. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/linkedin.py +26 -7
  5. {getanyapi-0.68.0 → getanyapi-0.69.0}/.gitignore +0 -0
  6. {getanyapi-0.68.0 → getanyapi-0.69.0}/README.md +0 -0
  7. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/_account.py +0 -0
  8. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/_async_client.py +0 -0
  9. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/_client.py +0 -0
  10. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/_errors.py +0 -0
  11. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/_idempotency.py +0 -0
  12. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/_pagination.py +0 -0
  13. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/_transport.py +0 -0
  14. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/discovery_types.py +0 -0
  15. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/__init__.py +0 -0
  16. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/ahrefs.py +0 -0
  17. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/airbnb.py +0 -0
  18. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/alibaba.py +0 -0
  19. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/amazon.py +0 -0
  20. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/apollo.py +0 -0
  21. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/appstore.py +0 -0
  22. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/bluesky.py +0 -0
  23. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/booking.py +0 -0
  24. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/capterra.py +0 -0
  25. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/chatgpt.py +0 -0
  26. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/coinmarketcap.py +0 -0
  27. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/company.py +0 -0
  28. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/company_enrichment.py +0 -0
  29. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/company_identify.py +0 -0
  30. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/company_search.py +0 -0
  31. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/congress.py +0 -0
  32. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/contact_enrichment.py +0 -0
  33. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/douyin.py +0 -0
  34. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/ebay.py +0 -0
  35. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/email.py +0 -0
  36. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/email_finding.py +0 -0
  37. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/email_verification.py +0 -0
  38. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/facebook.py +0 -0
  39. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/fiverr.py +0 -0
  40. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/g2.py +0 -0
  41. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/gemini.py +0 -0
  42. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/github.py +0 -0
  43. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/glassdoor.py +0 -0
  44. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/google.py +0 -0
  45. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/google_ads.py +0 -0
  46. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/google_finance.py +0 -0
  47. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/google_shopping.py +0 -0
  48. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/hackernews.py +0 -0
  49. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/indeed.py +0 -0
  50. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/instagram.py +0 -0
  51. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/job_search.py +0 -0
  52. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/maps.py +0 -0
  53. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/mobile_phone.py +0 -0
  54. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/naver.py +0 -0
  55. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/nextdoor.py +0 -0
  56. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/people_search.py +0 -0
  57. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/perplexity.py +0 -0
  58. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/person.py +0 -0
  59. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/person_enrichment.py +0 -0
  60. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/pinterest.py +0 -0
  61. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/playstore.py +0 -0
  62. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/polymarket.py +0 -0
  63. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/property_records.py +0 -0
  64. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/realtor.py +0 -0
  65. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/reddit.py +0 -0
  66. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/redfin.py +0 -0
  67. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/rednote.py +0 -0
  68. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/sec.py +0 -0
  69. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/semrush.py +0 -0
  70. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/seo.py +0 -0
  71. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/similarweb.py +0 -0
  72. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/snapchat.py +0 -0
  73. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/social.py +0 -0
  74. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/spotify.py +0 -0
  75. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/substack.py +0 -0
  76. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/technographics.py +0 -0
  77. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/threads.py +0 -0
  78. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/tiktok.py +0 -0
  79. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/tiktok_shop.py +0 -0
  80. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/tripadvisor.py +0 -0
  81. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/trustpilot.py +0 -0
  82. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/truthsocial.py +0 -0
  83. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/twitter.py +0 -0
  84. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/upwork.py +0 -0
  85. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/walmart.py +0 -0
  86. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/web.py +0 -0
  87. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/weibo.py +0 -0
  88. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/yahoo_finance.py +0 -0
  89. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/yelp.py +0 -0
  90. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/youtube.py +0 -0
  91. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/zhihu.py +0 -0
  92. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/platforms/zillow.py +0 -0
  93. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/py.typed +0 -0
  94. {getanyapi-0.68.0 → getanyapi-0.69.0}/src/getanyapi/types.py +0 -0
  95. {getanyapi-0.68.0 → getanyapi-0.69.0}/tests/conftest.py +0 -0
  96. {getanyapi-0.68.0 → getanyapi-0.69.0}/tests/test_account.py +0 -0
  97. {getanyapi-0.68.0 → getanyapi-0.69.0}/tests/test_client.py +0 -0
  98. {getanyapi-0.68.0 → getanyapi-0.69.0}/tests/test_durable_requests.py +0 -0
  99. {getanyapi-0.68.0 → getanyapi-0.69.0}/tests/test_envelope.py +0 -0
  100. {getanyapi-0.68.0 → getanyapi-0.69.0}/tests/test_errors.py +0 -0
  101. {getanyapi-0.68.0 → getanyapi-0.69.0}/tests/test_fixture_roundtrip.py +0 -0
  102. {getanyapi-0.68.0 → getanyapi-0.69.0}/tests/test_fixture_sweep.py +0 -0
  103. {getanyapi-0.68.0 → getanyapi-0.69.0}/tests/test_not_found_reason.py +0 -0
  104. {getanyapi-0.68.0 → getanyapi-0.69.0}/tests/test_pagination.py +0 -0
  105. {getanyapi-0.68.0 → getanyapi-0.69.0}/tests/test_transport.py +0 -0
  106. {getanyapi-0.68.0 → getanyapi-0.69.0}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: getanyapi
3
- Version: 0.68.0
3
+ Version: 0.69.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.68.0"
7
+ version = "0.69.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.68.0"
58
+ __version__ = "0.69.0"
59
59
 
60
60
  __all__ = [
61
61
  # clients + top-level functions
@@ -136,7 +136,7 @@ class LinkedinCompanyEmployeesInput(TypedDict, total=False):
136
136
  jobTitle: NotRequired[str]
137
137
  """Optional job-title filter supporting boolean operators (e.g. CEO OR CTO)."""
138
138
  limit: NotRequired[int]
139
- """Maximum number of results to return (1-10, default 10). You are billed per result returned, so a lower limit costs less. Range: 1 to 10."""
139
+ """Maximum number of results to return (1-10, default 10). Range: 1 to 10."""
140
140
  preferLatencyUnderMs: NotRequired[int]
141
141
  """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."""
142
142
  requireFields: NotRequired[
@@ -211,6 +211,8 @@ class LinkedinCompanyThinInput(TypedDict, total=False):
211
211
  """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."""
212
212
  preferLatencyUnderMs: NotRequired[int]
213
213
  """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."""
214
+ requireFields: NotRequired[list[Literal["companyType", "coverImage"]]]
215
+ """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 `companyType` or `coverImage`, 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 company page that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge."""
214
216
  source: NotRequired[list[str]]
215
217
  """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`."""
216
218
  url: Required[str]
@@ -629,6 +631,23 @@ class LinkedinSearchPostsFullInput(TypedDict, total=False):
629
631
  """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."""
630
632
  query: Required[str]
631
633
  """LinkedIn post search query, including quoted terms or Boolean operators accepted by LinkedIn search."""
634
+ requireFields: NotRequired[
635
+ list[
636
+ Literal[
637
+ "attachmentDescription",
638
+ "attachmentImage",
639
+ "attachmentSubtitle",
640
+ "attachmentTitle",
641
+ "attachmentType",
642
+ "attachmentUrl",
643
+ "pollClosed",
644
+ "pollOptions",
645
+ "pollQuestion",
646
+ "pollTotalVotes",
647
+ ]
648
+ ]
649
+ ]
650
+ """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 `attachmentType` or `pollOptions`, 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 post that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge."""
632
651
  sort: NotRequired[Literal["relevance", "date"]]
633
652
  """Order results by search relevance or publication date. Default: relevance."""
634
653
  source: NotRequired[list[str]]
@@ -4164,7 +4183,7 @@ class LinkedinNamespace:
4164
4183
  List the employees of a LinkedIn company by name or company URL, with
4165
4184
  optional job-title filtering.
4166
4185
 
4167
- Price: $0.0032 per request plus $0.0048 per result (maximum $0.0512).
4186
+ Price: $0.006 per request.
4168
4187
 
4169
4188
  Example:
4170
4189
  res = client.linkedin.company_employees(company="stripe", limit=3)
@@ -4229,7 +4248,7 @@ class LinkedinNamespace:
4229
4248
  tagline. No follower count, founded year, office locations, or funding data
4230
4249
  - for those use linkedin.company.
4231
4250
 
4232
- Price: $0.0012 per request.
4251
+ Price: $0.001 per request.
4233
4252
 
4234
4253
  Example:
4235
4254
  res = client.linkedin.company_thin(url="https://www.linkedin.com/company/stripe")
@@ -4622,7 +4641,7 @@ class LinkedinNamespace:
4622
4641
  Search public LinkedIn posts with rich author, engagement, attachment, and
4623
4642
  poll details.
4624
4643
 
4625
- Price: $0.005 per request.
4644
+ Price: $0.003 per request.
4626
4645
 
4627
4646
  Example:
4628
4647
  res = client.linkedin.search_posts_full(datePosted="last-week", limit=10, query="artificial intelligence", sort="relevance")
@@ -4858,7 +4877,7 @@ class AsyncLinkedinNamespace:
4858
4877
  List the employees of a LinkedIn company by name or company URL, with
4859
4878
  optional job-title filtering.
4860
4879
 
4861
- Price: $0.0032 per request plus $0.0048 per result (maximum $0.0512).
4880
+ Price: $0.006 per request.
4862
4881
 
4863
4882
  Example:
4864
4883
  res = client.linkedin.company_employees(company="stripe", limit=3)
@@ -4923,7 +4942,7 @@ class AsyncLinkedinNamespace:
4923
4942
  tagline. No follower count, founded year, office locations, or funding data
4924
4943
  - for those use linkedin.company.
4925
4944
 
4926
- Price: $0.0012 per request.
4945
+ Price: $0.001 per request.
4927
4946
 
4928
4947
  Example:
4929
4948
  res = client.linkedin.company_thin(url="https://www.linkedin.com/company/stripe")
@@ -5316,7 +5335,7 @@ class AsyncLinkedinNamespace:
5316
5335
  Search public LinkedIn posts with rich author, engagement, attachment, and
5317
5336
  poll details.
5318
5337
 
5319
- Price: $0.005 per request.
5338
+ Price: $0.003 per request.
5320
5339
 
5321
5340
  Example:
5322
5341
  res = client.linkedin.search_posts_full(datePosted="last-week", limit=10, query="artificial intelligence", sort="relevance")
File without changes
File without changes
File without changes
File without changes