crawlora 1.5.0.dev3__tar.gz → 1.6.0.dev1__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.
- {crawlora-1.5.0.dev3/crawlora.egg-info → crawlora-1.6.0.dev1}/PKG-INFO +3 -3
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/README.md +2 -2
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/crawlora/client.py +1 -1
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/crawlora/client.pyi +446 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/crawlora/operations.py +127 -5
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1/crawlora.egg-info}/PKG-INFO +3 -3
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/docs/operations.md +11 -5
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/docs/recipes.md +9 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/pyproject.toml +1 -1
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/tests/test_client.py +2 -2
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/LICENSE +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/MANIFEST.in +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/crawlora/__init__.py +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/crawlora/_pagination.py +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/crawlora/_transport_sync.py +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/crawlora/async_client.py +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/crawlora/py.typed +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/crawlora.egg-info/SOURCES.txt +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/crawlora.egg-info/dependency_links.txt +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/crawlora.egg-info/requires.txt +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/crawlora.egg-info/top_level.txt +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/examples/async_search.py +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/examples/bing_search.py +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/examples/paginate.py +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/examples/youtube_transcript.py +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/setup.cfg +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/tests/test_async_httpx.py +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/tests/test_examples.py +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/tests/test_v14_features.py +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/tests/test_v15_features.py +0 -0
- {crawlora-1.5.0.dev3 → crawlora-1.6.0.dev1}/tests/test_w2_features.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crawlora
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6.0.dev1
|
|
4
4
|
Summary: Official Python SDK for the Crawlora web-scraping API: typed grouped and dynamic operation calls for every public endpoint, with retries, pagination, hooks, and an async client.
|
|
5
5
|
Author: Crawlora
|
|
6
6
|
License-Expression: MIT
|
|
@@ -27,8 +27,8 @@ Dynamic: license-file
|
|
|
27
27
|
# Crawlora Python SDK
|
|
28
28
|
|
|
29
29
|
Python client for the public Crawlora API. Use it to call Crawlora scraping,
|
|
30
|
-
search, marketplace, media, maps, finance, and usage endpoints
|
|
31
|
-
type stubs for editor and type-checker support.
|
|
30
|
+
search, social, marketplace, media, maps, finance, brand, and usage endpoints
|
|
31
|
+
with generated type stubs for editor and type-checker support.
|
|
32
32
|
|
|
33
33
|
- Runtime: Python 3.10+
|
|
34
34
|
- Auth: `x-api-key`
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Crawlora Python SDK
|
|
2
2
|
|
|
3
3
|
Python client for the public Crawlora API. Use it to call Crawlora scraping,
|
|
4
|
-
search, marketplace, media, maps, finance, and usage endpoints
|
|
5
|
-
type stubs for editor and type-checker support.
|
|
4
|
+
search, social, marketplace, media, maps, finance, brand, and usage endpoints
|
|
5
|
+
with generated type stubs for editor and type-checker support.
|
|
6
6
|
|
|
7
7
|
- Runtime: Python 3.10+
|
|
8
8
|
- Auth: `x-api-key`
|
|
@@ -20,7 +20,7 @@ from ._transport_sync import KeepAliveTransport
|
|
|
20
20
|
from .operations import GROUPS, OPERATIONS
|
|
21
21
|
|
|
22
22
|
DEFAULT_BASE_URL = "https://api.crawlora.net/api/v1"
|
|
23
|
-
VERSION = "1.
|
|
23
|
+
VERSION = "1.6.0-sdk.1"
|
|
24
24
|
DEFAULT_USER_AGENT = f"crawlora-python-sdk/{VERSION}"
|
|
25
25
|
DEFAULT_MAX_RETRY_DELAY = 30.0
|
|
26
26
|
DEFAULT_RETRY_STATUSES = (408, 409, 425, 429)
|
|
@@ -968,6 +968,100 @@ ModelBingVideosResponseDoc = TypedDict('ModelBingVideosResponseDoc', {
|
|
|
968
968
|
'msg': NotRequired[str],
|
|
969
969
|
}, total=False)
|
|
970
970
|
|
|
971
|
+
ModelBrandAddress = TypedDict('ModelBrandAddress', {
|
|
972
|
+
'city': NotRequired[str],
|
|
973
|
+
'country': NotRequired[str],
|
|
974
|
+
'country_code': NotRequired[str],
|
|
975
|
+
'postal_code': NotRequired[str],
|
|
976
|
+
'state_code': NotRequired[str],
|
|
977
|
+
'state_province': NotRequired[str],
|
|
978
|
+
'street': NotRequired[str],
|
|
979
|
+
}, total=False)
|
|
980
|
+
|
|
981
|
+
ModelBrandBackdrop = TypedDict('ModelBrandBackdrop', {
|
|
982
|
+
'colors': NotRequired[list[ModelBrandColor]],
|
|
983
|
+
'resolution': NotRequired[ModelBrandResolution],
|
|
984
|
+
'url': NotRequired[str],
|
|
985
|
+
}, total=False)
|
|
986
|
+
|
|
987
|
+
ModelBrandBrandResponse = TypedDict('ModelBrandBrandResponse', {
|
|
988
|
+
'address': NotRequired[ModelBrandAddress],
|
|
989
|
+
'backdrops': NotRequired[list[ModelBrandBackdrop]],
|
|
990
|
+
'colors': NotRequired[list[ModelBrandColor]],
|
|
991
|
+
'description': NotRequired[str],
|
|
992
|
+
'domain': NotRequired[str],
|
|
993
|
+
'email': NotRequired[str],
|
|
994
|
+
'industries': NotRequired[ModelBrandIndustries],
|
|
995
|
+
'is_nsfw': NotRequired[bool],
|
|
996
|
+
'links': NotRequired[ModelBrandLinks],
|
|
997
|
+
'logos': NotRequired[list[ModelBrandLogo]],
|
|
998
|
+
'phone': NotRequired[str],
|
|
999
|
+
'primary_language': NotRequired[str],
|
|
1000
|
+
'slogan': NotRequired[str],
|
|
1001
|
+
'socials': NotRequired[list[ModelBrandSocial]],
|
|
1002
|
+
'source': NotRequired[ModelBrandSourceDetail],
|
|
1003
|
+
'stock': NotRequired[ModelBrandStock],
|
|
1004
|
+
'title': NotRequired[str],
|
|
1005
|
+
}, total=False)
|
|
1006
|
+
|
|
1007
|
+
ModelBrandColor = TypedDict('ModelBrandColor', {
|
|
1008
|
+
'hex': NotRequired[str],
|
|
1009
|
+
'name': NotRequired[str],
|
|
1010
|
+
}, total=False)
|
|
1011
|
+
|
|
1012
|
+
ModelBrandEic = TypedDict('ModelBrandEic', {
|
|
1013
|
+
'industry': NotRequired[str],
|
|
1014
|
+
'subindustry': NotRequired[str],
|
|
1015
|
+
}, total=False)
|
|
1016
|
+
|
|
1017
|
+
ModelBrandIndustries = TypedDict('ModelBrandIndustries', {
|
|
1018
|
+
'eic': NotRequired[list[ModelBrandEic]],
|
|
1019
|
+
}, total=False)
|
|
1020
|
+
|
|
1021
|
+
ModelBrandLinks = TypedDict('ModelBrandLinks', {
|
|
1022
|
+
'blog': NotRequired[str],
|
|
1023
|
+
'careers': NotRequired[str],
|
|
1024
|
+
'contact': NotRequired[str],
|
|
1025
|
+
'pricing': NotRequired[str],
|
|
1026
|
+
'privacy': NotRequired[str],
|
|
1027
|
+
'terms': NotRequired[str],
|
|
1028
|
+
}, total=False)
|
|
1029
|
+
|
|
1030
|
+
ModelBrandLogo = TypedDict('ModelBrandLogo', {
|
|
1031
|
+
'colors': NotRequired[list[ModelBrandColor]],
|
|
1032
|
+
'mode': NotRequired[str],
|
|
1033
|
+
'resolution': NotRequired[ModelBrandResolution],
|
|
1034
|
+
'type': NotRequired[str],
|
|
1035
|
+
'url': NotRequired[str],
|
|
1036
|
+
}, total=False)
|
|
1037
|
+
|
|
1038
|
+
ModelBrandResolution = TypedDict('ModelBrandResolution', {
|
|
1039
|
+
'aspect_ratio': NotRequired[float],
|
|
1040
|
+
'height': NotRequired[int],
|
|
1041
|
+
'width': NotRequired[int],
|
|
1042
|
+
}, total=False)
|
|
1043
|
+
|
|
1044
|
+
ModelBrandSocial = TypedDict('ModelBrandSocial', {
|
|
1045
|
+
'type': NotRequired[str],
|
|
1046
|
+
'url': NotRequired[str],
|
|
1047
|
+
}, total=False)
|
|
1048
|
+
|
|
1049
|
+
ModelBrandSourceDetail = TypedDict('ModelBrandSourceDetail', {
|
|
1050
|
+
'type': NotRequired[str],
|
|
1051
|
+
'url': NotRequired[str],
|
|
1052
|
+
}, total=False)
|
|
1053
|
+
|
|
1054
|
+
ModelBrandStock = TypedDict('ModelBrandStock', {
|
|
1055
|
+
'exchange': NotRequired[str],
|
|
1056
|
+
'ticker': NotRequired[str],
|
|
1057
|
+
}, total=False)
|
|
1058
|
+
|
|
1059
|
+
ModelBrandRetrieveResponseDoc = TypedDict('ModelBrandRetrieveResponseDoc', {
|
|
1060
|
+
'code': NotRequired[int],
|
|
1061
|
+
'data': NotRequired[ModelBrandBrandResponse],
|
|
1062
|
+
'msg': NotRequired[str],
|
|
1063
|
+
}, total=False)
|
|
1064
|
+
|
|
971
1065
|
ModelBraveDiscussion = TypedDict('ModelBraveDiscussion', {
|
|
972
1066
|
'age': NotRequired[str],
|
|
973
1067
|
'comment_count': NotRequired[int],
|
|
@@ -4811,6 +4905,114 @@ ModelProducthuntSearchTopicDoc = TypedDict('ModelProducthuntSearchTopicDoc', {
|
|
|
4811
4905
|
'topic': NotRequired[dict[str, Any]],
|
|
4812
4906
|
}, total=False)
|
|
4813
4907
|
|
|
4908
|
+
ModelRedditAuthor = TypedDict('ModelRedditAuthor', {
|
|
4909
|
+
'name': NotRequired[str],
|
|
4910
|
+
'profile_url': NotRequired[str],
|
|
4911
|
+
}, total=False)
|
|
4912
|
+
|
|
4913
|
+
ModelRedditComment = TypedDict('ModelRedditComment', {
|
|
4914
|
+
'author': NotRequired[ModelRedditAuthor],
|
|
4915
|
+
'body': NotRequired[str],
|
|
4916
|
+
'created': NotRequired[str],
|
|
4917
|
+
'created_utc': NotRequired[int],
|
|
4918
|
+
'depth': NotRequired[int],
|
|
4919
|
+
'id': NotRequired[str],
|
|
4920
|
+
'name': NotRequired[str],
|
|
4921
|
+
'parent_id': NotRequired[str],
|
|
4922
|
+
'permalink': NotRequired[str],
|
|
4923
|
+
'replies': NotRequired[list[ModelRedditComment]],
|
|
4924
|
+
'score': NotRequired[int],
|
|
4925
|
+
}, total=False)
|
|
4926
|
+
|
|
4927
|
+
ModelRedditCommentsResponse = TypedDict('ModelRedditCommentsResponse', {
|
|
4928
|
+
'comments': NotRequired[list[ModelRedditComment]],
|
|
4929
|
+
'post': NotRequired[ModelRedditPost],
|
|
4930
|
+
'source': NotRequired[ModelRedditSourceDetail],
|
|
4931
|
+
}, total=False)
|
|
4932
|
+
|
|
4933
|
+
ModelRedditPagination = TypedDict('ModelRedditPagination', {
|
|
4934
|
+
'after': NotRequired[str],
|
|
4935
|
+
'limit': NotRequired[int],
|
|
4936
|
+
}, total=False)
|
|
4937
|
+
|
|
4938
|
+
ModelRedditPost = TypedDict('ModelRedditPost', {
|
|
4939
|
+
'author': NotRequired[ModelRedditAuthor],
|
|
4940
|
+
'comment_count': NotRequired[int],
|
|
4941
|
+
'created': NotRequired[str],
|
|
4942
|
+
'created_utc': NotRequired[int],
|
|
4943
|
+
'domain': NotRequired[str],
|
|
4944
|
+
'flair': NotRequired[str],
|
|
4945
|
+
'id': NotRequired[str],
|
|
4946
|
+
'is_self': NotRequired[bool],
|
|
4947
|
+
'is_video': NotRequired[bool],
|
|
4948
|
+
'locked': NotRequired[bool],
|
|
4949
|
+
'name': NotRequired[str],
|
|
4950
|
+
'over_18': NotRequired[bool],
|
|
4951
|
+
'permalink': NotRequired[str],
|
|
4952
|
+
'score': NotRequired[int],
|
|
4953
|
+
'selftext': NotRequired[str],
|
|
4954
|
+
'source_feed_url': NotRequired[str],
|
|
4955
|
+
'stickied': NotRequired[bool],
|
|
4956
|
+
'subreddit': NotRequired[str],
|
|
4957
|
+
'thumbnail': NotRequired[str],
|
|
4958
|
+
'title': NotRequired[str],
|
|
4959
|
+
'upvote_ratio': NotRequired[float],
|
|
4960
|
+
'url': NotRequired[str],
|
|
4961
|
+
}, total=False)
|
|
4962
|
+
|
|
4963
|
+
ModelRedditPostResponse = TypedDict('ModelRedditPostResponse', {
|
|
4964
|
+
'post': NotRequired[ModelRedditPost],
|
|
4965
|
+
'source': NotRequired[ModelRedditSourceDetail],
|
|
4966
|
+
}, total=False)
|
|
4967
|
+
|
|
4968
|
+
ModelRedditSearchResponse = TypedDict('ModelRedditSearchResponse', {
|
|
4969
|
+
'pagination': NotRequired[ModelRedditPagination],
|
|
4970
|
+
'posts': NotRequired[list[ModelRedditPost]],
|
|
4971
|
+
'query': NotRequired[str],
|
|
4972
|
+
'sort': NotRequired[str],
|
|
4973
|
+
'source': NotRequired[ModelRedditSourceDetail],
|
|
4974
|
+
'subreddit': NotRequired[str],
|
|
4975
|
+
'time': NotRequired[str],
|
|
4976
|
+
}, total=False)
|
|
4977
|
+
|
|
4978
|
+
ModelRedditSourceDetail = TypedDict('ModelRedditSourceDetail', {
|
|
4979
|
+
'type': NotRequired[str],
|
|
4980
|
+
'url': NotRequired[str],
|
|
4981
|
+
}, total=False)
|
|
4982
|
+
|
|
4983
|
+
ModelRedditSubredditPostsResponse = TypedDict('ModelRedditSubredditPostsResponse', {
|
|
4984
|
+
'pagination': NotRequired[ModelRedditPagination],
|
|
4985
|
+
'posts': NotRequired[list[ModelRedditPost]],
|
|
4986
|
+
'sort': NotRequired[str],
|
|
4987
|
+
'source': NotRequired[ModelRedditSourceDetail],
|
|
4988
|
+
'subreddit': NotRequired[str],
|
|
4989
|
+
'time': NotRequired[str],
|
|
4990
|
+
}, total=False)
|
|
4991
|
+
|
|
4992
|
+
ModelRedditCommentsResponseDoc = TypedDict('ModelRedditCommentsResponseDoc', {
|
|
4993
|
+
'code': NotRequired[int],
|
|
4994
|
+
'data': NotRequired[ModelRedditCommentsResponse],
|
|
4995
|
+
'msg': NotRequired[str],
|
|
4996
|
+
}, total=False)
|
|
4997
|
+
|
|
4998
|
+
ModelRedditPostResponseDoc = TypedDict('ModelRedditPostResponseDoc', {
|
|
4999
|
+
'code': NotRequired[int],
|
|
5000
|
+
'data': NotRequired[ModelRedditPostResponse],
|
|
5001
|
+
'msg': NotRequired[str],
|
|
5002
|
+
}, total=False)
|
|
5003
|
+
|
|
5004
|
+
ModelRedditSearchResponseDoc = TypedDict('ModelRedditSearchResponseDoc', {
|
|
5005
|
+
'code': NotRequired[int],
|
|
5006
|
+
'data': NotRequired[ModelRedditSearchResponse],
|
|
5007
|
+
'msg': NotRequired[str],
|
|
5008
|
+
}, total=False)
|
|
5009
|
+
|
|
5010
|
+
ModelRedditSubredditPostsResponseDoc = TypedDict('ModelRedditSubredditPostsResponseDoc', {
|
|
5011
|
+
'code': NotRequired[int],
|
|
5012
|
+
'data': NotRequired[ModelRedditSubredditPostsResponse],
|
|
5013
|
+
'msg': NotRequired[str],
|
|
5014
|
+
}, total=False)
|
|
5015
|
+
|
|
4814
5016
|
ModelReferralsReferralAttributionDoc = TypedDict('ModelReferralsReferralAttributionDoc', {
|
|
4815
5017
|
'campaign': NotRequired[str],
|
|
4816
5018
|
'code': NotRequired[str],
|
|
@@ -7780,6 +7982,15 @@ ModelYahoofinanceInfoResponse = TypedDict('ModelYahoofinanceInfoResponse', {
|
|
|
7780
7982
|
'symbol': NotRequired[str],
|
|
7781
7983
|
}, total=False)
|
|
7782
7984
|
|
|
7985
|
+
ModelYahoofinanceLookupResponse = TypedDict('ModelYahoofinanceLookupResponse', {
|
|
7986
|
+
'count': NotRequired[int],
|
|
7987
|
+
'documents': NotRequired[list[dict[str, Any]]],
|
|
7988
|
+
'query': NotRequired[str],
|
|
7989
|
+
'start': NotRequired[int],
|
|
7990
|
+
'total': NotRequired[int],
|
|
7991
|
+
'type': NotRequired[str],
|
|
7992
|
+
}, total=False)
|
|
7993
|
+
|
|
7783
7994
|
ModelYahoofinanceMarketStatusResponse = TypedDict('ModelYahoofinanceMarketStatusResponse', {
|
|
7784
7995
|
'market': NotRequired[str],
|
|
7785
7996
|
'status': NotRequired[dict[str, Any]],
|
|
@@ -7964,6 +8175,12 @@ ModelYahoofinanceIsinResponseDoc = TypedDict('ModelYahoofinanceIsinResponseDoc',
|
|
|
7964
8175
|
'msg': NotRequired[str],
|
|
7965
8176
|
}, total=False)
|
|
7966
8177
|
|
|
8178
|
+
ModelYahoofinanceLookupResponseDoc = TypedDict('ModelYahoofinanceLookupResponseDoc', {
|
|
8179
|
+
'code': NotRequired[int],
|
|
8180
|
+
'data': NotRequired[ModelYahoofinanceLookupResponse],
|
|
8181
|
+
'msg': NotRequired[str],
|
|
8182
|
+
}, total=False)
|
|
8183
|
+
|
|
7967
8184
|
ModelYahoofinanceMarketStatusResponseDoc = TypedDict('ModelYahoofinanceMarketStatusResponseDoc', {
|
|
7968
8185
|
'code': NotRequired[int],
|
|
7969
8186
|
'data': NotRequired[ModelYahoofinanceMarketStatusResponse],
|
|
@@ -8952,6 +9169,18 @@ BingVideosParams = TypedDict('BingVideosParams', {
|
|
|
8952
9169
|
'lang': NotRequired[str],
|
|
8953
9170
|
}, total=False)
|
|
8954
9171
|
|
|
9172
|
+
BrandRetrieveResponse = ModelBrandRetrieveResponseDoc
|
|
9173
|
+
BrandRetrieveParams = TypedDict('BrandRetrieveParams', {
|
|
9174
|
+
'_response_type': NotRequired[ResponseType],
|
|
9175
|
+
'_timeout': NotRequired[float],
|
|
9176
|
+
'_headers': NotRequired[Mapping[str, str]],
|
|
9177
|
+
'domain': Required[str],
|
|
9178
|
+
'force_language': NotRequired[str],
|
|
9179
|
+
'maxSpeed': NotRequired[bool],
|
|
9180
|
+
'maxAgeMs': NotRequired[int],
|
|
9181
|
+
'timeoutMS': NotRequired[int],
|
|
9182
|
+
}, total=False)
|
|
9183
|
+
|
|
8955
9184
|
BraveImagesResponse = ModelBraveImagesResponseDoc
|
|
8956
9185
|
BraveImagesParams = TypedDict('BraveImagesParams', {
|
|
8957
9186
|
'_response_type': NotRequired[ResponseType],
|
|
@@ -10216,6 +10445,50 @@ MetaReadyParams = TypedDict('MetaReadyParams', {
|
|
|
10216
10445
|
'_headers': NotRequired[Mapping[str, str]],
|
|
10217
10446
|
}, total=False)
|
|
10218
10447
|
|
|
10448
|
+
RedditCommentsResponse = ModelRedditCommentsResponseDoc
|
|
10449
|
+
RedditCommentsParams = TypedDict('RedditCommentsParams', {
|
|
10450
|
+
'_response_type': NotRequired[ResponseType],
|
|
10451
|
+
'_timeout': NotRequired[float],
|
|
10452
|
+
'_headers': NotRequired[Mapping[str, str]],
|
|
10453
|
+
'id': Required[str],
|
|
10454
|
+
'sort': NotRequired[Literal['confidence', 'top', 'new', 'controversial', 'old', 'qa']],
|
|
10455
|
+
'limit': NotRequired[int],
|
|
10456
|
+
'depth': NotRequired[int],
|
|
10457
|
+
}, total=False)
|
|
10458
|
+
|
|
10459
|
+
RedditPostResponse = ModelRedditPostResponseDoc
|
|
10460
|
+
RedditPostParams = TypedDict('RedditPostParams', {
|
|
10461
|
+
'_response_type': NotRequired[ResponseType],
|
|
10462
|
+
'_timeout': NotRequired[float],
|
|
10463
|
+
'_headers': NotRequired[Mapping[str, str]],
|
|
10464
|
+
'id': Required[str],
|
|
10465
|
+
}, total=False)
|
|
10466
|
+
|
|
10467
|
+
RedditSearchResponse = ModelRedditSearchResponseDoc
|
|
10468
|
+
RedditSearchParams = TypedDict('RedditSearchParams', {
|
|
10469
|
+
'_response_type': NotRequired[ResponseType],
|
|
10470
|
+
'_timeout': NotRequired[float],
|
|
10471
|
+
'_headers': NotRequired[Mapping[str, str]],
|
|
10472
|
+
'q': Required[str],
|
|
10473
|
+
'subreddit': NotRequired[str],
|
|
10474
|
+
'sort': NotRequired[Literal['relevance', 'hot', 'new', 'top', 'comments']],
|
|
10475
|
+
'time': NotRequired[Literal['hour', 'day', 'week', 'month', 'year', 'all']],
|
|
10476
|
+
'limit': NotRequired[int],
|
|
10477
|
+
'after': NotRequired[str],
|
|
10478
|
+
}, total=False)
|
|
10479
|
+
|
|
10480
|
+
RedditSubredditPostsResponse = ModelRedditSubredditPostsResponseDoc
|
|
10481
|
+
RedditSubredditPostsParams = TypedDict('RedditSubredditPostsParams', {
|
|
10482
|
+
'_response_type': NotRequired[ResponseType],
|
|
10483
|
+
'_timeout': NotRequired[float],
|
|
10484
|
+
'_headers': NotRequired[Mapping[str, str]],
|
|
10485
|
+
'subreddit': Required[str],
|
|
10486
|
+
'sort': NotRequired[Literal['hot', 'new', 'top', 'rising']],
|
|
10487
|
+
'time': NotRequired[Literal['hour', 'day', 'week', 'month', 'year', 'all']],
|
|
10488
|
+
'limit': NotRequired[int],
|
|
10489
|
+
'after': NotRequired[str],
|
|
10490
|
+
}, total=False)
|
|
10491
|
+
|
|
10219
10492
|
ReferralsClickBody = ModelReferralsReferralClickRequestDoc
|
|
10220
10493
|
ReferralsClickResponse = ModelReferralsReferralClickResponseDoc
|
|
10221
10494
|
ReferralsClickParams = TypedDict('ReferralsClickParams', {
|
|
@@ -11458,6 +11731,17 @@ YahooFinanceIndustryParams = TypedDict('YahooFinanceIndustryParams', {
|
|
|
11458
11731
|
'key': Required[str],
|
|
11459
11732
|
}, total=False)
|
|
11460
11733
|
|
|
11734
|
+
YahooFinanceLookupResponse = ModelYahoofinanceLookupResponseDoc
|
|
11735
|
+
YahooFinanceLookupParams = TypedDict('YahooFinanceLookupParams', {
|
|
11736
|
+
'_response_type': NotRequired[ResponseType],
|
|
11737
|
+
'_timeout': NotRequired[float],
|
|
11738
|
+
'_headers': NotRequired[Mapping[str, str]],
|
|
11739
|
+
'query': Required[str],
|
|
11740
|
+
'type': NotRequired[Literal['all', 'equity', 'etf', 'mutualfund', 'index', 'future', 'currency', 'cryptocurrency']],
|
|
11741
|
+
'count': NotRequired[int],
|
|
11742
|
+
'start': NotRequired[int],
|
|
11743
|
+
}, total=False)
|
|
11744
|
+
|
|
11461
11745
|
YahooFinanceMarketStatusResponse = ModelYahoofinanceMarketStatusResponseDoc
|
|
11462
11746
|
YahooFinanceMarketStatusParams = TypedDict('YahooFinanceMarketStatusParams', {
|
|
11463
11747
|
'_response_type': NotRequired[ResponseType],
|
|
@@ -11956,6 +12240,9 @@ class BingGroup:
|
|
|
11956
12240
|
def suggest(self, **params: Unpack[BingSuggestParams]) -> BingSuggestResponse: ...
|
|
11957
12241
|
def videos(self, **params: Unpack[BingVideosParams]) -> BingVideosResponse: ...
|
|
11958
12242
|
|
|
12243
|
+
class BrandGroup:
|
|
12244
|
+
def retrieve(self, **params: Unpack[BrandRetrieveParams]) -> BrandRetrieveResponse: ...
|
|
12245
|
+
|
|
11959
12246
|
class BraveGroup:
|
|
11960
12247
|
def images(self, **params: Unpack[BraveImagesParams]) -> BraveImagesResponse: ...
|
|
11961
12248
|
def news(self, **params: Unpack[BraveNewsParams]) -> BraveNewsResponse: ...
|
|
@@ -12106,6 +12393,12 @@ class ProductHuntGroup:
|
|
|
12106
12393
|
def reviews(self, **params: Unpack[ProductHuntReviewsParams]) -> ProductHuntReviewsResponse: ...
|
|
12107
12394
|
def search(self, **params: Unpack[ProductHuntSearchParams]) -> ProductHuntSearchResponse: ...
|
|
12108
12395
|
|
|
12396
|
+
class RedditGroup:
|
|
12397
|
+
def comments(self, **params: Unpack[RedditCommentsParams]) -> RedditCommentsResponse: ...
|
|
12398
|
+
def post(self, **params: Unpack[RedditPostParams]) -> RedditPostResponse: ...
|
|
12399
|
+
def search(self, **params: Unpack[RedditSearchParams]) -> RedditSearchResponse: ...
|
|
12400
|
+
def subreddit_posts(self, **params: Unpack[RedditSubredditPostsParams]) -> RedditSubredditPostsResponse: ...
|
|
12401
|
+
|
|
12109
12402
|
class ReferralsGroup:
|
|
12110
12403
|
def click(self, **params: Unpack[ReferralsClickParams]) -> ReferralsClickResponse: ...
|
|
12111
12404
|
def me(self, **params: Unpack[ReferralsMeParams]) -> ReferralsMeResponse: ...
|
|
@@ -12249,6 +12542,7 @@ class YahooFinanceGroup:
|
|
|
12249
12542
|
def download(self, **params: Unpack[YahooFinanceDownloadParams]) -> YahooFinanceDownloadResponse: ...
|
|
12250
12543
|
def industries(self, **params: Unpack[YahooFinanceIndustriesParams]) -> YahooFinanceIndustriesResponse: ...
|
|
12251
12544
|
def industry(self, **params: Unpack[YahooFinanceIndustryParams]) -> YahooFinanceIndustryResponse: ...
|
|
12545
|
+
def lookup(self, **params: Unpack[YahooFinanceLookupParams]) -> YahooFinanceLookupResponse: ...
|
|
12252
12546
|
def market_status(self, **params: Unpack[YahooFinanceMarketStatusParams]) -> YahooFinanceMarketStatusResponse: ...
|
|
12253
12547
|
def market_summary(self, **params: Unpack[YahooFinanceMarketSummaryParams]) -> YahooFinanceMarketSummaryResponse: ...
|
|
12254
12548
|
def screener_custom(self, **params: Unpack[YahooFinanceScreenerCustomParams]) -> YahooFinanceScreenerCustomResponse: ...
|
|
@@ -12339,6 +12633,7 @@ OperationId = Literal[
|
|
|
12339
12633
|
'bing-search',
|
|
12340
12634
|
'bing-suggest',
|
|
12341
12635
|
'bing-videos',
|
|
12636
|
+
'brand-retrieve',
|
|
12342
12637
|
'brave-images',
|
|
12343
12638
|
'brave-news',
|
|
12344
12639
|
'brave-search',
|
|
@@ -12465,6 +12760,10 @@ OperationId = Literal[
|
|
|
12465
12760
|
'producthunt-reviews',
|
|
12466
12761
|
'producthunt-search',
|
|
12467
12762
|
'ready',
|
|
12763
|
+
'reddit-comments',
|
|
12764
|
+
'reddit-post',
|
|
12765
|
+
'reddit-search',
|
|
12766
|
+
'reddit-subreddit-posts',
|
|
12468
12767
|
'referrals-click',
|
|
12469
12768
|
'referrals-me',
|
|
12470
12769
|
'referrals-me-events',
|
|
@@ -12585,6 +12884,7 @@ OperationId = Literal[
|
|
|
12585
12884
|
'yahoo-finance-download',
|
|
12586
12885
|
'yahoo-finance-industries',
|
|
12587
12886
|
'yahoo-finance-industry',
|
|
12887
|
+
'yahoo-finance-lookup',
|
|
12588
12888
|
'yahoo-finance-market-status',
|
|
12589
12889
|
'yahoo-finance-market-summary',
|
|
12590
12890
|
'yahoo-finance-screener-custom',
|
|
@@ -12643,6 +12943,7 @@ class CrawloraClient:
|
|
|
12643
12943
|
app_store: AppStoreGroup
|
|
12644
12944
|
billing: BillingGroup
|
|
12645
12945
|
bing: BingGroup
|
|
12946
|
+
brand: BrandGroup
|
|
12646
12947
|
brave: BraveGroup
|
|
12647
12948
|
coin_gecko: CoinGeckoGroup
|
|
12648
12949
|
datasets: DatasetsGroup
|
|
@@ -12655,6 +12956,7 @@ class CrawloraClient:
|
|
|
12655
12956
|
linked_in: LinkedInGroup
|
|
12656
12957
|
meta: MetaGroup
|
|
12657
12958
|
product_hunt: ProductHuntGroup
|
|
12959
|
+
reddit: RedditGroup
|
|
12658
12960
|
referrals: ReferralsGroup
|
|
12659
12961
|
shop_app: ShopAppGroup
|
|
12660
12962
|
shopify: ShopifyGroup
|
|
@@ -13170,6 +13472,18 @@ class CrawloraClient:
|
|
|
13170
13472
|
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
13171
13473
|
) -> BingVideosResponse: ...
|
|
13172
13474
|
@overload
|
|
13475
|
+
def operation(
|
|
13476
|
+
self,
|
|
13477
|
+
operation_id: Literal['brand-retrieve'],
|
|
13478
|
+
params: BrandRetrieveParams,
|
|
13479
|
+
*,
|
|
13480
|
+
response_type: ResponseType = ...,
|
|
13481
|
+
timeout: float | None = ...,
|
|
13482
|
+
headers: Mapping[str, str] | None = ...,
|
|
13483
|
+
retries: int | None = ...,
|
|
13484
|
+
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
13485
|
+
) -> BrandRetrieveResponse: ...
|
|
13486
|
+
@overload
|
|
13173
13487
|
def operation(
|
|
13174
13488
|
self,
|
|
13175
13489
|
operation_id: Literal['brave-images'],
|
|
@@ -14682,6 +14996,54 @@ class CrawloraClient:
|
|
|
14682
14996
|
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
14683
14997
|
) -> MetaReadyResponse: ...
|
|
14684
14998
|
@overload
|
|
14999
|
+
def operation(
|
|
15000
|
+
self,
|
|
15001
|
+
operation_id: Literal['reddit-comments'],
|
|
15002
|
+
params: RedditCommentsParams,
|
|
15003
|
+
*,
|
|
15004
|
+
response_type: ResponseType = ...,
|
|
15005
|
+
timeout: float | None = ...,
|
|
15006
|
+
headers: Mapping[str, str] | None = ...,
|
|
15007
|
+
retries: int | None = ...,
|
|
15008
|
+
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
15009
|
+
) -> RedditCommentsResponse: ...
|
|
15010
|
+
@overload
|
|
15011
|
+
def operation(
|
|
15012
|
+
self,
|
|
15013
|
+
operation_id: Literal['reddit-post'],
|
|
15014
|
+
params: RedditPostParams,
|
|
15015
|
+
*,
|
|
15016
|
+
response_type: ResponseType = ...,
|
|
15017
|
+
timeout: float | None = ...,
|
|
15018
|
+
headers: Mapping[str, str] | None = ...,
|
|
15019
|
+
retries: int | None = ...,
|
|
15020
|
+
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
15021
|
+
) -> RedditPostResponse: ...
|
|
15022
|
+
@overload
|
|
15023
|
+
def operation(
|
|
15024
|
+
self,
|
|
15025
|
+
operation_id: Literal['reddit-search'],
|
|
15026
|
+
params: RedditSearchParams,
|
|
15027
|
+
*,
|
|
15028
|
+
response_type: ResponseType = ...,
|
|
15029
|
+
timeout: float | None = ...,
|
|
15030
|
+
headers: Mapping[str, str] | None = ...,
|
|
15031
|
+
retries: int | None = ...,
|
|
15032
|
+
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
15033
|
+
) -> RedditSearchResponse: ...
|
|
15034
|
+
@overload
|
|
15035
|
+
def operation(
|
|
15036
|
+
self,
|
|
15037
|
+
operation_id: Literal['reddit-subreddit-posts'],
|
|
15038
|
+
params: RedditSubredditPostsParams,
|
|
15039
|
+
*,
|
|
15040
|
+
response_type: ResponseType = ...,
|
|
15041
|
+
timeout: float | None = ...,
|
|
15042
|
+
headers: Mapping[str, str] | None = ...,
|
|
15043
|
+
retries: int | None = ...,
|
|
15044
|
+
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
15045
|
+
) -> RedditSubredditPostsResponse: ...
|
|
15046
|
+
@overload
|
|
14685
15047
|
def operation(
|
|
14686
15048
|
self,
|
|
14687
15049
|
operation_id: Literal['referrals-click'],
|
|
@@ -16122,6 +16484,18 @@ class CrawloraClient:
|
|
|
16122
16484
|
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
16123
16485
|
) -> YahooFinanceIndustryResponse: ...
|
|
16124
16486
|
@overload
|
|
16487
|
+
def operation(
|
|
16488
|
+
self,
|
|
16489
|
+
operation_id: Literal['yahoo-finance-lookup'],
|
|
16490
|
+
params: YahooFinanceLookupParams,
|
|
16491
|
+
*,
|
|
16492
|
+
response_type: ResponseType = ...,
|
|
16493
|
+
timeout: float | None = ...,
|
|
16494
|
+
headers: Mapping[str, str] | None = ...,
|
|
16495
|
+
retries: int | None = ...,
|
|
16496
|
+
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
16497
|
+
) -> YahooFinanceLookupResponse: ...
|
|
16498
|
+
@overload
|
|
16125
16499
|
def operation(
|
|
16126
16500
|
self,
|
|
16127
16501
|
operation_id: Literal['yahoo-finance-market-status'],
|
|
@@ -17142,6 +17516,18 @@ class CrawloraClient:
|
|
|
17142
17516
|
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
17143
17517
|
) -> BingVideosResponse: ...
|
|
17144
17518
|
@overload
|
|
17519
|
+
def request(
|
|
17520
|
+
self,
|
|
17521
|
+
operation_id: Literal['brand-retrieve'],
|
|
17522
|
+
params: BrandRetrieveParams,
|
|
17523
|
+
*,
|
|
17524
|
+
response_type: ResponseType = ...,
|
|
17525
|
+
timeout: float | None = ...,
|
|
17526
|
+
headers: Mapping[str, str] | None = ...,
|
|
17527
|
+
retries: int | None = ...,
|
|
17528
|
+
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
17529
|
+
) -> BrandRetrieveResponse: ...
|
|
17530
|
+
@overload
|
|
17145
17531
|
def request(
|
|
17146
17532
|
self,
|
|
17147
17533
|
operation_id: Literal['brave-images'],
|
|
@@ -18654,6 +19040,54 @@ class CrawloraClient:
|
|
|
18654
19040
|
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
18655
19041
|
) -> MetaReadyResponse: ...
|
|
18656
19042
|
@overload
|
|
19043
|
+
def request(
|
|
19044
|
+
self,
|
|
19045
|
+
operation_id: Literal['reddit-comments'],
|
|
19046
|
+
params: RedditCommentsParams,
|
|
19047
|
+
*,
|
|
19048
|
+
response_type: ResponseType = ...,
|
|
19049
|
+
timeout: float | None = ...,
|
|
19050
|
+
headers: Mapping[str, str] | None = ...,
|
|
19051
|
+
retries: int | None = ...,
|
|
19052
|
+
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
19053
|
+
) -> RedditCommentsResponse: ...
|
|
19054
|
+
@overload
|
|
19055
|
+
def request(
|
|
19056
|
+
self,
|
|
19057
|
+
operation_id: Literal['reddit-post'],
|
|
19058
|
+
params: RedditPostParams,
|
|
19059
|
+
*,
|
|
19060
|
+
response_type: ResponseType = ...,
|
|
19061
|
+
timeout: float | None = ...,
|
|
19062
|
+
headers: Mapping[str, str] | None = ...,
|
|
19063
|
+
retries: int | None = ...,
|
|
19064
|
+
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
19065
|
+
) -> RedditPostResponse: ...
|
|
19066
|
+
@overload
|
|
19067
|
+
def request(
|
|
19068
|
+
self,
|
|
19069
|
+
operation_id: Literal['reddit-search'],
|
|
19070
|
+
params: RedditSearchParams,
|
|
19071
|
+
*,
|
|
19072
|
+
response_type: ResponseType = ...,
|
|
19073
|
+
timeout: float | None = ...,
|
|
19074
|
+
headers: Mapping[str, str] | None = ...,
|
|
19075
|
+
retries: int | None = ...,
|
|
19076
|
+
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
19077
|
+
) -> RedditSearchResponse: ...
|
|
19078
|
+
@overload
|
|
19079
|
+
def request(
|
|
19080
|
+
self,
|
|
19081
|
+
operation_id: Literal['reddit-subreddit-posts'],
|
|
19082
|
+
params: RedditSubredditPostsParams,
|
|
19083
|
+
*,
|
|
19084
|
+
response_type: ResponseType = ...,
|
|
19085
|
+
timeout: float | None = ...,
|
|
19086
|
+
headers: Mapping[str, str] | None = ...,
|
|
19087
|
+
retries: int | None = ...,
|
|
19088
|
+
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
19089
|
+
) -> RedditSubredditPostsResponse: ...
|
|
19090
|
+
@overload
|
|
18657
19091
|
def request(
|
|
18658
19092
|
self,
|
|
18659
19093
|
operation_id: Literal['referrals-click'],
|
|
@@ -20094,6 +20528,18 @@ class CrawloraClient:
|
|
|
20094
20528
|
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
20095
20529
|
) -> YahooFinanceIndustryResponse: ...
|
|
20096
20530
|
@overload
|
|
20531
|
+
def request(
|
|
20532
|
+
self,
|
|
20533
|
+
operation_id: Literal['yahoo-finance-lookup'],
|
|
20534
|
+
params: YahooFinanceLookupParams,
|
|
20535
|
+
*,
|
|
20536
|
+
response_type: ResponseType = ...,
|
|
20537
|
+
timeout: float | None = ...,
|
|
20538
|
+
headers: Mapping[str, str] | None = ...,
|
|
20539
|
+
retries: int | None = ...,
|
|
20540
|
+
retry_predicate: Callable[[int, BaseException | None], bool] | None = ...,
|
|
20541
|
+
) -> YahooFinanceLookupResponse: ...
|
|
20542
|
+
@overload
|
|
20097
20543
|
def request(
|
|
20098
20544
|
self,
|
|
20099
20545
|
operation_id: Literal['yahoo-finance-market-status'],
|
|
@@ -482,6 +482,21 @@ OPERATIONS = {'airbnb-room': {'bodyParam': None,
|
|
|
482
482
|
{'in': 'query', 'name': 'country', 'type': 'string'},
|
|
483
483
|
{'in': 'query', 'name': 'lang', 'type': 'string'}],
|
|
484
484
|
'security': ['ApiKeyAuth']},
|
|
485
|
+
'brand-retrieve': {'bodyParam': None,
|
|
486
|
+
'bodyRequired': False,
|
|
487
|
+
'consumes': ['application/json'],
|
|
488
|
+
'formParams': [],
|
|
489
|
+
'id': 'brand-retrieve',
|
|
490
|
+
'method': 'GET',
|
|
491
|
+
'path': '/brand/retrieve',
|
|
492
|
+
'pathParams': [],
|
|
493
|
+
'produces': ['application/json'],
|
|
494
|
+
'queryParams': [{'in': 'query', 'name': 'domain', 'required': True, 'type': 'string'},
|
|
495
|
+
{'in': 'query', 'name': 'force_language', 'type': 'string'},
|
|
496
|
+
{'in': 'query', 'name': 'maxSpeed', 'type': 'boolean'},
|
|
497
|
+
{'in': 'query', 'name': 'maxAgeMs', 'type': 'integer'},
|
|
498
|
+
{'in': 'query', 'name': 'timeoutMS', 'type': 'integer'}],
|
|
499
|
+
'security': ['ApiKeyAuth']},
|
|
485
500
|
'brave-images': {'bodyParam': None,
|
|
486
501
|
'bodyRequired': False,
|
|
487
502
|
'consumes': ['application/json'],
|
|
@@ -3767,6 +3782,75 @@ OPERATIONS = {'airbnb-room': {'bodyParam': None,
|
|
|
3767
3782
|
'produces': ['application/json'],
|
|
3768
3783
|
'queryParams': [],
|
|
3769
3784
|
'security': []},
|
|
3785
|
+
'reddit-comments': {'bodyParam': None,
|
|
3786
|
+
'bodyRequired': False,
|
|
3787
|
+
'consumes': ['application/json'],
|
|
3788
|
+
'formParams': [],
|
|
3789
|
+
'id': 'reddit-comments',
|
|
3790
|
+
'method': 'GET',
|
|
3791
|
+
'path': '/reddit/comments/{id}',
|
|
3792
|
+
'pathParams': ['id'],
|
|
3793
|
+
'produces': ['application/json'],
|
|
3794
|
+
'queryParams': [{'enum': ['confidence', 'top', 'new', 'controversial', 'old', 'qa'],
|
|
3795
|
+
'in': 'query',
|
|
3796
|
+
'name': 'sort',
|
|
3797
|
+
'type': 'string'},
|
|
3798
|
+
{'in': 'query', 'name': 'limit', 'type': 'integer'},
|
|
3799
|
+
{'in': 'query', 'name': 'depth', 'type': 'integer'}],
|
|
3800
|
+
'security': ['ApiKeyAuth']},
|
|
3801
|
+
'reddit-post': {'bodyParam': None,
|
|
3802
|
+
'bodyRequired': False,
|
|
3803
|
+
'consumes': ['application/json'],
|
|
3804
|
+
'formParams': [],
|
|
3805
|
+
'id': 'reddit-post',
|
|
3806
|
+
'method': 'GET',
|
|
3807
|
+
'path': '/reddit/post/{id}',
|
|
3808
|
+
'pathParams': ['id'],
|
|
3809
|
+
'produces': ['application/json'],
|
|
3810
|
+
'queryParams': [],
|
|
3811
|
+
'security': ['ApiKeyAuth']},
|
|
3812
|
+
'reddit-search': {'bodyParam': None,
|
|
3813
|
+
'bodyRequired': False,
|
|
3814
|
+
'consumes': ['application/json'],
|
|
3815
|
+
'formParams': [],
|
|
3816
|
+
'id': 'reddit-search',
|
|
3817
|
+
'method': 'GET',
|
|
3818
|
+
'path': '/reddit/search',
|
|
3819
|
+
'pathParams': [],
|
|
3820
|
+
'produces': ['application/json'],
|
|
3821
|
+
'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'},
|
|
3822
|
+
{'in': 'query', 'name': 'subreddit', 'type': 'string'},
|
|
3823
|
+
{'enum': ['relevance', 'hot', 'new', 'top', 'comments'],
|
|
3824
|
+
'in': 'query',
|
|
3825
|
+
'name': 'sort',
|
|
3826
|
+
'type': 'string'},
|
|
3827
|
+
{'enum': ['hour', 'day', 'week', 'month', 'year', 'all'],
|
|
3828
|
+
'in': 'query',
|
|
3829
|
+
'name': 'time',
|
|
3830
|
+
'type': 'string'},
|
|
3831
|
+
{'in': 'query', 'name': 'limit', 'type': 'integer'},
|
|
3832
|
+
{'in': 'query', 'name': 'after', 'type': 'string'}],
|
|
3833
|
+
'security': ['ApiKeyAuth']},
|
|
3834
|
+
'reddit-subreddit-posts': {'bodyParam': None,
|
|
3835
|
+
'bodyRequired': False,
|
|
3836
|
+
'consumes': ['application/json'],
|
|
3837
|
+
'formParams': [],
|
|
3838
|
+
'id': 'reddit-subreddit-posts',
|
|
3839
|
+
'method': 'GET',
|
|
3840
|
+
'path': '/reddit/subreddit/{subreddit}/posts',
|
|
3841
|
+
'pathParams': ['subreddit'],
|
|
3842
|
+
'produces': ['application/json'],
|
|
3843
|
+
'queryParams': [{'enum': ['hot', 'new', 'top', 'rising'],
|
|
3844
|
+
'in': 'query',
|
|
3845
|
+
'name': 'sort',
|
|
3846
|
+
'type': 'string'},
|
|
3847
|
+
{'enum': ['hour', 'day', 'week', 'month', 'year', 'all'],
|
|
3848
|
+
'in': 'query',
|
|
3849
|
+
'name': 'time',
|
|
3850
|
+
'type': 'string'},
|
|
3851
|
+
{'in': 'query', 'name': 'limit', 'type': 'integer'},
|
|
3852
|
+
{'in': 'query', 'name': 'after', 'type': 'string'}],
|
|
3853
|
+
'security': ['ApiKeyAuth']},
|
|
3770
3854
|
'referrals-click': {'bodyParam': 'request',
|
|
3771
3855
|
'bodyRequired': True,
|
|
3772
3856
|
'consumes': ['application/json'],
|
|
@@ -5366,7 +5450,7 @@ OPERATIONS = {'airbnb-room': {'bodyParam': None,
|
|
|
5366
5450
|
{'in': 'query', 'name': 'limit', 'type': 'integer'},
|
|
5367
5451
|
{'in': 'query', 'name': 'from', 'type': 'string'},
|
|
5368
5452
|
{'in': 'query', 'name': 'to', 'type': 'string'}],
|
|
5369
|
-
'security': ['
|
|
5453
|
+
'security': ['ApiKeyAuth']},
|
|
5370
5454
|
'usage-me-overview': {'bodyParam': None,
|
|
5371
5455
|
'bodyRequired': False,
|
|
5372
5456
|
'consumes': ['application/json'],
|
|
@@ -5382,7 +5466,7 @@ OPERATIONS = {'airbnb-room': {'bodyParam': None,
|
|
|
5382
5466
|
'type': 'string'},
|
|
5383
5467
|
{'in': 'query', 'name': 'from', 'type': 'string'},
|
|
5384
5468
|
{'in': 'query', 'name': 'to', 'type': 'string'}],
|
|
5385
|
-
'security': ['
|
|
5469
|
+
'security': ['ApiKeyAuth']},
|
|
5386
5470
|
'usage-me-recent-ips': {'bodyParam': None,
|
|
5387
5471
|
'bodyRequired': False,
|
|
5388
5472
|
'consumes': ['application/json'],
|
|
@@ -5399,7 +5483,7 @@ OPERATIONS = {'airbnb-room': {'bodyParam': None,
|
|
|
5399
5483
|
{'in': 'query', 'name': 'limit', 'type': 'integer'},
|
|
5400
5484
|
{'in': 'query', 'name': 'from', 'type': 'string'},
|
|
5401
5485
|
{'in': 'query', 'name': 'to', 'type': 'string'}],
|
|
5402
|
-
'security': ['
|
|
5486
|
+
'security': ['ApiKeyAuth']},
|
|
5403
5487
|
'usage-me-timeseries': {'bodyParam': None,
|
|
5404
5488
|
'bodyRequired': False,
|
|
5405
5489
|
'consumes': ['application/json'],
|
|
@@ -5417,7 +5501,7 @@ OPERATIONS = {'airbnb-room': {'bodyParam': None,
|
|
|
5417
5501
|
{'in': 'query', 'name': 'endpoint', 'type': 'string'},
|
|
5418
5502
|
{'in': 'query', 'name': 'from', 'type': 'string'},
|
|
5419
5503
|
{'in': 'query', 'name': 'to', 'type': 'string'}],
|
|
5420
|
-
'security': ['
|
|
5504
|
+
'security': ['ApiKeyAuth']},
|
|
5421
5505
|
'user-me': {'bodyParam': None,
|
|
5422
5506
|
'bodyRequired': False,
|
|
5423
5507
|
'consumes': ['application/json'],
|
|
@@ -5524,6 +5608,32 @@ OPERATIONS = {'airbnb-room': {'bodyParam': None,
|
|
|
5524
5608
|
'produces': ['application/json'],
|
|
5525
5609
|
'queryParams': [],
|
|
5526
5610
|
'security': ['ApiKeyAuth']},
|
|
5611
|
+
'yahoo-finance-lookup': {'bodyParam': None,
|
|
5612
|
+
'bodyRequired': False,
|
|
5613
|
+
'consumes': ['application/json'],
|
|
5614
|
+
'cursorParams': ['start'],
|
|
5615
|
+
'formParams': [],
|
|
5616
|
+
'id': 'yahoo-finance-lookup',
|
|
5617
|
+
'method': 'GET',
|
|
5618
|
+
'paginatable': True,
|
|
5619
|
+
'path': '/yahoo-finance/lookup',
|
|
5620
|
+
'pathParams': [],
|
|
5621
|
+
'produces': ['application/json'],
|
|
5622
|
+
'queryParams': [{'in': 'query', 'name': 'query', 'required': True, 'type': 'string'},
|
|
5623
|
+
{'enum': ['all',
|
|
5624
|
+
'equity',
|
|
5625
|
+
'etf',
|
|
5626
|
+
'mutualfund',
|
|
5627
|
+
'index',
|
|
5628
|
+
'future',
|
|
5629
|
+
'currency',
|
|
5630
|
+
'cryptocurrency'],
|
|
5631
|
+
'in': 'query',
|
|
5632
|
+
'name': 'type',
|
|
5633
|
+
'type': 'string'},
|
|
5634
|
+
{'in': 'query', 'name': 'count', 'type': 'integer'},
|
|
5635
|
+
{'in': 'query', 'name': 'start', 'type': 'integer'}],
|
|
5636
|
+
'security': ['ApiKeyAuth']},
|
|
5527
5637
|
'yahoo-finance-market-status': {'bodyParam': None,
|
|
5528
5638
|
'bodyRequired': False,
|
|
5529
5639
|
'consumes': ['application/json'],
|
|
@@ -6163,6 +6273,7 @@ GROUPS = {'airbnb': {'room': 'airbnb-room',
|
|
|
6163
6273
|
'search': 'bing-search',
|
|
6164
6274
|
'suggest': 'bing-suggest',
|
|
6165
6275
|
'videos': 'bing-videos'},
|
|
6276
|
+
'brand': {'retrieve': 'brand-retrieve'},
|
|
6166
6277
|
'brave': {'images': 'brave-images',
|
|
6167
6278
|
'news': 'brave-news',
|
|
6168
6279
|
'search': 'brave-search',
|
|
@@ -6284,6 +6395,10 @@ GROUPS = {'airbnb': {'room': 'airbnb-room',
|
|
|
6284
6395
|
'product': 'producthunt-product',
|
|
6285
6396
|
'reviews': 'producthunt-reviews',
|
|
6286
6397
|
'search': 'producthunt-search'},
|
|
6398
|
+
'reddit': {'comments': 'reddit-comments',
|
|
6399
|
+
'post': 'reddit-post',
|
|
6400
|
+
'search': 'reddit-search',
|
|
6401
|
+
'subreddit_posts': 'reddit-subreddit-posts'},
|
|
6287
6402
|
'referrals': {'click': 'referrals-click', 'me': 'referrals-me', 'me_events': 'referrals-me-events'},
|
|
6288
6403
|
'shop_app': {'analysis': 'shop-app-analysis',
|
|
6289
6404
|
'categories': 'shop-app-categories',
|
|
@@ -6401,6 +6516,7 @@ GROUPS = {'airbnb': {'room': 'airbnb-room',
|
|
|
6401
6516
|
'download': 'yahoo-finance-download',
|
|
6402
6517
|
'industries': 'yahoo-finance-industries',
|
|
6403
6518
|
'industry': 'yahoo-finance-industry',
|
|
6519
|
+
'lookup': 'yahoo-finance-lookup',
|
|
6404
6520
|
'market_status': 'yahoo-finance-market-status',
|
|
6405
6521
|
'market_summary': 'yahoo-finance-market-summary',
|
|
6406
6522
|
'screener': 'yahoo-finance-screener',
|
|
@@ -6449,7 +6565,7 @@ GROUPS = {'airbnb': {'room': 'airbnb-room',
|
|
|
6449
6565
|
'video': 'youtube-video'},
|
|
6450
6566
|
'zillow': {'autocomplete': 'zillow-autocomplete', 'property': 'zillow-property', 'search': 'zillow-search'}}
|
|
6451
6567
|
|
|
6452
|
-
OPERATION_COUNT =
|
|
6568
|
+
OPERATION_COUNT = 336
|
|
6453
6569
|
|
|
6454
6570
|
class OperationId:
|
|
6455
6571
|
AIRBNB_ROOM = 'airbnb-room'
|
|
@@ -6487,6 +6603,7 @@ class OperationId:
|
|
|
6487
6603
|
BING_SEARCH = 'bing-search'
|
|
6488
6604
|
BING_SUGGEST = 'bing-suggest'
|
|
6489
6605
|
BING_VIDEOS = 'bing-videos'
|
|
6606
|
+
BRAND_RETRIEVE = 'brand-retrieve'
|
|
6490
6607
|
BRAVE_IMAGES = 'brave-images'
|
|
6491
6608
|
BRAVE_NEWS = 'brave-news'
|
|
6492
6609
|
BRAVE_SEARCH = 'brave-search'
|
|
@@ -6613,6 +6730,10 @@ class OperationId:
|
|
|
6613
6730
|
PRODUCT_HUNT_PRODUCT = 'producthunt-product'
|
|
6614
6731
|
PRODUCT_HUNT_REVIEWS = 'producthunt-reviews'
|
|
6615
6732
|
PRODUCT_HUNT_SEARCH = 'producthunt-search'
|
|
6733
|
+
REDDIT_COMMENTS = 'reddit-comments'
|
|
6734
|
+
REDDIT_POST = 'reddit-post'
|
|
6735
|
+
REDDIT_SEARCH = 'reddit-search'
|
|
6736
|
+
REDDIT_SUBREDDIT_POSTS = 'reddit-subreddit-posts'
|
|
6616
6737
|
REFERRALS_CLICK = 'referrals-click'
|
|
6617
6738
|
REFERRALS_ME = 'referrals-me'
|
|
6618
6739
|
REFERRALS_ME_EVENTS = 'referrals-me-events'
|
|
@@ -6733,6 +6854,7 @@ class OperationId:
|
|
|
6733
6854
|
YAHOO_FINANCE_DOWNLOAD = 'yahoo-finance-download'
|
|
6734
6855
|
YAHOO_FINANCE_INDUSTRIES = 'yahoo-finance-industries'
|
|
6735
6856
|
YAHOO_FINANCE_INDUSTRY = 'yahoo-finance-industry'
|
|
6857
|
+
YAHOO_FINANCE_LOOKUP = 'yahoo-finance-lookup'
|
|
6736
6858
|
YAHOO_FINANCE_MARKET_STATUS = 'yahoo-finance-market-status'
|
|
6737
6859
|
YAHOO_FINANCE_MARKET_SUMMARY = 'yahoo-finance-market-summary'
|
|
6738
6860
|
YAHOO_FINANCE_SCREENER = 'yahoo-finance-screener'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crawlora
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6.0.dev1
|
|
4
4
|
Summary: Official Python SDK for the Crawlora web-scraping API: typed grouped and dynamic operation calls for every public endpoint, with retries, pagination, hooks, and an async client.
|
|
5
5
|
Author: Crawlora
|
|
6
6
|
License-Expression: MIT
|
|
@@ -27,8 +27,8 @@ Dynamic: license-file
|
|
|
27
27
|
# Crawlora Python SDK
|
|
28
28
|
|
|
29
29
|
Python client for the public Crawlora API. Use it to call Crawlora scraping,
|
|
30
|
-
search, marketplace, media, maps, finance, and usage endpoints
|
|
31
|
-
type stubs for editor and type-checker support.
|
|
30
|
+
search, social, marketplace, media, maps, finance, brand, and usage endpoints
|
|
31
|
+
with generated type stubs for editor and type-checker support.
|
|
32
32
|
|
|
33
33
|
- Runtime: Python 3.10+
|
|
34
34
|
- Auth: `x-api-key`
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Generated from `openapi/public.json`. Deprecated, admin, and internal operations are excluded from this SDK contract.
|
|
4
4
|
|
|
5
|
-
Total operations: `
|
|
5
|
+
Total operations: `336`
|
|
6
6
|
|
|
7
7
|
| Group | SDK method | Operation ID | HTTP | Params | Auth | Response | Notes |
|
|
8
8
|
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
@@ -41,6 +41,7 @@ Total operations: `330`
|
|
|
41
41
|
| bing | `bing.search` | `bing-search` | `GET /bing/search` | `q` (query str required)<br>`page` (query int)<br>`count` (query int)<br>`country` (query str)<br>`lang` (query str) | `ApiKeyAuth` | `BingSearchResponse` | |
|
|
42
42
|
| bing | `bing.suggest` | `bing-suggest` | `GET /bing/suggest` | `q` (query str required)<br>`count` (query int)<br>`country` (query str)<br>`lang` (query str) | `ApiKeyAuth` | `BingSuggestResponse` | |
|
|
43
43
|
| bing | `bing.videos` | `bing-videos` | `GET /bing/videos` | `q` (query str required)<br>`page` (query int)<br>`count` (query int)<br>`country` (query str)<br>`lang` (query str) | `ApiKeyAuth` | `BingVideosResponse` | |
|
|
44
|
+
| brand | `brand.retrieve` | `brand-retrieve` | `GET /brand/retrieve` | `domain` (query str required)<br>`force_language` (query str)<br>`maxSpeed` (query bool)<br>`maxAgeMs` (query int)<br>`timeoutMS` (query int) | `ApiKeyAuth` | `BrandRetrieveResponse` | |
|
|
44
45
|
| brave | `brave.images` | `brave-images` | `GET /brave/images` | `q` (query str required)<br>`offset` (query int)<br>`count` (query int)<br>`country` (query Literal['all', 'ar', 'at', 'au', 'be', 'br', 'ca', 'ch', 'cl', 'cn', 'de', 'dk', 'es', 'fi', 'fr', 'gb', 'gr', 'hk', 'id', 'in', 'it', 'jp', 'kr', 'mx', 'my', 'nl', 'no', 'nz', 'ph', 'pl', 'pt', 'ru', 'sa', 'se', 'sg', 'tr', 'tw', 'us', 'za'])<br>`lang` (query Literal['de-de', 'en-ca', 'en-gb', 'en-in', 'en-us', 'fi-fi', 'fr-ca', 'fr-fr', 'ja-jp', 'pt-br', 'sq-al', 'sw-ke', 'zh-tw']) | `ApiKeyAuth` | `BraveImagesResponse` | |
|
|
45
46
|
| brave | `brave.news` | `brave-news` | `GET /brave/news` | `q` (query str required)<br>`offset` (query int)<br>`count` (query int)<br>`country` (query Literal['all', 'ar', 'at', 'au', 'be', 'br', 'ca', 'ch', 'cl', 'cn', 'de', 'dk', 'es', 'fi', 'fr', 'gb', 'gr', 'hk', 'id', 'in', 'it', 'jp', 'kr', 'mx', 'my', 'nl', 'no', 'nz', 'ph', 'pl', 'pt', 'ru', 'sa', 'se', 'sg', 'tr', 'tw', 'us', 'za'])<br>`lang` (query Literal['de-de', 'en-ca', 'en-gb', 'en-in', 'en-us', 'fi-fi', 'fr-ca', 'fr-fr', 'ja-jp', 'pt-br', 'sq-al', 'sw-ke', 'zh-tw'])<br>`time_range` (query Literal['any', 'day', 'week', 'month', 'year', 'custom'])<br>`date_from` (query str)<br>`date_to` (query str) | `ApiKeyAuth` | `BraveNewsResponse` | |
|
|
46
47
|
| brave | `brave.search` | `brave-search` | `GET /brave/search` | `q` (query str required)<br>`offset` (query int)<br>`country` (query Literal['all', 'ar', 'at', 'au', 'be', 'br', 'ca', 'ch', 'cl', 'cn', 'de', 'dk', 'es', 'fi', 'fr', 'gb', 'gr', 'hk', 'id', 'in', 'it', 'jp', 'kr', 'mx', 'my', 'nl', 'no', 'nz', 'ph', 'pl', 'pt', 'ru', 'sa', 'se', 'sg', 'tr', 'tw', 'us', 'za'])<br>`lang` (query Literal['de-de', 'en-ca', 'en-gb', 'en-in', 'en-us', 'fi-fi', 'fr-ca', 'fr-fr', 'ja-jp', 'pt-br', 'sq-al', 'sw-ke', 'zh-tw'])<br>`time_range` (query Literal['any', 'day', 'week', 'month', 'year', 'custom'])<br>`date_from` (query str)<br>`date_to` (query str) | `ApiKeyAuth` | `BraveSearchResponse` | |
|
|
@@ -167,6 +168,10 @@ Total operations: `330`
|
|
|
167
168
|
| product_hunt | `product_hunt.makers` | `producthunt-makers` | `GET /producthunt/product/{id}/makers` | `id` (path str required)<br>`cursor` (query str) | `ApiKeyAuth` | `ProductHuntMakersResponse` | |
|
|
168
169
|
| product_hunt | `product_hunt.reviews` | `producthunt-reviews` | `GET /producthunt/product/{id}/reviews` | `id` (path str required) | `ApiKeyAuth` | `ProductHuntReviewsResponse` | |
|
|
169
170
|
| product_hunt | `product_hunt.search` | `producthunt-search` | `GET /producthunt/search` | `query` (query str required)<br>`type` (query Literal['product', 'user', 'launch'])<br>`page` (query int)<br>`featured` (query bool)<br>`topics` (query str) | `ApiKeyAuth` | `ProductHuntSearchResponse` | |
|
|
171
|
+
| reddit | `reddit.comments` | `reddit-comments` | `GET /reddit/comments/{id}` | `id` (path str required)<br>`sort` (query Literal['confidence', 'top', 'new', 'controversial', 'old', 'qa'])<br>`limit` (query int)<br>`depth` (query int) | `ApiKeyAuth` | `RedditCommentsResponse` | |
|
|
172
|
+
| reddit | `reddit.post` | `reddit-post` | `GET /reddit/post/{id}` | `id` (path str required) | `ApiKeyAuth` | `RedditPostResponse` | |
|
|
173
|
+
| reddit | `reddit.search` | `reddit-search` | `GET /reddit/search` | `q` (query str required)<br>`subreddit` (query str)<br>`sort` (query Literal['relevance', 'hot', 'new', 'top', 'comments'])<br>`time` (query Literal['hour', 'day', 'week', 'month', 'year', 'all'])<br>`limit` (query int)<br>`after` (query str) | `ApiKeyAuth` | `RedditSearchResponse` | |
|
|
174
|
+
| reddit | `reddit.subreddit_posts` | `reddit-subreddit-posts` | `GET /reddit/subreddit/{subreddit}/posts` | `subreddit` (path str required)<br>`sort` (query Literal['hot', 'new', 'top', 'rising'])<br>`time` (query Literal['hour', 'day', 'week', 'month', 'year', 'all'])<br>`limit` (query int)<br>`after` (query str) | `ApiKeyAuth` | `RedditSubredditPostsResponse` | |
|
|
170
175
|
| referrals | `referrals.click` | `referrals-click` | `POST /referrals/click` | `request` (body str required) | none | `ReferralsClickResponse` | |
|
|
171
176
|
| referrals | `referrals.me` | `referrals-me` | `GET /referrals/me` | none | `JWTAuth` | `ReferralsMeResponse` | |
|
|
172
177
|
| referrals | `referrals.me_events` | `referrals-me-events` | `GET /referrals/me/events` | `limit` (query int) | `JWTAuth` | `ReferralsMeEventsResponse` | |
|
|
@@ -274,10 +279,10 @@ Total operations: `330`
|
|
|
274
279
|
| trustpilot | `trustpilot.categories` | `trustpilot-categories` | `GET /trustpilot/categories` | none | `ApiKeyAuth` | `TrustpilotCategoriesResponse` | |
|
|
275
280
|
| trustpilot | `trustpilot.category_search` | `trustpilot-category-search` | `GET /trustpilot/categories/search` | `q` (query str required)<br>`country` (query str)<br>`locale` (query str)<br>`size` (query int) | `ApiKeyAuth` | `TrustpilotCategorySearchResponse` | |
|
|
276
281
|
| trustpilot | `trustpilot.category` | `trustpilot-category` | `GET /trustpilot/category/{slug}` | `slug` (path str required)<br>`page` (query int) | `ApiKeyAuth` | `TrustpilotCategoryResponse` | |
|
|
277
|
-
| usage | `usage.me_endpoints` | `usage-me-endpoints` | `GET /usage/me/endpoints` | `range` (query Literal['period', 'day', 'week', 'month', 'custom'])<br>`limit` (query int)<br>`from` (query str)<br>`to` (query str) | `
|
|
278
|
-
| usage | `usage.me_overview` | `usage-me-overview` | `GET /usage/me/overview` | `range` (query Literal['period', 'day', 'week', 'month', 'custom'])<br>`from` (query str)<br>`to` (query str) | `
|
|
279
|
-
| usage | `usage.me_recent_ips` | `usage-me-recent-ips` | `GET /usage/me/recent-ips` | `range` (query Literal['period', 'day', 'week', 'month', 'custom'])<br>`limit` (query int)<br>`from` (query str)<br>`to` (query str) | `
|
|
280
|
-
| usage | `usage.me_timeseries` | `usage-me-timeseries` | `GET /usage/me/timeseries` | `range` (query Literal['period', 'day', 'week', 'month', 'custom'])<br>`bucket` (query Literal['hour', 'day'])<br>`endpoint` (query str)<br>`from` (query str)<br>`to` (query str) | `
|
|
282
|
+
| usage | `usage.me_endpoints` | `usage-me-endpoints` | `GET /usage/me/endpoints` | `range` (query Literal['period', 'day', 'week', 'month', 'custom'])<br>`limit` (query int)<br>`from` (query str)<br>`to` (query str) | `ApiKeyAuth` | `UsageMeEndpointsResponse` | |
|
|
283
|
+
| usage | `usage.me_overview` | `usage-me-overview` | `GET /usage/me/overview` | `range` (query Literal['period', 'day', 'week', 'month', 'custom'])<br>`from` (query str)<br>`to` (query str) | `ApiKeyAuth` | `UsageMeOverviewResponse` | |
|
|
284
|
+
| usage | `usage.me_recent_ips` | `usage-me-recent-ips` | `GET /usage/me/recent-ips` | `range` (query Literal['period', 'day', 'week', 'month', 'custom'])<br>`limit` (query int)<br>`from` (query str)<br>`to` (query str) | `ApiKeyAuth` | `UsageMeRecentIpsResponse` | |
|
|
285
|
+
| usage | `usage.me_timeseries` | `usage-me-timeseries` | `GET /usage/me/timeseries` | `range` (query Literal['period', 'day', 'week', 'month', 'custom'])<br>`bucket` (query Literal['hour', 'day'])<br>`endpoint` (query str)<br>`from` (query str)<br>`to` (query str) | `ApiKeyAuth` | `UsageMeTimeseriesResponse` | |
|
|
281
286
|
| user | `user.me` | `user-me` | `GET /user/me` | none | `JWTAuth` | `UserMeResponse` | |
|
|
282
287
|
| user | `user.me_api_keys` | `user-me-api-keys` | `GET /user/me/api-keys` | none | `JWTAuth` | `UserMeApiKeysResponse` | |
|
|
283
288
|
| user | `user.me_api_keys_rotate` | `user-me-api-keys-rotate` | `POST /user/me/api-keys/rotate` | none | `JWTAuth` | `UserMeApiKeysRotateResponse` | |
|
|
@@ -287,6 +292,7 @@ Total operations: `330`
|
|
|
287
292
|
| yahoo_finance | `yahoo_finance.download` | `yahoo-finance-download` | `POST /yahoo-finance/download` | `request` (body str required) | `ApiKeyAuth` | `YahooFinanceDownloadResponse` | |
|
|
288
293
|
| yahoo_finance | `yahoo_finance.industries` | `yahoo-finance-industries` | `GET /yahoo-finance/industries` | none | `ApiKeyAuth` | `YahooFinanceIndustriesResponse` | |
|
|
289
294
|
| yahoo_finance | `yahoo_finance.industry` | `yahoo-finance-industry` | `GET /yahoo-finance/industries/{key}` | `key` (path str required) | `ApiKeyAuth` | `YahooFinanceIndustryResponse` | |
|
|
295
|
+
| yahoo_finance | `yahoo_finance.lookup` | `yahoo-finance-lookup` | `GET /yahoo-finance/lookup` | `query` (query str required)<br>`type` (query Literal['all', 'equity', 'etf', 'mutualfund', 'index', 'future', 'currency', 'cryptocurrency'])<br>`count` (query int)<br>`start` (query int) | `ApiKeyAuth` | `YahooFinanceLookupResponse` | |
|
|
290
296
|
| yahoo_finance | `yahoo_finance.market_status` | `yahoo-finance-market-status` | `GET /yahoo-finance/market/{market}/status` | `market` (path str required) | `ApiKeyAuth` | `YahooFinanceMarketStatusResponse` | |
|
|
291
297
|
| yahoo_finance | `yahoo_finance.market_summary` | `yahoo-finance-market-summary` | `GET /yahoo-finance/market/{market}/summary` | `market` (path str required) | `ApiKeyAuth` | `YahooFinanceMarketSummaryResponse` | |
|
|
292
298
|
| yahoo_finance | `yahoo_finance.screener_custom` | `yahoo-finance-screener-custom` | `POST /yahoo-finance/screener` | `request` (body str required) | `ApiKeyAuth` | `YahooFinanceScreenerCustomResponse` | |
|
|
@@ -30,6 +30,15 @@ Literal operation ids infer response aliases in type checkers. Use grouped
|
|
|
30
30
|
endpoint methods for ordinary app code and dynamic operation calls when your app
|
|
31
31
|
stores operation ids in configuration, queues, or jobs.
|
|
32
32
|
|
|
33
|
+
## Reddit And Brand
|
|
34
|
+
|
|
35
|
+
Newer platforms are grouped like every other endpoint:
|
|
36
|
+
|
|
37
|
+
```python
|
|
38
|
+
posts = crawlora.reddit.search(q="python", subreddit="programming")
|
|
39
|
+
brand = crawlora.brand.retrieve(domain="stripe.com")
|
|
40
|
+
```
|
|
41
|
+
|
|
33
42
|
## Retries, Timeouts, And Headers
|
|
34
43
|
|
|
35
44
|
```python
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "crawlora"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.6.0.dev1"
|
|
8
8
|
description = "Official Python SDK for the Crawlora web-scraping API: typed grouped and dynamic operation calls for every public endpoint, with retries, pagination, hooks, and an async client."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -267,7 +267,7 @@ class CrawloraClientTest(unittest.TestCase):
|
|
|
267
267
|
self.assertIs(raised.exception.__cause__, cause)
|
|
268
268
|
|
|
269
269
|
def test_operation_metadata_count(self):
|
|
270
|
-
self.assertEqual(OPERATION_COUNT,
|
|
270
|
+
self.assertEqual(OPERATION_COUNT, 336)
|
|
271
271
|
|
|
272
272
|
def test_deprecated_endpoints_are_not_generated(self):
|
|
273
273
|
self.assertFalse(hasattr(CrawloraClient(api_key="api_test", base_url=self.base_url).google, "lens"))
|
|
@@ -296,7 +296,7 @@ class CrawloraClientTest(unittest.TestCase):
|
|
|
296
296
|
recipes_doc = root.joinpath("docs", "recipes.md").read_text()
|
|
297
297
|
|
|
298
298
|
for expected in [
|
|
299
|
-
"Total operations: `
|
|
299
|
+
"Total operations: `336`",
|
|
300
300
|
"`bing-search`",
|
|
301
301
|
"`GET /bing/search`",
|
|
302
302
|
"`bing.search`",
|
|
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
|