nimble_python 0.1.0__py3-none-any.whl

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 (50) hide show
  1. nimble_python/__init__.py +104 -0
  2. nimble_python/_base_client.py +2127 -0
  3. nimble_python/_client.py +4783 -0
  4. nimble_python/_compat.py +219 -0
  5. nimble_python/_constants.py +14 -0
  6. nimble_python/_exceptions.py +108 -0
  7. nimble_python/_files.py +123 -0
  8. nimble_python/_models.py +872 -0
  9. nimble_python/_qs.py +150 -0
  10. nimble_python/_resource.py +43 -0
  11. nimble_python/_response.py +832 -0
  12. nimble_python/_streaming.py +333 -0
  13. nimble_python/_types.py +270 -0
  14. nimble_python/_utils/__init__.py +64 -0
  15. nimble_python/_utils/_compat.py +45 -0
  16. nimble_python/_utils/_datetime_parse.py +136 -0
  17. nimble_python/_utils/_json.py +35 -0
  18. nimble_python/_utils/_logs.py +25 -0
  19. nimble_python/_utils/_proxy.py +65 -0
  20. nimble_python/_utils/_reflection.py +42 -0
  21. nimble_python/_utils/_resources_proxy.py +24 -0
  22. nimble_python/_utils/_streams.py +12 -0
  23. nimble_python/_utils/_sync.py +58 -0
  24. nimble_python/_utils/_transform.py +457 -0
  25. nimble_python/_utils/_typing.py +156 -0
  26. nimble_python/_utils/_utils.py +421 -0
  27. nimble_python/_version.py +4 -0
  28. nimble_python/lib/.keep +4 -0
  29. nimble_python/py.typed +0 -0
  30. nimble_python/resources/__init__.py +19 -0
  31. nimble_python/resources/crawl.py +553 -0
  32. nimble_python/types/__init__.py +18 -0
  33. nimble_python/types/client_extract_params.py +1366 -0
  34. nimble_python/types/client_extract_template_params.py +14 -0
  35. nimble_python/types/client_map_params.py +812 -0
  36. nimble_python/types/client_search_params.py +75 -0
  37. nimble_python/types/crawl_list_params.py +19 -0
  38. nimble_python/types/crawl_list_response.py +1390 -0
  39. nimble_python/types/crawl_root_params.py +1429 -0
  40. nimble_python/types/crawl_root_response.py +11 -0
  41. nimble_python/types/crawl_status_response.py +33 -0
  42. nimble_python/types/crawl_terminate_response.py +11 -0
  43. nimble_python/types/extract_response.py +11 -0
  44. nimble_python/types/extract_template_response.py +11 -0
  45. nimble_python/types/map_response.py +28 -0
  46. nimble_python/types/search_response.py +70 -0
  47. nimble_python-0.1.0.dist-info/METADATA +452 -0
  48. nimble_python-0.1.0.dist-info/RECORD +50 -0
  49. nimble_python-0.1.0.dist-info/WHEEL +4 -0
  50. nimble_python-0.1.0.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,1390 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import TYPE_CHECKING, Dict, List, Union, Optional
