getanyapi 0.90.12__tar.gz → 0.91.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 (109) hide show
  1. {getanyapi-0.90.12 → getanyapi-0.91.0}/PKG-INFO +1 -1
  2. {getanyapi-0.90.12 → getanyapi-0.91.0}/pyproject.toml +1 -1
  3. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/__init__.py +1 -1
  4. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/facebook.py +4 -4
  5. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/google.py +2 -2
  6. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/google_ads.py +2 -2
  7. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/threads.py +2 -2
  8. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/tiktok.py +2 -2
  9. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/youtube.py +20 -6
  10. {getanyapi-0.90.12 → getanyapi-0.91.0}/.gitignore +0 -0
  11. {getanyapi-0.90.12 → getanyapi-0.91.0}/README.md +0 -0
  12. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/_account.py +0 -0
  13. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/_async_client.py +0 -0
  14. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/_client.py +0 -0
  15. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/_errors.py +0 -0
  16. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/_idempotency.py +0 -0
  17. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/_pagination.py +0 -0
  18. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/_transport.py +0 -0
  19. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/discovery_types.py +0 -0
  20. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/__init__.py +0 -0
  21. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/ahrefs.py +0 -0
  22. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/airbnb.py +0 -0
  23. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/alibaba.py +0 -0
  24. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/amazon.py +0 -0
  25. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/apollo.py +0 -0
  26. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/appstore.py +0 -0
  27. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/bluesky.py +0 -0
  28. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/booking.py +0 -0
  29. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/capterra.py +0 -0
  30. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/chatgpt.py +0 -0
  31. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/coinmarketcap.py +0 -0
  32. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/company.py +0 -0
  33. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/company_enrichment.py +0 -0
  34. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/company_identify.py +0 -0
  35. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/company_search.py +0 -0
  36. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/congress.py +0 -0
  37. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/contact_enrichment.py +0 -0
  38. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/douyin.py +0 -0
  39. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/ebay.py +0 -0
  40. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/email.py +0 -0
  41. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/email_finding.py +0 -0
  42. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/email_verification.py +0 -0
  43. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/fiverr.py +0 -0
  44. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/g2.py +0 -0
  45. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/gemini.py +0 -0
  46. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/github.py +0 -0
  47. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/glassdoor.py +0 -0
  48. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/google_finance.py +0 -0
  49. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/google_hotels.py +0 -0
  50. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/google_shopping.py +0 -0
  51. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/hackernews.py +0 -0
  52. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/indeed.py +0 -0
  53. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/instagram.py +0 -0
  54. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/job_search.py +0 -0
  55. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/linkedin.py +0 -0
  56. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/maps.py +0 -0
  57. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/mobile_phone.py +0 -0
  58. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/naver.py +0 -0
  59. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/nextdoor.py +0 -0
  60. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/people_search.py +0 -0
  61. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/perplexity.py +0 -0
  62. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/person.py +0 -0
  63. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/person_enrichment.py +0 -0
  64. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/pexels.py +0 -0
  65. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/pinterest.py +0 -0
  66. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/playstore.py +0 -0
  67. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/polymarket.py +0 -0
  68. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/property_records.py +0 -0
  69. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/realtor.py +0 -0
  70. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/reddit.py +0 -0
  71. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/redfin.py +0 -0
  72. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/rednote.py +0 -0
  73. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/sec.py +0 -0
  74. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/semrush.py +0 -0
  75. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/seo.py +0 -0
  76. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/similarweb.py +0 -0
  77. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/snapchat.py +0 -0
  78. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/social.py +0 -0
  79. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/spotify.py +0 -0
  80. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/substack.py +0 -0
  81. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/technographics.py +0 -0
  82. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/tiktok_shop.py +0 -0
  83. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/tripadvisor.py +0 -0
  84. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/trustpilot.py +0 -0
  85. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/truthsocial.py +0 -0
  86. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/twitter.py +0 -0
  87. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/unsplash.py +0 -0
  88. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/upwork.py +0 -0
  89. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/walmart.py +0 -0
  90. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/web.py +0 -0
  91. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/weibo.py +0 -0
  92. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/yahoo_finance.py +0 -0
  93. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/yelp.py +0 -0
  94. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/zhihu.py +0 -0
  95. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/platforms/zillow.py +0 -0
  96. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/py.typed +0 -0
  97. {getanyapi-0.90.12 → getanyapi-0.91.0}/src/getanyapi/types.py +0 -0
  98. {getanyapi-0.90.12 → getanyapi-0.91.0}/tests/conftest.py +0 -0
  99. {getanyapi-0.90.12 → getanyapi-0.91.0}/tests/test_account.py +0 -0
  100. {getanyapi-0.90.12 → getanyapi-0.91.0}/tests/test_client.py +0 -0
  101. {getanyapi-0.90.12 → getanyapi-0.91.0}/tests/test_durable_requests.py +0 -0
  102. {getanyapi-0.90.12 → getanyapi-0.91.0}/tests/test_envelope.py +0 -0
  103. {getanyapi-0.90.12 → getanyapi-0.91.0}/tests/test_errors.py +0 -0
  104. {getanyapi-0.90.12 → getanyapi-0.91.0}/tests/test_fixture_roundtrip.py +0 -0
  105. {getanyapi-0.90.12 → getanyapi-0.91.0}/tests/test_fixture_sweep.py +0 -0
  106. {getanyapi-0.90.12 → getanyapi-0.91.0}/tests/test_not_found_reason.py +0 -0
  107. {getanyapi-0.90.12 → getanyapi-0.91.0}/tests/test_pagination.py +0 -0
  108. {getanyapi-0.90.12 → getanyapi-0.91.0}/tests/test_transport.py +0 -0
  109. {getanyapi-0.90.12 → getanyapi-0.91.0}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: getanyapi
