getanyapi 0.92.0__tar.gz → 0.93.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.92.0 → getanyapi-0.93.0}/PKG-INFO +1 -1
  2. {getanyapi-0.92.0 → getanyapi-0.93.0}/pyproject.toml +1 -1
  3. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/__init__.py +1 -1
  4. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/linkedin.py +114 -4
  5. {getanyapi-0.92.0 → getanyapi-0.93.0}/.gitignore +0 -0
  6. {getanyapi-0.92.0 → getanyapi-0.93.0}/README.md +0 -0
  7. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/_account.py +0 -0
  8. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/_async_client.py +0 -0
  9. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/_client.py +0 -0
  10. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/_errors.py +0 -0
  11. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/_idempotency.py +0 -0
  12. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/_pagination.py +0 -0
  13. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/_transport.py +0 -0
  14. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/discovery_types.py +0 -0
  15. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/__init__.py +0 -0
  16. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/ahrefs.py +0 -0
  17. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/airbnb.py +0 -0
  18. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/alibaba.py +0 -0
  19. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/amazon.py +0 -0
  20. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/apollo.py +0 -0
  21. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/appstore.py +0 -0
  22. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/bluesky.py +0 -0
  23. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/booking.py +0 -0
  24. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/capterra.py +0 -0
  25. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/chatgpt.py +0 -0
  26. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/coinmarketcap.py +0 -0
  27. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/company.py +0 -0
  28. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/company_enrichment.py +0 -0
  29. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/company_identify.py +0 -0
  30. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/company_search.py +0 -0
  31. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/congress.py +0 -0
  32. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/contact_enrichment.py +0 -0
  33. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/douyin.py +0 -0
  34. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/ebay.py +0 -0
  35. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/email.py +0 -0
  36. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/email_finding.py +0 -0
  37. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/email_verification.py +0 -0
  38. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/facebook.py +0 -0
  39. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/fiverr.py +0 -0
  40. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/g2.py +0 -0
  41. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/gemini.py +0 -0
  42. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/github.py +0 -0
  43. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/glassdoor.py +0 -0
  44. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/google.py +0 -0
  45. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/google_ads.py +0 -0
  46. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/google_finance.py +0 -0
  47. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/google_hotels.py +0 -0
  48. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/google_shopping.py +0 -0
  49. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/hackernews.py +0 -0
  50. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/indeed.py +0 -0
  51. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/instagram.py +0 -0
  52. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/job_search.py +0 -0
  53. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/maps.py +0 -0
  54. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/mobile_phone.py +0 -0
  55. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/naver.py +0 -0
  56. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/nextdoor.py +0 -0
  57. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/people_search.py +0 -0
  58. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/perplexity.py +0 -0
  59. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/person.py +0 -0
  60. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/person_enrichment.py +0 -0
  61. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/pexels.py +0 -0
  62. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/pinterest.py +0 -0
  63. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/playstore.py +0 -0
  64. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/polymarket.py +0 -0
  65. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/property_records.py +0 -0
  66. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/realtor.py +0 -0
  67. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/reddit.py +0 -0
  68. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/redfin.py +0 -0
  69. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/rednote.py +0 -0
  70. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/sec.py +0 -0
  71. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/semrush.py +0 -0
  72. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/seo.py +0 -0
  73. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/similarweb.py +0 -0
  74. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/snapchat.py +0 -0
  75. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/social.py +0 -0
  76. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/spotify.py +0 -0
  77. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/substack.py +0 -0
  78. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/technographics.py +0 -0
  79. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/threads.py +0 -0
  80. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/tiktok.py +0 -0
  81. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/tiktok_shop.py +0 -0
  82. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/tripadvisor.py +0 -0
  83. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/trustpilot.py +0 -0
  84. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/truthsocial.py +0 -0
  85. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/twitter.py +0 -0
  86. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/unsplash.py +0 -0
  87. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/upwork.py +0 -0
  88. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/walmart.py +0 -0
  89. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/web.py +0 -0
  90. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/weibo.py +0 -0
  91. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/yahoo_finance.py +0 -0
  92. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/yelp.py +0 -0
  93. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/youtube.py +0 -0
  94. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/zhihu.py +0 -0
  95. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/zillow.py +0 -0
  96. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/py.typed +0 -0
  97. {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/types.py +0 -0
  98. {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/conftest.py +0 -0
  99. {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_account.py +0 -0
  100. {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_client.py +0 -0
  101. {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_durable_requests.py +0 -0
  102. {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_envelope.py +0 -0
  103. {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_errors.py +0 -0
  104. {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_fixture_roundtrip.py +0 -0
  105. {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_fixture_sweep.py +0 -0
  106. {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_not_found_reason.py +0 -0
  107. {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_pagination.py +0 -0
  108. {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_transport.py +0 -0
  109. {getanyapi-0.92.0 → getanyapi-0.93.0}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: getanyapi
3
- Version: 0.92.0
3
+ Version: 0.93.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.92.0"
7
+ version = "0.93.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.92.0"
58
+ __version__ = "0.93.0"
59
59
 
60
60
  __all__ = [
61
61
  # clients + top-level functions
@@ -257,6 +257,8 @@ class LinkedinJobsInput(TypedDict, total=False):
257
257
  """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."""
258
258
  company: NotRequired[str]
259
259
  """Filter to a specific company by name (e.g. Google)."""
260
+ cursor: NotRequired[str]
261
+ """Opaque pagination cursor from a previous response's nextCursor. Omit for the first page; pass it to fetch the next page of job listings."""
260
262
  easyApply: NotRequired[bool]
261
263
  """When true, only return jobs offering LinkedIn Easy Apply."""
262
264
  employmentType: NotRequired[
@@ -272,7 +274,7 @@ class LinkedinJobsInput(TypedDict, total=False):
272
274
  ignoreSources: NotRequired[list[str]]
273
275
  """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."""
274
276
  limit: NotRequired[int]
275
- """Maximum number of results to return (1-25, default 25). You are billed per result returned, so a lower limit costs less. Range: 1 to 25."""
277
+ """Accepted for compatibility and ignored: each call returns one full page of up to 25 jobs at one flat price per call; follow nextCursor for more. Range: 1 to 25."""
276
278
  location: NotRequired[str]
277
279
  """City, region, or country to search within (e.g. United States, San Francisco)."""
278
280
  postedLimit: NotRequired[Literal["1h", "24h", "week", "month"]]
@@ -304,6 +306,8 @@ class LinkedinJobsThinInput(TypedDict, total=False):
304
306
  """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."""
305
307
  companyId: NotRequired[str]
306
308
  """Filter to a specific company by its LinkedIn numeric company id."""
309
+ cursor: NotRequired[str]
310
+ """Opaque pagination cursor from a previous response's nextCursor. Omit for the first page; pass it to fetch the next page of job listings."""
307
311
  employmentType: NotRequired[
308
312
  Literal["full-time", "part-time", "contract", "internship", "temporary"]
309
313
  ]
@@ -319,7 +323,7 @@ class LinkedinJobsThinInput(TypedDict, total=False):
319
323
  ignoreSources: NotRequired[list[str]]
320
324
  """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."""
321
325
  limit: NotRequired[int]
322
- """Maximum number of results to return (1-25, default 25). Range: 1 to 25."""
326
+ """Accepted for compatibility and ignored: each call returns one full source page (10 or 25 jobs depending on source); follow nextCursor for more. Range: 1 to 25."""
323
327
  location: NotRequired[str]
324
328
  """City, region, or country to search within."""
325
329
  postedLimit: NotRequired[Literal["24h", "week", "month"]]
@@ -2105,9 +2109,16 @@ class LinkedinJobSalary(BaseModel):
2105
2109
 
2106
2110
 
2107
2111
  class LinkedinJobsData(BaseModel):
2112
+ model_config = ConfigDict(populate_by_name=True)
2113
+
2108
2114
  items: list[LinkedinJobsItem] = Field(
2109
2115
  description="Full job listing records for the search. Populated whenever the provider has data for the entity."
2110
2116
  )
2117
+ next_cursor: str | None = Field(
2118
+ default=None,
2119
+ alias="nextCursor",
2120
+ description="Opaque cursor for the next page of job listings, or null when there are no more. Pass it back as cursor to continue.",
2121
+ )
2111
2122
 
2112
2123
 
2113
2124
  class LinkedinJobsItem(BaseModel):
@@ -2248,9 +2259,16 @@ class LinkedinJobsSalary(BaseModel):
2248
2259
 
2249
2260
 
2250
2261
  class LinkedinJobsThinData(BaseModel):
2262
+ model_config = ConfigDict(populate_by_name=True)
2263
+
2251
2264
  items: list[LinkedinJobsThinItem] = Field(
2252
2265
  description="Job listing index records for the search. Populated whenever the provider has data for the entity."
2253
2266
  )
2267
+ next_cursor: str | None = Field(
2268
+ default=None,
2269
+ alias="nextCursor",
2270
+ description="Opaque cursor for the next page of job listings, or null when there are no more. Pass it back as cursor to continue.",
2271
+ )
2254
2272
 
2255
2273
 
2256
2274
  class LinkedinJobsThinItem(BaseModel):
@@ -4630,7 +4648,7 @@ class LinkedinNamespace:
4630
4648
  description, salary, applicant count, seniority, company details, and
4631
4649
  benefits. Up to 25 jobs per request.
4632
4650
 
4633
- Price: $0.0011 per request plus $0.0011 per result (maximum $0.0286).
4651
+ Price: $0.0286 per request plus $0 per result (maximum $0.0286).
4634
4652
 
4635
4653
  Example:
4636
4654
  res = client.linkedin.jobs(limit=3, location="United States", query="software engineer", workplaceType="remote")
@@ -4640,6 +4658,29 @@ class LinkedinNamespace:
4640
4658
  )
4641
4659
  return RunResult[LinkedinJobsData].model_validate(raw)
4642
4660
 
4661
+ def iter_jobs(
4662
+ self,
4663
+ *,
4664
+ options: RequestOptions | None = None,
4665
+ **input: Unpack[LinkedinJobsInput],
4666
+ ) -> Paginator[LinkedinJobsItem, LinkedinJobsData]:
4667
+ """Iterate LinkedIn Jobs results, following pagination cursors.
4668
+
4669
+ Yields validated `LinkedinJobsItem` items from the `items` field of
4670
+ each page. Use `.pages()` on the returned paginator to walk whole
4671
+ `RunResult` pages.
4672
+ """
4673
+ return paginate(
4674
+ self._client,
4675
+ "linkedin.jobs",
4676
+ dict(input),
4677
+ "items",
4678
+ item_model=LinkedinJobsItem,
4679
+ data_model=LinkedinJobsData,
4680
+ bare=False,
4681
+ options=options,
4682
+ )
4683
+
4643
4684
  def jobs_thin(
4644
4685
  self,
4645
4686
  *,
@@ -4661,6 +4702,29 @@ class LinkedinNamespace:
4661
4702
  )
4662
4703
  return RunResult[LinkedinJobsThinData].model_validate(raw)
4663
4704
 
4705
+ def iter_jobs_thin(
4706
+ self,
4707
+ *,
4708
+ options: RequestOptions | None = None,
4709
+ **input: Unpack[LinkedinJobsThinInput],
4710
+ ) -> Paginator[LinkedinJobsThinItem, LinkedinJobsThinData]:
4711
+ """Iterate LinkedIn Jobs (index) results, following pagination cursors.
4712
+
4713
+ Yields validated `LinkedinJobsThinItem` items from the `items` field of
4714
+ each page. Use `.pages()` on the returned paginator to walk whole
4715
+ `RunResult` pages.
4716
+ """
4717
+ return paginate(
4718
+ self._client,
4719
+ "linkedin.jobs_thin",
4720
+ dict(input),
4721
+ "items",
4722
+ item_model=LinkedinJobsThinItem,
4723
+ data_model=LinkedinJobsThinData,
4724
+ bare=False,
4725
+ options=options,
4726
+ )
4727
+
4664
4728
  def post(
4665
4729
  self,
4666
4730
  *,
@@ -5397,7 +5461,7 @@ class AsyncLinkedinNamespace:
5397
5461
  description, salary, applicant count, seniority, company details, and
5398
5462
  benefits. Up to 25 jobs per request.
5399
5463
 
5400
- Price: $0.0011 per request plus $0.0011 per result (maximum $0.0286).
5464
+ Price: $0.0286 per request plus $0 per result (maximum $0.0286).
5401
5465
 
5402
5466
  Example:
5403
5467
  res = client.linkedin.jobs(limit=3, location="United States", query="software engineer", workplaceType="remote")
@@ -5407,6 +5471,29 @@ class AsyncLinkedinNamespace:
5407
5471
  )
5408
5472
  return RunResult[LinkedinJobsData].model_validate(raw)
5409
5473
 
5474
+ def iter_jobs(
5475
+ self,
5476
+ *,
5477
+ options: RequestOptions | None = None,
5478
+ **input: Unpack[LinkedinJobsInput],
5479
+ ) -> AsyncPaginator[LinkedinJobsItem, LinkedinJobsData]:
5480
+ """Iterate LinkedIn Jobs results, following pagination cursors.
5481
+
5482
+ Yields validated `LinkedinJobsItem` items from the `items` field of
5483
+ each page. Use `.pages()` on the returned paginator to walk whole
5484
+ `RunResult` pages.
5485
+ """
5486
+ return apaginate(
5487
+ self._client,
5488
+ "linkedin.jobs",
5489
+ dict(input),
5490
+ "items",
5491
+ item_model=LinkedinJobsItem,
5492
+ data_model=LinkedinJobsData,
5493
+ bare=False,
5494
+ options=options,
5495
+ )
5496
+
5410
5497
  async def jobs_thin(
5411
5498
  self,
5412
5499
  *,
@@ -5428,6 +5515,29 @@ class AsyncLinkedinNamespace:
5428
5515
  )
5429
5516
  return RunResult[LinkedinJobsThinData].model_validate(raw)
5430
5517
 
5518
+ def iter_jobs_thin(
5519
+ self,
5520
+ *,
5521
+ options: RequestOptions | None = None,
5522
+ **input: Unpack[LinkedinJobsThinInput],
5523
+ ) -> AsyncPaginator[LinkedinJobsThinItem, LinkedinJobsThinData]:
5524
+ """Iterate LinkedIn Jobs (index) results, following pagination cursors.
5525
+
5526
+ Yields validated `LinkedinJobsThinItem` items from the `items` field of
5527
+ each page. Use `.pages()` on the returned paginator to walk whole
5528
+ `RunResult` pages.
5529
+ """
5530
+ return apaginate(
5531
+ self._client,
5532
+ "linkedin.jobs_thin",
5533
+ dict(input),
5534
+ "items",
5535
+ item_model=LinkedinJobsThinItem,
5536
+ data_model=LinkedinJobsThinData,
5537
+ bare=False,
5538
+ options=options,
5539
+ )
5540
+
5431
5541
  async def post(
5432
5542
  self,
5433
5543
  *,
File without changes
File without changes
File without changes
File without changes