4
+ from typing_extensions import Literal, TypeAlias
5
+
6
+ from pydantic import Field as FieldInfo
7
+
8
+ from .._models import BaseModel
9
+
10
+ __all__ = [
11
+ "CrawlListResponse",
12
+ "Data",
13
+ "DataOptions",
14
+ "DataOptionsCallback",
15
+ "DataOptionsCallbackUnionMember0",
16
+ "DataOptionsExtractOptions",
17
+ "DataOptionsExtractOptionsParseOptions",
18
+ "DataOptionsExtractOptionsSession",
19
+ "DataOptionsExtractOptionsBrowser",
20
+ "DataOptionsExtractOptionsBrowserUnionMember1",
21
+ "DataOptionsExtractOptionsCookiesUnionMember0",
22
+ "DataOptionsExtractOptionsMetadata",
23
+ "DataOptionsExtractOptionsNetworkCapture",
24
+ "DataOptionsExtractOptionsNetworkCaptureURL",
25
+ "DataOptionsExtractOptionsQueryTemplate",
26
+ "DataOptionsExtractOptionsQueryTemplatePagination",
27
+ "DataOptionsExtractOptionsQueryTemplatePaginationNextPageParams",
28
+ "DataOptionsExtractOptionsQueryTemplatePaginationUnionMember1",
29
+ "DataOptionsExtractOptionsTemplate",
30
+ "DataOptionsExtractOptionsUserbrowserCreationTemplateRendered",
31
+ "Pagination",
32
+ ]
33
+
34
+
35
+ class DataOptionsCallbackUnionMember0(BaseModel):
36
+ url: str
37
+ """Webhook URL to receive crawl results."""
38
+
39
+ events: Optional[List[Literal["completed", "page", "failed", "started"]]] = None
40
+ """Type of events that should be sent to the webhook URL. (default: all)"""
41
+
42
+ headers: Optional[Dict[str, object]] = None
43
+ """Headers to send to the webhook URL."""
44
+
45
+ metadata: Optional[Dict[str, object]] = None
46
+ """Custom metadata that will be included in all webhook payloads for this crawl."""
47
+
48
+
49
+ DataOptionsCallback: TypeAlias = Union[DataOptionsCallbackUnionMember0, str]
50
+
51
+
52
+ class DataOptionsExtractOptionsParseOptions(BaseModel):
53
+ """Configuration options for parsing behavior"""
54
+
55
+ merge_dynamic: Optional[bool] = None
56
+ """Whether to merge dynamic parsing results with static results"""
57
+
58
+ if TYPE_CHECKING:
59
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
60
+ # value to this field, so for compatibility we avoid doing it at runtime.
61
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
62
+
63
+ # Stub to indicate that arbitrary properties are accepted.
64
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
65
+ # `getattr(obj, '$type')`
66
+ def __getattr__(self, attr: str) -> object: ...
67
+ else:
68
+ __pydantic_extra__: Dict[str, object]
69
+
70
+
71
+ class DataOptionsExtractOptionsSession(BaseModel):
72
+ prefetch_userbrowser: bool
73
+
74
+ retry: bool
75
+
76
+ id: Optional[str] = None
77
+
78
+ timeout: Optional[float] = None
79
+
80
+
81
+ class DataOptionsExtractOptionsBrowserUnionMember1(BaseModel):
82
+ name: Literal["chrome", "firefox"]
83
+
84
+ version: Optional[str] = None
85
+ """Specific browser version to emulate"""
86
+
87
+
88
+ DataOptionsExtractOptionsBrowser: TypeAlias = Union[
89
+ Literal["chrome", "firefox"], DataOptionsExtractOptionsBrowserUnionMember1
90
+ ]
91
+
92
+
93
+ class DataOptionsExtractOptionsCookiesUnionMember0(BaseModel):
94
+ creation: Optional[str] = None
95
+
96
+ domain: Optional[str] = None
97
+
98
+ expires: Optional[str] = None
99
+
100
+ extensions: Optional[List[str]] = None
101
+
102
+ host_only: Optional[bool] = FieldInfo(alias="hostOnly", default=None)
103
+
104
+ http_only: Optional[bool] = FieldInfo(alias="httpOnly", default=None)
105
+
106
+ last_accessed: Optional[str] = FieldInfo(alias="lastAccessed", default=None)
107
+
108
+ max_age: Union[Literal["Infinity", "-Infinity"], float, None] = FieldInfo(alias="maxAge", default=None)
109
+
110
+ name: Optional[str] = None
111
+
112
+ path: Optional[str] = None
113
+
114
+ path_is_default: Optional[bool] = FieldInfo(alias="pathIsDefault", default=None)
115
+
116
+ same_site: Optional[Literal["strict", "lax", "none"]] = FieldInfo(alias="sameSite", default=None)
117
+
118
+ secure: Optional[bool] = None
119
+
120
+ value: Optional[str] = None
121
+
122
+ if TYPE_CHECKING:
123
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
124
+ # value to this field, so for compatibility we avoid doing it at runtime.
125
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
126
+
127
+ # Stub to indicate that arbitrary properties are accepted.
128
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
129
+ # `getattr(obj, '$type')`
130
+ def __getattr__(self, attr: str) -> object: ...
131
+ else:
132
+ __pydantic_extra__: Dict[str, object]
133
+
134
+
135
+ class DataOptionsExtractOptionsMetadata(BaseModel):
136
+ """Structured metadata about the request execution context"""
137
+
138
+ account_name: Optional[str] = None
139
+ """Account name associated with the request"""
140
+
141
+ definition_id: Optional[int] = None
142
+ """Definition identifier"""
143
+
144
+ definition_name: Optional[str] = None
145
+ """Name of the definition"""
146
+
147
+ endpoint: Optional[str] = None
148
+ """API endpoint being called"""
149
+
150
+ execution_id: Optional[str] = None
151
+ """Unique identifier for this execution"""
152
+
153
+ flowit_task_id: Optional[str] = None
154
+ """FlowIt task identifier"""
155
+
156
+ input_id: Optional[str] = None
157
+ """Input data identifier"""
158
+
159
+ pipeline_execution_id: Optional[int] = None
160
+ """Identifier for the pipeline execution"""
161
+
162
+ query_template_id: Optional[str] = None
163
+ """Query template identifier"""
164
+
165
+ source: Optional[str] = None
166
+ """Source system or application making the request"""
167
+
168
+ template_id: Optional[int] = None
169
+ """Template identifier"""
170
+
171
+ template_name: Optional[str] = None
172
+ """Name of the template"""
173
+
174
+
175
+ class DataOptionsExtractOptionsNetworkCaptureURL(BaseModel):
176
+ type: Literal["exact", "contains"]
177
+
178
+ value: str
179
+
180
+
181
+ class DataOptionsExtractOptionsNetworkCapture(BaseModel):
182
+ validation: bool
183
+
184
+ wait_for_requests_count: float
185
+
186
+ method: Optional[Literal["GET", "HEAD", "POST", "PUT", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH"]] = None
187
+
188
+ resource_type: Union[
189
+ Literal[
190
+ "document",
191
+ "stylesheet",
192
+ "image",
193
+ "media",
194
+ "font",
195
+ "script",
196
+ "texttrack",
197
+ "xhr",
198
+ "fetch",
199
+ "prefetch",
200
+ "eventsource",
201
+ "websocket",
202
+ "manifest",
203
+ "signedexchange",
204
+ "ping",
205
+ "cspviolationreport",
206
+ "preflight",
207
+ "other",
208
+ "fedcm",
209
+ ],
210
+ List[
211
+ Literal[
212
+ "document",
213
+ "stylesheet",
214
+ "image",
215
+ "media",
216
+ "font",
217
+ "script",
218
+ "texttrack",
219
+ "xhr",
220
+ "fetch",
221
+ "prefetch",
222
+ "eventsource",
223
+ "websocket",
224
+ "manifest",
225
+ "signedexchange",
226
+ "ping",
227
+ "cspviolationreport",
228
+ "preflight",
229
+ "other",
230
+ "fedcm",
231
+ ]
232
+ ],
233
+ None,
234
+ ] = None
235
+ """Resource type for network capture filtering"""
236
+
237
+ status_code: Union[float, List[float], None] = None
238
+
239
+ url: Optional[DataOptionsExtractOptionsNetworkCaptureURL] = None
240
+
241
+ wait_for_requests_count_timeout: Optional[float] = None
242
+
243
+
244
+ class DataOptionsExtractOptionsQueryTemplatePaginationNextPageParams(BaseModel):
245
+ next_page_params: Dict[str, object]
246
+
247
+
248
+ class DataOptionsExtractOptionsQueryTemplatePaginationUnionMember1(BaseModel):
249
+ next_page_params: Dict[str, object]
250
+
251
+
252
+ DataOptionsExtractOptionsQueryTemplatePagination: TypeAlias = Union[
253
+ DataOptionsExtractOptionsQueryTemplatePaginationNextPageParams,
254
+ List[DataOptionsExtractOptionsQueryTemplatePaginationUnionMember1],
255
+ ]
256
+
257
+
258
+ class DataOptionsExtractOptionsQueryTemplate(BaseModel):
259
+ """Query template configuration for structured data extraction"""
260
+
261
+ id: str
262
+
263
+ api_type: Literal["WEB", "SERP", "SOCIAL"]
264
+
265
+ pagination: Optional[DataOptionsExtractOptionsQueryTemplatePagination] = None
266
+
267
+ params: Optional[Dict[str, object]] = None
268
+
269
+ if TYPE_CHECKING:
270
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
271
+ # value to this field, so for compatibility we avoid doing it at runtime.
272
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
273
+
274
+ # Stub to indicate that arbitrary properties are accepted.
275
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
276
+ # `getattr(obj, '$type')`
277
+ def __getattr__(self, attr: str) -> object: ...
278
+ else:
279
+ __pydantic_extra__: Dict[str, object]
280
+
281
+
282
+ class DataOptionsExtractOptionsTemplate(BaseModel):
283
+ """Userbrowser creation template configuration"""
284
+
285
+ name: str
286
+
287
+ params: Optional[Dict[str, object]] = None
288
+
289
+
290
+ class DataOptionsExtractOptionsUserbrowserCreationTemplateRendered(BaseModel):
291
+ """Pre-rendered userbrowser creation template configuration"""
292
+
293
+ id: str
294
+
295
+ allowed_parameter_names: List[str]
296
+
297
+ render_flow_rendered: List[Dict[str, object]]
298
+
299
+
300
+ class DataOptionsExtractOptions(BaseModel):
301
+ country: Literal[
302
+ "AD",
303
+ "AE",
304
+ "AF",
305
+ "AG",
306
+ "AI",
307
+ "AL",
308
+ "AM",
309
+ "AO",
310
+ "AQ",
311
+ "AR",
312
+ "AS",
313
+ "AT",
314
+ "AU",
315
+ "AW",
316
+ "AX",
317
+ "AZ",
318
+ "BA",
319
+ "BB",
320
+ "BD",
321
+ "BE",
322
+ "BF",
323
+ "BG",
324
+ "BH",
325
+ "BI",
326
+ "BJ",
327
+ "BL",
328
+ "BM",
329
+ "BN",
330
+ "BO",
331
+ "BQ",
332
+ "BR",
333
+ "BS",
334
+ "BT",
335
+ "BV",
336
+ "BW",
337
+ "BY",
338
+ "BZ",
339
+ "CA",
340
+ "CC",
341
+ "CD",
342
+ "CF",
343
+ "CG",
344
+ "CH",
345
+ "CI",
346
+ "CK",
347
+ "CL",
348
+ "CM",
349
+ "CN",
350
+ "CO",
351
+ "CR",
352
+ "CU",
353
+ "CV",
354
+ "CW",
355
+ "CX",
356
+ "CY",
357
+ "CZ",
358
+ "DE",
359
+ "DJ",
360
+ "DK",
361
+ "DM",
362
+ "DO",
363
+ "DZ",
364
+ "EC",
365
+ "EE",
366
+ "EG",
367
+ "EH",
368
+ "ER",
369
+ "ES",
370
+ "ET",
371
+ "FI",
372
+ "FJ",
373
+ "FK",
374
+ "FM",
375
+ "FO",
376
+ "FR",
377
+ "GA",
378
+ "GB",
379
+ "GD",
380
+ "GE",
381
+ "GF",
382
+ "GG",
383
+ "GH",
384
+ "GI",
385
+ "GL",
386
+ "GM",
387
+ "GN",
388
+ "GP",
389
+ "GQ",
390
+ "GR",
391
+ "GS",
392
+ "GT",
393
+ "GU",
394
+ "GW",
395
+ "GY",
396
+ "HK",
397
+ "HM",
398
+ "HN",
399
+ "HR",
400
+ "HT",
401
+ "HU",
402
+ "ID",
403
+ "IE",
404
+ "IL",
405
+ "IM",
406
+ "IN",
407
+ "IO",
408
+ "IQ",
409
+ "IR",
410
+ "IS",
411
+ "IT",
412
+ "JE",
413
+ "JM",
414
+ "JO",
415
+ "JP",
416
+ "KE",
417
+ "KG",
418
+ "KH",
419
+ "KI",
420
+ "KM",
421
+ "KN",
422
+ "KP",
423
+ "KR",
424
+ "KW",
425
+ "KY",
426
+ "KZ",
427
+ "LA",
428
+ "LB",
429
+ "LC",
430
+ "LI",
431
+ "LK",
432
+ "LR",
433
+ "LS",
434
+ "LT",
435
+ "LU",
436
+ "LV",
437
+ "LY",
438
+ "MA",
439
+ "MC",
440
+ "MD",
441
+ "ME",
442
+ "MF",
443
+ "MG",
444
+ "MH",
445
+ "MK",
446
+ "ML",
447
+ "MM",
448
+ "MN",
449
+ "MO",
450
+ "MP",
451
+ "MQ",
452
+ "MR",
453
+ "MS",
454
+ "MT",
455
+ "MU",
456
+ "MV",
457
+ "MW",
458
+ "MX",
459
+ "MY",
460
+ "MZ",
461
+ "NA",
462
+ "NC",
463
+ "NE",
464
+ "NF",
465
+ "NG",
466
+ "NI",
467
+ "NL",
468
+ "NO",
469
+ "NP",
470
+ "NR",
471
+ "NU",
472
+ "NZ",
473
+ "OM",
474
+ "PA",
475
+ "PE",
476
+ "PF",
477
+ "PG",
478
+ "PH",
479
+ "PK",
480
+ "PL",
481
+ "PM",
482
+ "PN",
483
+ "PR",
484
+ "PS",
485
+ "PT",
486
+ "PW",
487
+ "PY",
488
+ "QA",
489
+ "RE",
490
+ "RO",
491
+ "RS",
492
+ "RU",
493
+ "RW",
494
+ "SA",
495
+ "SB",
496
+ "SC",
497
+ "SD",
498
+ "SE",
499
+ "SG",
500
+ "SH",
501
+ "SI",
502
+ "SJ",
503
+ "SK",
504
+ "SL",
505
+ "SM",
506
+ "SN",
507
+ "SO",
508
+ "SR",
509
+ "SS",
510
+ "ST",
511
+ "SV",
512
+ "SX",
513
+ "SY",
514
+ "SZ",
515
+ "TC",
516
+ "TD",
517
+ "TF",
518
+ "TG",
519
+ "TH",
520
+ "TJ",
521
+ "TK",
522
+ "TL",
523
+ "TM",
524
+ "TN",
525
+ "TO",
526
+ "TR",
527
+ "TT",
528
+ "TV",
529
+ "TW",
530
+ "TZ",
531
+ "UA",
532
+ "UG",
533
+ "UM",
534
+ "US",
535
+ "UY",
536
+ "UZ",
537
+ "VA",
538
+ "VC",
539
+ "VE",
540
+ "VG",
541
+ "VI",
542
+ "VN",
543
+ "VU",
544
+ "WF",
545
+ "WS",
546
+ "XK",
547
+ "YE",
548
+ "YT",
549
+ "ZA",
550
+ "ZM",
551
+ "ZW",
552
+ "ALL",
553
+ ]
554
+ """Country code for geolocation and proxy selection"""
555
+
556
+ debug_options: Dict[str, object]
557
+ """Debug and troubleshooting options for the request"""
558
+
559
+ device: Literal["desktop", "mobile", "tablet"]
560
+ """Device type for browser emulation"""
561
+
562
+ export_userbrowser: bool
563
+ """Whether to export the userbrowser session"""
564
+
565
+ format: Literal["json", "html", "csv", "raw", "json-lines", "markdown"]
566
+ """Response format"""
567
+
568
+ headers: Dict[str, Union[str, List[str], None]]
569
+ """Custom HTTP headers to include in the request"""
570
+
571
+ http2: bool
572
+ """Whether to use HTTP/2 protocol"""
573
+
574
+ is_xhr: bool
575
+ """Whether to emulate XMLHttpRequest behavior"""
576
+
577
+ locale: Literal[
578
+ "aa-DJ",
579
+ "aa-ER",
580
+ "aa-ET",
581
+ "af",
582
+ "af-NA",
583
+ "af-ZA",
584
+ "ak",
585
+ "ak-GH",
586
+ "am",
587
+ "am-ET",
588
+ "an-ES",
589
+ "ar",
590
+ "ar-AE",
591
+ "ar-BH",
592
+ "ar-DZ",
593
+ "ar-EG",
594
+ "ar-IN",
595
+ "ar-IQ",
596
+ "ar-JO",
597
+ "ar-KW",
598
+ "ar-LB",
599
+ "ar-LY",
600
+ "ar-MA",
601
+ "ar-OM",
602
+ "ar-QA",
603
+ "ar-SA",
604
+ "ar-SD",
605
+ "ar-SY",
606
+ "ar-TN",
607
+ "ar-YE",
608
+ "as",
609
+ "as-IN",
610
+ "asa",
611
+ "asa-TZ",
612
+ "ast-ES",
613
+ "az",
614
+ "az-AZ",
615
+ "az-Cyrl",
616
+ "az-Cyrl-AZ",
617
+ "az-Latn",
618
+ "az-Latn-AZ",
619
+ "be",
620
+ "be-BY",
621
+ "bem",
622
+ "bem-ZM",
623
+ "ber-DZ",
624
+ "ber-MA",
625
+ "bez",
626
+ "bez-TZ",
627
+ "bg",
628
+ "bg-BG",
629
+ "bho-IN",
630
+ "bm",
631
+ "bm-ML",
632
+ "bn",
633
+ "bn-BD",
634
+ "bn-IN",
635
+ "bo",
636
+ "bo-CN",
637
+ "bo-IN",
638
+ "br-FR",
639
+ "brx-IN",
640
+ "bs",
641
+ "bs-BA",
642
+ "byn-ER",
643
+ "ca",
644
+ "ca-AD",
645
+ "ca-ES",
646
+ "ca-FR",
647
+ "ca-IT",
648
+ "cgg",
649
+ "cgg-UG",
650
+ "chr",
651
+ "chr-US",
652
+ "crh-UA",
653
+ "cs",
654
+ "cs-CZ",
655
+ "csb-PL",
656
+ "cv-RU",
657
+ "cy",
658
+ "cy-GB",
659
+ "da",
660
+ "da-DK",
661
+ "dav",
662
+ "dav-KE",
663
+ "de",
664
+ "de-AT",
665
+ "de-BE",
666
+ "de-CH",
667
+ "de-DE",
668
+ "de-LI",
669
+ "de-LU",
670
+ "dv-MV",
671
+ "dz-BT",
672
+ "ebu",
673
+ "ebu-KE",
674
+ "ee",
675
+ "ee-GH",
676
+ "ee-TG",
677
+ "el",
678
+ "el-CY",
679
+ "el-GR",
680
+ "en",
681
+ "en-AG",
682
+ "en-AS",
683
+ "en-AU",
684
+ "en-BE",
685
+ "en-BW",
686
+ "en-BZ",
687
+ "en-CA",
688
+ "en-DK",
689
+ "en-GB",
690
+ "en-GU",
691
+ "en-HK",
692
+ "en-IE",
693
+ "en-IN",
694
+ "en-JM",
695
+ "en-MH",
696
+ "en-MP",
697
+ "en-MT",
698
+ "en-MU",
699
+ "en-NA",
700
+ "en-NG",
701
+ "en-NZ",
702
+ "en-PH",
703
+ "en-PK",
704
+ "en-SG",
705
+ "en-TT",
706
+ "en-UM",
707
+ "en-US",
708
+ "en-VI",
709
+ "en-ZA",
710
+ "en-ZM",
711
+ "en-ZW",
712
+ "eo",
713
+ "es",
714
+ "es-419",
715
+ "es-AR",
716
+ "es-BO",
717
+ "es-CL",
718
+ "es-CO",
719
+ "es-CR",
720
+ "es-CU",
721
+ "es-DO",
722
+ "es-EC",
723
+ "es-ES",
724
+ "es-GQ",
725
+ "es-GT",
726
+ "es-HN",
727
+ "es-MX",
728
+ "es-NI",
729
+ "es-PA",
730
+ "es-PE",
731
+ "es-PR",
732
+ "es-PY",
733
+ "es-SV",
734
+ "es-US",
735
+ "es-UY",
736
+ "es-VE",
737
+ "et",
738
+ "et-EE",
739
+ "eu",
740
+ "eu-ES",
741
+ "fa",
742
+ "fa-AF",
743
+ "fa-IR",
744
+ "ff",
745
+ "ff-SN",
746
+ "fi",
747
+ "fi-FI",
748
+ "fil",
749
+ "fil-PH",
750
+ "fo",
751
+ "fo-FO",
752
+ "fr",
753
+ "fr-BE",
754
+ "fr-BF",
755
+ "fr-BI",
756
+ "fr-BJ",
757
+ "fr-BL",
758
+ "fr-CA",
759
+ "fr-CD",
760
+ "fr-CF",
761
+ "fr-CG",
762
+ "fr-CH",
763
+ "fr-CI",
764
+ "fr-CM",
765
+ "fr-DJ",
766
+ "fr-FR",
767
+ "fr-GA",
768
+ "fr-GN",
769
+ "fr-GP",
770
+ "fr-GQ",
771
+ "fr-KM",
772
+ "fr-LU",
773
+ "fr-MC",
774
+ "fr-MF",
775
+ "fr-MG",
776
+ "fr-ML",
777
+ "fr-MQ",
778
+ "fr-NE",
779
+ "fr-RE",
780
+ "fr-RW",
781
+ "fr-SN",
782
+ "fr-TD",
783
+ "fr-TG",
784
+ "fur-IT",
785
+ "fy-DE",
786
+ "fy-NL",
787
+ "ga",
788
+ "ga-IE",
789
+ "gd-GB",
790
+ "gez-ER",
791
+ "gez-ET",
792
+ "gl",
793
+ "gl-ES",
794
+ "gsw",
795
+ "gsw-CH",
796
+ "gu",
797
+ "gu-IN",
798
+ "guz",
799
+ "guz-KE",
800
+ "gv",
801
+ "gv-GB",
802
+ "ha",
803
+ "ha-Latn",
804
+ "ha-Latn-GH",
805
+ "ha-Latn-NE",
806
+ "ha-Latn-NG",
807
+ "ha-NG",
808
+ "haw",
809
+ "haw-US",
810
+ "he",
811
+ "he-IL",
812
+ "hi",
813
+ "hi-IN",
814
+ "hne-IN",
815
+ "hr",
816
+ "hr-HR",
817
+ "hsb-DE",
818
+ "ht-HT",
819
+ "hu",
820
+ "hu-HU",
821
+ "hy",
822
+ "hy-AM",
823
+ "id",
824
+ "id-ID",
825
+ "ig",
826
+ "ig-NG",
827
+ "ii",
828
+ "ii-CN",
829
+ "ik-CA",
830
+ "is",
831
+ "is-IS",
832
+ "it",
833
+ "it-CH",
834
+ "it-IT",
835
+ "iu-CA",
836
+ "iw-IL",
837
+ "ja",
838
+ "ja-JP",
839
+ "jmc",
840
+ "jmc-TZ",
841
+ "ka",
842
+ "ka-GE",
843
+ "kab",
844
+ "kab-DZ",
845
+ "kam",
846
+ "kam-KE",
847
+ "kde",
848
+ "kde-TZ",
849
+ "kea",
850
+ "kea-CV",
851
+ "khq",
852
+ "khq-ML",
853
+ "ki",
854
+ "ki-KE",
855
+ "kk",
856
+ "kk-Cyrl",
857
+ "kk-Cyrl-KZ",
858
+ "kk-KZ",
859
+ "kl",
860
+ "kl-GL",
861
+ "kln",
862
+ "kln-KE",
863
+ "km",
864
+ "km-KH",
865
+ "kn",
866
+ "kn-IN",
867
+ "ko",
868
+ "ko-KR",
869
+ "kok",
870
+ "kok-IN",
871
+ "ks-IN",
872
+ "ku-TR",
873
+ "kw",
874
+ "kw-GB",
875
+ "ky-KG",
876
+ "lag",
877
+ "lag-TZ",
878
+ "lb-LU",
879
+ "lg",
880
+ "lg-UG",
881
+ "li-BE",
882
+ "li-NL",
883
+ "lij-IT",
884
+ "lo-LA",
885
+ "lt",
886
+ "lt-LT",
887
+ "luo",
888
+ "luo-KE",
889
+ "luy",
890
+ "luy-KE",
891
+ "lv",
892
+ "lv-LV",
893
+ "mag-IN",
894
+ "mai-IN",
895
+ "mas",
896
+ "mas-KE",
897
+ "mas-TZ",
898
+ "mer",
899
+ "mer-KE",
900
+ "mfe",
901
+ "mfe-MU",
902
+ "mg",
903
+ "mg-MG",
904
+ "mhr-RU",
905
+ "mi-NZ",
906
+ "mk",
907
+ "mk-MK",
908
+ "ml",
909
+ "ml-IN",
910
+ "mn-MN",
911
+ "mr",
912
+ "mr-IN",
913
+ "ms",
914
+ "ms-BN",
915
+ "ms-MY",
916
+ "mt",
917
+ "mt-MT",
918
+ "my",
919
+ "my-MM",
920
+ "nan-TW",
921
+ "naq",
922
+ "naq-NA",
923
+ "nb",
924
+ "nb-NO",
925
+ "nd",
926
+ "nd-ZW",
927
+ "nds-DE",
928
+ "nds-NL",
929
+ "ne",
930
+ "ne-IN",
931
+ "ne-NP",
932
+ "nl",
933
+ "nl-AW",
934
+ "nl-BE",
935
+ "nl-NL",
936
+ "nn",
937
+ "nn-NO",
938
+ "nr-ZA",
939
+ "nso-ZA",
940
+ "nyn",
941
+ "nyn-UG",
942
+ "oc-FR",
943
+ "om",
944
+ "om-ET",
945
+ "om-KE",
946
+ "or",
947
+ "or-IN",
948
+ "os-RU",
949
+ "pa",
950
+ "pa-Arab",
951
+ "pa-Arab-PK",
952
+ "pa-Guru",
953
+ "pa-Guru-IN",
954
+ "pa-IN",
955
+ "pa-PK",
956
+ "pap-AN",
957
+ "pl",
958
+ "pl-PL",
959
+ "ps",
960
+ "ps-AF",
961
+ "pt",
962
+ "pt-BR",
963
+ "pt-GW",
964
+ "pt-MZ",
965
+ "pt-PT",
966
+ "rm",
967
+ "rm-CH",
968
+ "ro",
969
+ "ro-MD",
970
+ "ro-RO",
971
+ "rof",
972
+ "rof-TZ",
973
+ "ru",
974
+ "ru-MD",
975
+ "ru-RU",
976
+ "ru-UA",
977
+ "rw",
978
+ "rw-RW",
979
+ "rwk",
980
+ "rwk-TZ",
981
+ "sa-IN",
982
+ "saq",
983
+ "saq-KE",
984
+ "sc-IT",
985
+ "sd-IN",
986
+ "se-NO",
987
+ "seh",
988
+ "seh-MZ",
989
+ "ses",
990
+ "ses-ML",
991
+ "sg",
992
+ "sg-CF",
993
+ "shi",
994
+ "shi-Latn",
995
+ "shi-Latn-MA",
996
+ "shi-Tfng",
997
+ "shi-Tfng-MA",
998
+ "shs-CA",
999
+ "si",
1000
+ "si-LK",
1001
+ "sid-ET",
1002
+ "sk",
1003
+ "sk-SK",
1004
+ "sl",
1005
+ "sl-SI",
1006
+ "sn",
1007
+ "sn-ZW",
1008
+ "so",
1009
+ "so-DJ",
1010
+ "so-ET",
1011
+ "so-KE",
1012
+ "so-SO",
1013
+ "sq",
1014
+ "sq-AL",
1015
+ "sq-MK",
1016
+ "sr",
1017
+ "sr-Cyrl",
1018
+ "sr-Cyrl-BA",
1019
+ "sr-Cyrl-ME",
1020
+ "sr-Cyrl-RS",
1021
+ "sr-Latn",
1022
+ "sr-Latn-BA",
1023
+ "sr-Latn-ME",
1024
+ "sr-Latn-RS",
1025
+ "sr-ME",
1026
+ "sr-RS",
1027
+ "ss-ZA",
1028
+ "st-ZA",
1029
+ "sv",
1030
+ "sv-FI",
1031
+ "sv-SE",
1032
+ "sw",
1033
+ "sw-KE",
1034
+ "sw-TZ",
1035
+ "ta",
1036
+ "ta-IN",
1037
+ "ta-LK",
1038
+ "te",
1039
+ "te-IN",
1040
+ "teo",
1041
+ "teo-KE",
1042
+ "teo-UG",
1043
+ "tg-TJ",
1044
+ "th",
1045
+ "th-TH",
1046
+ "ti",
1047
+ "ti-ER",
1048
+ "ti-ET",
1049
+ "tig-ER",
1050
+ "tk-TM",
1051
+ "tl-PH",
1052
+ "tn-ZA",
1053
+ "to",
1054
+ "to-TO",
1055
+ "tr",
1056
+ "tr-CY",
1057
+ "tr-TR",
1058
+ "ts-ZA",
1059
+ "tt-RU",
1060
+ "tzm",
1061
+ "tzm-Latn",
1062
+ "tzm-Latn-MA",
1063
+ "ug-CN",
1064
+ "uk",
1065
+ "uk-UA",
1066
+ "unm-US",
1067
+ "ur",
1068
+ "ur-IN",
1069
+ "ur-PK",
1070
+ "uz",
1071
+ "uz-Arab",
1072
+ "uz-Arab-AF",
1073
+ "uz-Cyrl",
1074
+ "uz-Cyrl-UZ",
1075
+ "uz-Latn",
1076
+ "uz-Latn-UZ",
1077
+ "uz-UZ",
1078
+ "ve-ZA",
1079
+ "vi",
1080
+ "vi-VN",
1081
+ "vun",
1082
+ "vun-TZ",
1083
+ "wa-BE",
1084
+ "wae-CH",
1085
+ "wal-ET",
1086
+ "wo-SN",
1087
+ "xh-ZA",
1088
+ "xog",
1089
+ "xog-UG",
1090
+ "yi-US",
1091
+ "yo",
1092
+ "yo-NG",
1093
+ "yue-HK",
1094
+ "zh",
1095
+ "zh-CN",
1096
+ "zh-HK",
1097
+ "zh-Hans",
1098
+ "zh-Hans-CN",
1099
+ "zh-Hans-HK",
1100
+ "zh-Hans-MO",
1101
+ "zh-Hans-SG",
1102
+ "zh-Hant",
1103
+ "zh-Hant-HK",
1104
+ "zh-Hant-MO",
1105
+ "zh-Hant-TW",
1106
+ "zh-SG",
1107
+ "zh-TW",
1108
+ "zu",
1109
+ "zu-ZA",
1110
+ "auto",
1111
+ ]
1112
+ """Locale for browser language and region settings"""
1113
+
1114
+ method: Literal["GET", "POST", "PUT", "PATCH", "DELETE"]
1115
+ """HTTP method for the request"""
1116
+
1117
+ no_html: bool
1118
+ """Whether to exclude HTML from the response"""
1119
+
1120
+ parse: bool
1121
+ """Whether to parse the response content"""
1122
+
1123
+ parse_options: DataOptionsExtractOptionsParseOptions
1124
+ """Configuration options for parsing behavior"""
1125
+
1126
+ proxy_provider: Literal[
1127
+ "brightdata",
1128
+ "oxylabs",
1129
+ "smartproxy",
1130
+ "proxit",
1131
+ "proxit_preprod",
1132
+ "local",
1133
+ "rayobyte",
1134
+ "always",
1135
+ "oculusproxies",
1136
+ "froxy",
1137
+ "packetstream",
1138
+ "911proxy",
1139
+ "direct911proxy",
1140
+ "thesocialproxy",
1141
+ "thesocialproxy2",
1142
+ "nimble-isp",
1143
+ "nimble-isp-mobile",
1144
+ "proxit-linux",
1145
+ "proxit-macos",
1146
+ "proxit-windows",
1147
+ "proxit-rental",
1148
+ "ipfoxy",
1149
+ "brightup",
1150
+ "research",
1151
+ ]
1152
+ """Proxy provider to use for the request"""
1153
+
1154
+ raw_headers: bool
1155
+ """Whether to return raw HTTP headers in response"""
1156
+
1157
+ save_userbrowser: bool
1158
+ """Whether to save the userbrowser session for reuse"""
1159
+
1160
+ session: DataOptionsExtractOptionsSession
1161
+
1162
+ type: str
1163
+ """Type of query or scraping template"""
1164
+
1165
+ url: str
1166
+ """Target URL to scrape"""
1167
+
1168
+ browser: Optional[DataOptionsExtractOptionsBrowser] = None
1169
+ """Browser type to emulate"""
1170
+
1171
+ city: Optional[str] = None
1172
+ """City for geolocation"""
1173
+
1174
+ client_timeout: Optional[float] = None
1175
+ """Client-side timeout in milliseconds"""
1176
+
1177
+ consent_header: Optional[bool] = None
1178
+ """Whether to automatically handle cookie consent headers"""
1179
+
1180
+ cookies: Union[List[DataOptionsExtractOptionsCookiesUnionMember0], str, None] = None
1181
+ """Browser cookies as array of cookie objects"""
1182
+
1183
+ disable_ip_check: Optional[bool] = None
1184
+ """Whether to disable IP address validation"""
1185
+
1186
+ driver: Optional[Literal["vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro"]] = None
1187
+ """Browser driver to use"""
1188
+
1189
+ dynamic_parser: Optional[Dict[str, object]] = None
1190
+ """Custom parser configuration as a key-value map"""
1191
+
1192
+ expected_status_codes: Optional[List[int]] = None
1193
+ """Expected HTTP status codes for successful requests"""
1194
+
1195
+ ip6: Optional[bool] = None
1196
+ """Whether to use IPv6 for the request"""
1197
+
1198
+ markdown: Optional[bool] = None
1199
+ """Whether to return response in Markdown format"""
1200
+
1201
+ metadata: Optional[DataOptionsExtractOptionsMetadata] = None
1202
+ """Structured metadata about the request execution context"""
1203
+
1204
+ native_mode: Optional[Literal["requester", "apm", "direct"]] = None
1205
+ """Native execution mode"""
1206
+
1207
+ network_capture: Optional[List[DataOptionsExtractOptionsNetworkCapture]] = None
1208
+ """Filters for capturing network traffic"""
1209
+
1210
+ no_userbrowser: Optional[bool] = None
1211
+ """Whether to disable browser-based rendering"""
1212
+
1213
+ os: Optional[Literal["windows", "mac os", "linux", "android", "ios"]] = None
1214
+ """Operating system to emulate"""
1215
+
1216
+ parser: Union[Dict[str, object], str, None] = None
1217
+ """Custom parser configuration as a key-value map"""
1218
+
1219
+ proxy_providers: Optional[Dict[str, float]] = None
1220
+ """Weighted distribution of proxy providers"""
1221
+
1222
+ query_template: Optional[DataOptionsExtractOptionsQueryTemplate] = None
1223
+ """Query template configuration for structured data extraction"""
1224
+
1225
+ referrer_type: Optional[
1226
+ Literal["random", "no-referer", "same-origin", "google", "bing", "facebook", "twitter", "instagram"]
1227
+ ] = None
1228
+ """Referrer policy for the request"""
1229
+
1230
+ render: Optional[bool] = None
1231
+ """Whether to render JavaScript content using a browser"""
1232
+
1233
+ render_flow: Optional[List[Dict[str, object]]] = None
1234
+ """Array of actions to perform during browser rendering"""
1235
+
1236
+ render_options: Optional[Dict[str, object]] = None
1237
+
1238
+ request_timeout: Optional[float] = None
1239
+ """Request timeout in milliseconds"""
1240
+
1241
+ return_response_headers_as_header: Optional[bool] = None
1242
+ """Whether to return response headers in HTTP headers"""
1243
+
1244
+ skill: Union[str, List[str], None] = None
1245
+ """Skills or capabilities required for the request"""
1246
+
1247
+ skip_ubct: Optional[bool] = None
1248
+ """Whether to skip userbrowser creation template processing"""
1249
+
1250
+ state: Optional[
1251
+ Literal[
1252
+ "AL",
1253
+ "AK",
1254
+ "AS",
1255
+ "AZ",
1256
+ "AR",
1257
+ "CA",
1258
+ "CO",
1259
+ "CT",
1260
+ "DE",
1261
+ "DC",
1262
+ "FL",
1263
+ "GA",
1264
+ "GU",
1265
+ "HI",
1266
+ "ID",
1267
+ "IL",
1268
+ "IN",
1269
+ "IA",
1270
+ "KS",
1271
+ "KY",
1272
+ "LA",
1273
+ "ME",
1274
+ "MD",
1275
+ "MA",
1276
+ "MI",
1277
+ "MN",
1278
+ "MS",
1279
+ "MO",
1280
+ "MT",
1281
+ "NE",
1282
+ "NV",
1283
+ "NH",
1284
+ "NJ",
1285
+ "NM",
1286
+ "NY",
1287
+ "NC",
1288
+ "ND",
1289
+ "MP",
1290
+ "OH",
1291
+ "OK",
1292
+ "OR",
1293
+ "PA",
1294
+ "PR",
1295
+ "RI",
1296
+ "SC",
1297
+ "SD",
1298
+ "TN",
1299
+ "TX",
1300
+ "UT",
1301
+ "VT",
1302
+ "VA",
1303
+ "VI",
1304
+ "WA",
1305
+ "WV",
1306
+ "WI",
1307
+ "WY",
1308
+ ]
1309
+ ] = None
1310
+ """US state for geolocation (only valid when country is US)"""
1311
+
1312
+ tag: Optional[str] = None
1313
+ """User-defined tag for request identification"""
1314
+
1315
+ template: Optional[DataOptionsExtractOptionsTemplate] = None
1316
+ """Userbrowser creation template configuration"""
1317
+
1318
+ userbrowser_creation_template_rendered: Optional[DataOptionsExtractOptionsUserbrowserCreationTemplateRendered] = (
1319
+ None
1320
+ )
1321
+ """Pre-rendered userbrowser creation template configuration"""
1322
+
1323
+
1324
+ class DataOptions(BaseModel):
1325
+ allow_external_links: bool
1326
+ """Allows the crawler to follow links to external websites."""
1327
+
1328
+ allow_subdomains: bool
1329
+ """Allows the crawler to follow links to subdomains of the main domain."""
1330
+
1331
+ crawl_entire_domain: bool
1332
+ """
1333
+ Allows the crawler to follow internal links to sibling or parent URLs, not just
1334
+ child paths.
1335
+ """
1336
+
1337
+ ignore_query_parameters: bool
1338
+ """Do not re-scrape the same path with different (or none) query parameters."""
1339
+
1340
+ limit: int
1341
+ """Maximum number of pages to crawl."""
1342
+
1343
+ max_discovery_depth: int
1344
+ """Maximum depth to crawl based on discovery order."""
1345
+
1346
+ sitemap: Literal["skip", "include", "only"]
1347
+ """Sitemap and other methods will be used together to find URLs."""
1348
+
1349
+ url: str
1350
+ """Url to crawl."""
1351
+
1352
+ callback: Optional[DataOptionsCallback] = None
1353
+ """Webhook configuration for receiving crawl results."""
1354
+
1355
+ exclude_paths: Optional[List[str]] = None
1356
+ """URL pathname regex patterns that exclude matching URLs from the crawl."""
1357
+
1358
+ extract_options: Optional[DataOptionsExtractOptions] = None
1359
+
1360
+ include_paths: Optional[List[str]] = None
1361
+ """URL pathname regex patterns that include matching URLs in the crawl."""
1362
+
1363
+ name: Optional[str] = None
1364
+ """Name of the crawl."""
1365
+
1366
+
1367
+ class Data(BaseModel):
1368
+ id: str
1369
+
1370
+ account_name: str = FieldInfo(alias="accountName")
1371
+
1372
+ options: DataOptions
1373
+
1374
+ url: str
1375
+
1376
+
1377
+ class Pagination(BaseModel):
1378
+ has_next: bool = FieldInfo(alias="hasNext")
1379
+
1380
+ next_cursor: Optional[str] = FieldInfo(alias="nextCursor", default=None)
1381
+
1382
+ total: float
1383
+
1384
+
1385
+ class CrawlListResponse(BaseModel):
1386
+ """Successful get crawl response"""
1387
+
1388
+ data: List[Data]
1389
+
1390
+ pagination: Pagination