3
- Version: 0.90.12
3
+ Version: 0.91.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.90.12"
7
+ version = "0.91.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.90.12"
58
+ __version__ = "0.91.0"
59
59
 
60
60
  __all__ = [
61
61
  # clients + top-level functions
@@ -2619,7 +2619,7 @@ class FacebookNamespace:
2619
2619
  Search the Meta Ad Library by keyword and get matching ads (advertiser,
2620
2620
  creative text, CTA, platforms, and run dates) with cursor pagination.
2621
2621
 
2622
- Price: $0.001 per request.
2622
+ Price: $0.0011 per request.
2623
2623
 
2624
2624
  Example:
2625
2625
  res = client.facebook.ads_search(country="US", query="nike", searchType="keyword_exact_phrase")
@@ -2707,7 +2707,7 @@ class FacebookNamespace:
2707
2707
  List the Meta Ad Library ads a company is running by page ID or company name
2708
2708
  (creative text, format, platforms, and run dates) with cursor pagination.
2709
2709
 
2710
- Price: $0.001 per request.
2710
+ Price: $0.0011 per request.
2711
2711
 
2712
2712
  Example:
2713
2713
  res = client.facebook.company_ads(pageId="15087023444", sortBy="recent")
@@ -3474,7 +3474,7 @@ class AsyncFacebookNamespace:
3474
3474
  Search the Meta Ad Library by keyword and get matching ads (advertiser,
3475
3475
  creative text, CTA, platforms, and run dates) with cursor pagination.
3476
3476
 
3477
- Price: $0.001 per request.
3477
+ Price: $0.0011 per request.
3478
3478
 
3479
3479
  Example:
3480
3480
  res = client.facebook.ads_search(country="US", query="nike", searchType="keyword_exact_phrase")
@@ -3562,7 +3562,7 @@ class AsyncFacebookNamespace:
3562
3562
  List the Meta Ad Library ads a company is running by page ID or company name
3563
3563
  (creative text, format, platforms, and run dates) with cursor pagination.
3564
3564
 
3565
- Price: $0.001 per request.
3565
+ Price: $0.0011 per request.
3566
3566
 
3567
3567
  Example:
3568
3568
  res = client.facebook.company_ads(pageId="15087023444", sortBy="recent")
@@ -852,7 +852,7 @@ class GoogleNamespace:
852
852
  further, or use google.search_100 for up to 100 ranked results in one call,
853
853
  which is cheaper past roughly 20 results.
854
854
 
855
- Price: $0.0004 per request.
855
+ Price: $0.0005 per request.
856
856
 
857
857
  Example:
858
858
  res = client.google.search(gl="us", hl="en", limit=10, query="best coffee maker")
@@ -1141,7 +1141,7 @@ class AsyncGoogleNamespace:
1141
1141
  further, or use google.search_100 for up to 100 ranked results in one call,
1142
1142
  which is cheaper past roughly 20 results.
1143
1143
 
1144
- Price: $0.0004 per request.
1144
+ Price: $0.0005 per request.
1145
1145
 
1146
1146
  Example:
1147
1147
  res = client.google.search(gl="us", hl="en", limit=10, query="best coffee maker")
@@ -343,7 +343,7 @@ class GoogleAdsNamespace:
343
343
  domain or advertiser ID (creative ID, format, ad URL, and first/last shown
344
344
  dates) with cursor pagination.
345
345
 
346
- Price: $0.001 per request.
346
+ Price: $0.0011 per request.
347
347
 
348
348
  Example:
349
349
  res = client.google_ads.company_ads(domain="lululemon.com")
@@ -460,7 +460,7 @@ class AsyncGoogleAdsNamespace:
460
460
  domain or advertiser ID (creative ID, format, ad URL, and first/last shown
461
461
  dates) with cursor pagination.
462
462
 
463
- Price: $0.001 per request.
463
+ Price: $0.0011 per request.
464
464
 
465
465
  Example:
466
466
  res = client.google_ads.company_ads(domain="lululemon.com")
@@ -332,7 +332,7 @@ class ThreadsNamespace:
332
332
  Fetch a Threads user's public profile (bio, follower count, verification,
333
333
  profile picture) by username.
334
334
 
335
- Price: $0.001 per request.
335
+ Price: $0.0011 per request.
336
336
 
337
337
  Example:
338
338
  res = client.threads.profile(username="zuck")
@@ -444,7 +444,7 @@ class AsyncThreadsNamespace:
444
444
  Fetch a Threads user's public profile (bio, follower count, verification,
445
445
  profile picture) by username.
446
446
 
447
- Price: $0.001 per request.
447
+ Price: $0.0011 per request.
448
448
 
449
449
  Example:
450
450
  res = client.threads.profile(username="zuck")
@@ -3657,7 +3657,7 @@ class TiktokNamespace:
3657
3657
  track to read, tiktok.video_transcript_full transcribes the audio with
3658
3658
  AnyAPI's own speech-to-text instead.
3659
3659
 
3660
- Price: $0.001 per request.
3660
+ Price: $0.0011 per request.
3661
3661
 
3662
3662
  Example:
3663
3663
  res = client.tiktok.video_transcript(url="https://www.tiktok.com/@washingtonpost/video/7609177768793787679")
@@ -4768,7 +4768,7 @@ class AsyncTiktokNamespace:
4768
4768
  track to read, tiktok.video_transcript_full transcribes the audio with
4769
4769
  AnyAPI's own speech-to-text instead.
4770
4770
 
4771
- Price: $0.001 per request.
4771
+ Price: $0.0011 per request.
4772
4772
 
4773
4773
  Example:
4774
4774
  res = client.tiktok.video_transcript(url="https://www.tiktok.com/@washingtonpost/video/7609177768793787679")
@@ -27,14 +27,14 @@ class YoutubeChannelInput(TypedDict, total=False):
27
27
  allowFallbacks: NotRequired[bool]
28
28
  """Optional, default true. When false, only the sources listed in `source` may serve; the request is refused with no charge if none of them can. When true, the listed sources are tried first and any other source may serve after them, at the normal price. Default: true."""
29
29
  channelId: NotRequired[str]
30
- """YouTube channel ID (UC...)."""
30
+ """YouTube channel ID (UC...). Pass it directly when you have it: some sources accept only the ID and otherwise look up the handle first, which adds a step."""
31
31
  handle: NotRequired[str]
32
32
  """YouTube channel handle."""
33
33
  ignoreSources: NotRequired[list[str]]
34
34
  """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."""
35
35
  preferLatencyUnderMs: NotRequired[int]
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
- requireFields: NotRequired[list[Literal["views"]]]
37
+ requireFields: NotRequired[list[Literal["handle", "links", "videos", "views"]]]
38
38
  """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 `views`, 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."""
39
39
  source: NotRequired[list[str]]
40
40
  """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`."""
@@ -413,6 +413,10 @@ class YoutubeChannelData(BaseModel):
413
413
  handle: str | None = Field(
414
414
  default=None, description='The channel\'s @handle, for example "@mkbhd".'
415
415
  )
416
+ links: list[YoutubeChannelLink] | None = Field(
417
+ default=None,
418
+ description="The links the channel lists in the Links section of its About page, in the order shown. Empty when the channel lists none, and absent when the serving source does not report links; name `links` in requireFields to be served only by a source that does.",
419
+ )
416
420
  subscribers: int
417
421
  title: str = Field(
418
422
  description="Populated whenever the provider has data for the entity."
@@ -427,6 +431,16 @@ class YoutubeChannelData(BaseModel):
427
431
  )
428
432
 
429
433
 
434
+ class YoutubeChannelLink(BaseModel):
435
+ model_config = ConfigDict(extra="allow")
436
+
437
+ title: str | None = Field(
438
+ default=None,
439
+ description="The label the channel gave the link, when the serving source reports it.",
440
+ )
441
+ url: str = Field(description="The link's address, starting with https://.")
442
+
443
+
430
444
  class YoutubeChannelCommunityPostsData(BaseModel):
431
445
  model_config = ConfigDict(populate_by_name=True)
432
446
 
@@ -1326,7 +1340,7 @@ class YoutubeNamespace:
1326
1340
  """YouTube Channel
1327
1341
 
1328
1342
  Fetch a YouTube channel's stats (subscribers, video count, total views,
1329
- description) by handle or channel ID.
1343
+ description) and the links on its About page, by handle or channel ID.
1330
1344
 
1331
1345
  Price: $0.0005 per request.
1332
1346
 
@@ -1831,7 +1845,7 @@ class YoutubeNamespace:
1831
1845
  Fetch a YouTube video or Short's metadata (title, channel, views, likes,
1832
1846
  duration, publish date) by URL or ID.
1833
1847
 
1834
- Price: $0.0012 per request.
1848
+ Price: $0.0009 per request.
1835
1849
 
1836
1850
  Example:
1837
1851
  res = client.youtube.video(url="https://www.youtube.com/watch?v=dQw4w9WgXcQ")
@@ -1964,7 +1978,7 @@ class AsyncYoutubeNamespace:
1964
1978
  """YouTube Channel
1965
1979
 
1966
1980
  Fetch a YouTube channel's stats (subscribers, video count, total views,
1967
- description) by handle or channel ID.
1981
+ description) and the links on its About page, by handle or channel ID.
1968
1982
 
1969
1983
  Price: $0.0005 per request.
1970
1984
 
@@ -2471,7 +2485,7 @@ class AsyncYoutubeNamespace:
2471
2485
  Fetch a YouTube video or Short's metadata (title, channel, views, likes,
2472
2486
  duration, publish date) by URL or ID.
2473
2487
 
2474
- Price: $0.0012 per request.
2488
+ Price: $0.0009 per request.
2475
2489
 
2476
2490
  Example:
2477
2491
  res = client.youtube.video(url="https://www.youtube.com/watch?v=dQw4w9WgXcQ")
File without changes
File without changes
File without changes