@tapline/client 0.2.15 → 0.2.17

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 (162) hide show
  1. package/README.md +4 -2
  2. package/dist/cjs/client.d.ts +2 -0
  3. package/dist/cjs/client.d.ts.map +1 -1
  4. package/dist/cjs/client.js +3 -0
  5. package/dist/cjs/client.js.map +1 -1
  6. package/dist/cjs/index.d.ts +2 -0
  7. package/dist/cjs/index.d.ts.map +1 -1
  8. package/dist/cjs/index.js +5 -1
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/services/airbnb/types.d.ts +1 -1
  11. package/dist/cjs/services/airbnb/types.d.ts.map +1 -1
  12. package/dist/cjs/services/birdeye/types.d.ts +547 -530
  13. package/dist/cjs/services/birdeye/types.d.ts.map +1 -1
  14. package/dist/cjs/services/brave_search/types.d.ts +1 -1
  15. package/dist/cjs/services/brave_search/types.d.ts.map +1 -1
  16. package/dist/cjs/services/expedia/types.d.ts +1 -1
  17. package/dist/cjs/services/expedia/types.d.ts.map +1 -1
  18. package/dist/cjs/services/facebook/types.d.ts +1 -1
  19. package/dist/cjs/services/facebook/types.d.ts.map +1 -1
  20. package/dist/cjs/services/facebook_ad_library/types.d.ts +1 -1
  21. package/dist/cjs/services/facebook_ad_library/types.d.ts.map +1 -1
  22. package/dist/cjs/services/facebook_marketplace/types.d.ts +46 -15
  23. package/dist/cjs/services/facebook_marketplace/types.d.ts.map +1 -1
  24. package/dist/cjs/services/geckoterminal/types.d.ts +522 -521
  25. package/dist/cjs/services/geckoterminal/types.d.ts.map +1 -1
  26. package/dist/cjs/services/gmgn/client.d.ts +1 -1
  27. package/dist/cjs/services/gmgn/client.d.ts.map +1 -1
  28. package/dist/cjs/services/gmgn/client.js +3 -3
  29. package/dist/cjs/services/gmgn/client.js.map +1 -1
  30. package/dist/cjs/services/gmgn/types.d.ts +1428 -1407
  31. package/dist/cjs/services/gmgn/types.d.ts.map +1 -1
  32. package/dist/cjs/services/google_maps/client.d.ts +45 -0
  33. package/dist/cjs/services/google_maps/client.d.ts.map +1 -0
  34. package/dist/cjs/services/google_maps/client.js +99 -0
  35. package/dist/cjs/services/google_maps/client.js.map +1 -0
  36. package/dist/cjs/services/google_maps/index.d.ts +3 -0
  37. package/dist/cjs/services/google_maps/index.d.ts.map +1 -0
  38. package/dist/cjs/services/google_maps/index.js +22 -0
  39. package/dist/cjs/services/google_maps/index.js.map +1 -0
  40. package/dist/cjs/services/google_maps/types.d.ts +1315 -0
  41. package/dist/cjs/services/google_maps/types.d.ts.map +1 -0
  42. package/dist/cjs/services/google_maps/types.js +4 -0
  43. package/dist/cjs/services/google_maps/types.js.map +1 -0
  44. package/dist/cjs/services/goplus/types.d.ts +1 -1
  45. package/dist/cjs/services/goplus/types.d.ts.map +1 -1
  46. package/dist/cjs/services/imovelweb/client.d.ts +1 -1
  47. package/dist/cjs/services/imovelweb/client.d.ts.map +1 -1
  48. package/dist/cjs/services/imovelweb/client.js +1 -1
  49. package/dist/cjs/services/imovelweb/client.js.map +1 -1
  50. package/dist/cjs/services/imovelweb/types.d.ts +360 -360
  51. package/dist/cjs/services/imovelweb/types.d.ts.map +1 -1
  52. package/dist/cjs/services/indeed/types.d.ts +1 -1
  53. package/dist/cjs/services/indeed/types.d.ts.map +1 -1
  54. package/dist/cjs/services/instagram/types.d.ts +1 -1
  55. package/dist/cjs/services/instagram/types.d.ts.map +1 -1
  56. package/dist/cjs/services/linkedin/types.d.ts +1 -1
  57. package/dist/cjs/services/linkedin/types.d.ts.map +1 -1
  58. package/dist/cjs/services/pinterest/types.d.ts +2 -2
  59. package/dist/cjs/services/pinterest/types.d.ts.map +1 -1
  60. package/dist/cjs/services/pinterest_v2/types.d.ts +1 -1
  61. package/dist/cjs/services/pinterest_v2/types.d.ts.map +1 -1
  62. package/dist/cjs/services/ponsfamily/types.d.ts +331 -325
  63. package/dist/cjs/services/ponsfamily/types.d.ts.map +1 -1
  64. package/dist/cjs/services/pumpfun/client.d.ts +2 -10
  65. package/dist/cjs/services/pumpfun/client.d.ts.map +1 -1
  66. package/dist/cjs/services/pumpfun/client.js +3 -23
  67. package/dist/cjs/services/pumpfun/client.js.map +1 -1
  68. package/dist/cjs/services/pumpfun/types.d.ts +2432 -2393
  69. package/dist/cjs/services/pumpfun/types.d.ts.map +1 -1
  70. package/dist/cjs/services/tiktok/client.d.ts +19 -17
  71. package/dist/cjs/services/tiktok/client.d.ts.map +1 -1
  72. package/dist/cjs/services/tiktok/client.js +13 -9
  73. package/dist/cjs/services/tiktok/client.js.map +1 -1
  74. package/dist/cjs/services/tiktok/types.d.ts +577 -3318
  75. package/dist/cjs/services/tiktok/types.d.ts.map +1 -1
  76. package/dist/cjs/services/twitter/types.d.ts +1 -1
  77. package/dist/cjs/services/twitter/types.d.ts.map +1 -1
  78. package/dist/cjs/services/youtube/types.d.ts +1 -1
  79. package/dist/cjs/services/youtube/types.d.ts.map +1 -1
  80. package/dist/cjs/services/zillow/types.d.ts +1 -1
  81. package/dist/cjs/services/zillow/types.d.ts.map +1 -1
  82. package/dist/client.d.ts +2 -0
  83. package/dist/client.d.ts.map +1 -1
  84. package/dist/client.js +3 -0
  85. package/dist/client.js.map +1 -1
  86. package/dist/index.d.ts +2 -0
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js +2 -0
  89. package/dist/index.js.map +1 -1
  90. package/dist/services/airbnb/types.d.ts +1 -1
  91. package/dist/services/airbnb/types.d.ts.map +1 -1
  92. package/dist/services/birdeye/types.d.ts +547 -530
  93. package/dist/services/birdeye/types.d.ts.map +1 -1
  94. package/dist/services/brave_search/types.d.ts +1 -1
  95. package/dist/services/brave_search/types.d.ts.map +1 -1
  96. package/dist/services/expedia/types.d.ts +1 -1
  97. package/dist/services/expedia/types.d.ts.map +1 -1
  98. package/dist/services/facebook/types.d.ts +1 -1
  99. package/dist/services/facebook/types.d.ts.map +1 -1
  100. package/dist/services/facebook_ad_library/types.d.ts +1 -1
  101. package/dist/services/facebook_ad_library/types.d.ts.map +1 -1
  102. package/dist/services/facebook_marketplace/types.d.ts +46 -15
  103. package/dist/services/facebook_marketplace/types.d.ts.map +1 -1
  104. package/dist/services/geckoterminal/types.d.ts +522 -521
  105. package/dist/services/geckoterminal/types.d.ts.map +1 -1
  106. package/dist/services/gmgn/client.d.ts +1 -1
  107. package/dist/services/gmgn/client.d.ts.map +1 -1
  108. package/dist/services/gmgn/client.js +3 -3
  109. package/dist/services/gmgn/client.js.map +1 -1
  110. package/dist/services/gmgn/types.d.ts +1428 -1407
  111. package/dist/services/gmgn/types.d.ts.map +1 -1
  112. package/dist/services/google_maps/client.d.ts +45 -0
  113. package/dist/services/google_maps/client.d.ts.map +1 -0
  114. package/dist/services/google_maps/client.js +95 -0
  115. package/dist/services/google_maps/client.js.map +1 -0
  116. package/dist/services/google_maps/index.d.ts +3 -0
  117. package/dist/services/google_maps/index.d.ts.map +1 -0
  118. package/dist/services/google_maps/index.js +4 -0
  119. package/dist/services/google_maps/index.js.map +1 -0
  120. package/dist/services/google_maps/types.d.ts +1315 -0
  121. package/dist/services/google_maps/types.d.ts.map +1 -0
  122. package/dist/services/google_maps/types.js +3 -0
  123. package/dist/services/google_maps/types.js.map +1 -0
  124. package/dist/services/goplus/types.d.ts +1 -1
  125. package/dist/services/goplus/types.d.ts.map +1 -1
  126. package/dist/services/imovelweb/client.d.ts +1 -1
  127. package/dist/services/imovelweb/client.d.ts.map +1 -1
  128. package/dist/services/imovelweb/client.js +1 -1
  129. package/dist/services/imovelweb/client.js.map +1 -1
  130. package/dist/services/imovelweb/types.d.ts +360 -360
  131. package/dist/services/imovelweb/types.d.ts.map +1 -1
  132. package/dist/services/indeed/types.d.ts +1 -1
  133. package/dist/services/indeed/types.d.ts.map +1 -1
  134. package/dist/services/instagram/types.d.ts +1 -1
  135. package/dist/services/instagram/types.d.ts.map +1 -1
  136. package/dist/services/linkedin/types.d.ts +1 -1
  137. package/dist/services/linkedin/types.d.ts.map +1 -1
  138. package/dist/services/pinterest/types.d.ts +2 -2
  139. package/dist/services/pinterest/types.d.ts.map +1 -1
  140. package/dist/services/pinterest_v2/types.d.ts +1 -1
  141. package/dist/services/pinterest_v2/types.d.ts.map +1 -1
  142. package/dist/services/ponsfamily/types.d.ts +331 -325
  143. package/dist/services/ponsfamily/types.d.ts.map +1 -1
  144. package/dist/services/pumpfun/client.d.ts +2 -10
  145. package/dist/services/pumpfun/client.d.ts.map +1 -1
  146. package/dist/services/pumpfun/client.js +3 -23
  147. package/dist/services/pumpfun/client.js.map +1 -1
  148. package/dist/services/pumpfun/types.d.ts +2432 -2393
  149. package/dist/services/pumpfun/types.d.ts.map +1 -1
  150. package/dist/services/tiktok/client.d.ts +19 -17
  151. package/dist/services/tiktok/client.d.ts.map +1 -1
  152. package/dist/services/tiktok/client.js +13 -9
  153. package/dist/services/tiktok/client.js.map +1 -1
  154. package/dist/services/tiktok/types.d.ts +577 -3318
  155. package/dist/services/tiktok/types.d.ts.map +1 -1
  156. package/dist/services/twitter/types.d.ts +1 -1
  157. package/dist/services/twitter/types.d.ts.map +1 -1
  158. package/dist/services/youtube/types.d.ts +1 -1
  159. package/dist/services/youtube/types.d.ts.map +1 -1
  160. package/dist/services/zillow/types.d.ts +1 -1
  161. package/dist/services/zillow/types.d.ts.map +1 -1
  162. package/package.json +4 -2
@@ -1,16 +1,16 @@
1
1
  export interface ErrorDetail {
2
- ctx?: Record<string, unknown> | null;
3
- input?: unknown | null;
2
+ type?: string | null;
4
3
  loc?: (string | number)[] | null;
5
4
  msg?: string | null;
6
- type?: string | null;
5
+ input?: unknown | null;
6
+ ctx?: Record<string, unknown> | null;
7
7
  }
8
8
  export interface ErrorResponse {
9
9
  code: PublicError;
10
- details?: ErrorDetail[] | null;
11
- domain?: string | null;
12
10
  message: string;
13
11
  request_id: string;
12
+ domain?: string | null;
13
+ details?: ErrorDetail[] | null;
14
14
  upgrade_url?: string | null;
15
15
  }
16
16
  export interface GetListingParams {
@@ -59,53 +59,53 @@ export interface ImovelwebAppliedFilter {
59
59
  }
60
60
  /** A GeoJSON geometry. */
61
61
  export interface ImovelwebAreaOutline {
62
- coordinates: number[][][][];
63
62
  type: string;
63
+ coordinates: number[][][][];
64
64
  }
65
65
  /** Square metres. */
66
66
  export interface ImovelwebAreaRange {
67
- max: number | null;
68
67
  min: number | null;
68
+ max: number | null;
69
69
  }
70
70
  export interface ImovelwebCountRange {
71
- max: number | null;
72
71
  min: number | null;
72
+ max: number | null;
73
73
  }
74
74
  export interface ImovelwebCoverPicture {
75
- size: string;
76
75
  url: string;
76
+ size: string;
77
77
  }
78
78
  /** An ISO 4217 currency code. */
79
79
  export type ImovelwebCurrency = "BRL" | "USD";
80
80
  export type ImovelwebCursorCompletion = "exhausted" | "depth_limit";
81
81
  export interface ImovelwebCursorPagination {
82
- completion: ImovelwebCursorCompletion | null;
83
82
  next_cursor: string | null;
83
+ completion: ImovelwebCursorCompletion | null;
84
84
  }
85
85
  /**
86
86
  * A new development: its stage, delivery date and the ranges across its units. A unit
87
87
  * carries only the stage, delivery and unit count.
88
88
  */
89
89
  export interface ImovelwebDevelopment {
90
- bathrooms: ImovelwebCountRange | null;
91
- bedrooms: ImovelwebCountRange | null;
90
+ stage: ImovelwebDevelopmentStage | null;
92
91
  delivery: ImovelwebDevelopmentDelivery | null;
93
- parking_spaces: ImovelwebCountRange | null;
92
+ unit_count: number | null;
94
93
  price: ImovelwebMoneyRange | null;
95
- prices_by_operation: ImovelwebDevelopmentPrice[];
96
- raw: ImovelwebDevelopmentRaw;
97
- stage: ImovelwebDevelopmentStage | null;
98
- steps: ImovelwebDevelopmentStep[];
94
+ bedrooms: ImovelwebCountRange | null;
95
+ bathrooms: ImovelwebCountRange | null;
96
+ parking_spaces: ImovelwebCountRange | null;
97
+ usable_area_m2: ImovelwebAreaRange | null;
99
98
  total_area_m2: ImovelwebAreaRange | null;
100
- unit_count: number | null;
99
+ steps: ImovelwebDevelopmentStep[];
100
+ prices_by_operation: ImovelwebDevelopmentPrice[];
101
101
  unit_groups: ImovelwebUnitGroup[];
102
- usable_area_m2: ImovelwebAreaRange | null;
102
+ raw: ImovelwebDevelopmentRaw;
103
103
  }
104
104
  /** When the developer hands over the units: immediately, or in a month and year. */
105
105
  export interface ImovelwebDevelopmentDelivery {
106
106
  is_immediate: boolean;
107
- month: number | null;
108
107
  year: number | null;
108
+ month: number | null;
109
109
  }
110
110
  export interface ImovelwebDevelopmentPrice {
111
111
  operation: ImovelwebOperation | null;
@@ -129,37 +129,37 @@ export interface ImovelwebDevelopmentStep {
129
129
  * `raw.status`), live or not, so `/listings/{posting_id}` on the unit's id has its status.
130
130
  */
131
131
  export interface ImovelwebDevelopmentUnit {
132
- ad_tier: ImovelwebAdTier | null;
133
- amenities: ImovelwebAmenityEntry[];
134
- bathrooms: number | null;
135
132
  bedrooms: number | null;
133
+ bathrooms: number | null;
134
+ suites: number | null;
135
+ parking_spaces: number | null;
136
136
  building_age_years: number | null;
137
+ total_area_m2: number | null;
138
+ usable_area_m2: number | null;
139
+ id: string;
137
140
  code: string | null;
138
- created_at: string | null;
139
- description: string | null;
140
- development: ImovelwebDevelopment | null;
141
+ url: string;
142
+ posting_type: ImovelwebPostingType | null;
143
+ status: ImovelwebPostingStatus | null;
144
+ title: string | null;
141
145
  generated_title: string | null;
142
- highlighted_amenities: ImovelwebAmenity[];
143
- id: string;
146
+ property_type: ImovelwebPropertyKind | null;
147
+ operations: ImovelwebOperationPrice[];
148
+ location: ImovelwebListingLocation;
149
+ ad_tier: ImovelwebAdTier | null;
144
150
  is_premier: boolean;
145
151
  is_reserved: boolean;
146
- location: ImovelwebListingLocation;
147
- operations: ImovelwebOperationPrice[];
148
- parking_spaces: number | null;
149
- photos: ImovelwebPicture[];
150
- posting_type: ImovelwebPostingType | null;
151
- property_subtype: ImovelwebPropertySubtype | null;
152
- property_type: ImovelwebPropertyKind | null;
153
152
  quintoandar_network: ImovelwebNetworkRole | null;
154
- raw: ImovelwebDevelopmentUnitRaw;
155
- status: ImovelwebPostingStatus | null;
156
- suites: number | null;
157
- title: string | null;
158
- total_area_m2: number | null;
159
- url: string;
160
- usable_area_m2: number | null;
161
153
  visit_booking_url: string | null;
154
+ description: string | null;
155
+ photos: ImovelwebPicture[];
162
156
  whatsapp: string | null;
157
+ development: ImovelwebDevelopment | null;
158
+ property_subtype: ImovelwebPropertySubtype | null;
159
+ amenities: ImovelwebAmenityEntry[];
160
+ highlighted_amenities: ImovelwebAmenity[];
161
+ created_at: string | null;
162
+ raw: ImovelwebDevelopmentUnitRaw;
163
163
  }
164
164
  /**
165
165
  * Feature codes and highlight names this API does not know, `whatsApp` when this API
@@ -167,35 +167,35 @@ export interface ImovelwebDevelopmentUnit {
167
167
  * development page lists.
168
168
  */
169
169
  export interface ImovelwebDevelopmentUnitRaw {
170
+ status: string;
171
+ publicationAreaId: string;
170
172
  alt: boolean;
171
- developmentFeatures: Record<string, Record<string, ImovelwebRawFeature>>;
173
+ pixelPlus: boolean;
174
+ showFirst360: boolean;
172
175
  enableBannerFicha: boolean;
176
+ unsafe: boolean;
173
177
  expenses?: ImovelwebRawPrice | null;
174
- highlightedFeatures: string[];
175
- mainFeatures: Record<string, ImovelwebRawFeature>;
176
- ownershipRede?: string;
177
- pixelPlus: boolean;
178
178
  plans?: ImovelwebRawDetailPicture[];
179
+ videos?: ImovelwebRawMedia[];
180
+ tour?: ImovelwebRawMedia | null;
181
+ whatsApp?: string;
179
182
  postingType?: string;
180
- publicationAreaId: string;
181
- realEstateSubTypeId?: string;
182
183
  realEstateTypeId?: string;
184
+ ownershipRede?: string;
185
+ realEstateSubTypeId?: string;
183
186
  requestVisit5A: ImovelwebRequestVisitRaw;
184
- showFirst360: boolean;
185
- status: string;
186
- tour?: ImovelwebRawMedia | null;
187
- unsafe: boolean;
188
- videos?: ImovelwebRawMedia[];
189
- whatsApp?: string;
187
+ mainFeatures: Record<string, ImovelwebRawFeature>;
188
+ developmentFeatures: Record<string, Record<string, ImovelwebRawFeature>>;
189
+ highlightedFeatures: string[];
190
190
  }
191
191
  /** A publisher advertising the same property, with its own listing of it. */
192
192
  export interface ImovelwebDuplicatePublisher {
193
- ad_tier: ImovelwebAdTier | null;
194
- is_premier: boolean;
195
193
  listing_id: string;
196
194
  listing_url: string;
197
- logo_url: string | null;
198
195
  name: string;
196
+ logo_url: string | null;
197
+ is_premier: boolean;
198
+ ad_tier: ImovelwebAdTier | null;
199
199
  raw: ImovelwebDuplicatePublisherRaw;
200
200
  }
201
201
  export interface ImovelwebDuplicatePublisherRaw {
@@ -212,49 +212,49 @@ export interface ImovelwebDuplicatePublisherRaw {
212
212
  * no IPTU: imovelweb sends it as null; `/listings/{posting_id}` has it.
213
213
  */
214
214
  export interface ImovelwebListing {
215
- ad_tier: ImovelwebAdTier | null;
216
- ai_description: string | null;
217
- bathrooms: number | null;
218
215
  bedrooms: number | null;
216
+ bathrooms: number | null;
217
+ suites: number | null;
218
+ parking_spaces: number | null;
219
219
  building_age_years: number | null;
220
+ total_area_m2: number | null;
221
+ usable_area_m2: number | null;
222
+ id: string;
220
223
  code: string | null;
221
- condo_fee: ImovelwebMoney | null;
224
+ url: string;
225
+ posting_type: ImovelwebPostingType | null;
226
+ status: ImovelwebPostingStatus | null;
227
+ title: string | null;
228
+ generated_title: string | null;
229
+ property_type: ImovelwebPropertyKind | null;
230
+ operations: ImovelwebOperationPrice[];
231
+ location: ImovelwebListingLocation;
232
+ ad_tier: ImovelwebAdTier | null;
233
+ is_premier: boolean;
234
+ is_reserved: boolean;
235
+ quintoandar_network: ImovelwebNetworkRole | null;
236
+ visit_booking_url: string | null;
222
237
  description: string | null;
238
+ photos: ImovelwebPicture[];
239
+ whatsapp: string | null;
223
240
  development: ImovelwebDevelopment | null;
241
+ ai_description: string | null;
242
+ condo_fee: ImovelwebMoney | null;
243
+ highlighted_amenities: ImovelwebAmenity[];
244
+ photo_count: number;
245
+ has_video: boolean;
246
+ has_tour: boolean;
247
+ has_floor_plans: boolean;
248
+ publisher: ImovelwebListingPublisher;
249
+ logo_url: string | null;
224
250
  duplicate: ImovelwebListingDuplicate | null;
225
251
  duplicate_group_id: string | null;
226
- generated_title: string | null;
227
- has_floor_plans: boolean;
228
- has_tour: boolean;
229
- has_video: boolean;
230
- highlighted_amenities: ImovelwebAmenity[];
231
- id: string;
232
252
  is_foreclosure_auction: boolean;
233
- is_premier: boolean;
234
- is_reserved: boolean;
235
- location: ImovelwebListingLocation;
236
- logo_url: string | null;
237
- modified_at: string | null;
238
- operations: ImovelwebOperationPrice[];
239
- parking_spaces: number | null;
240
- photo_count: number;
241
- photos: ImovelwebPicture[];
242
- posting_type: ImovelwebPostingType | null;
243
253
  promotion_title: string | null;
244
- property_type: ImovelwebPropertyKind | null;
245
254
  published_days_ago: number | null;
246
- publisher: ImovelwebListingPublisher;
247
- quintoandar_network: ImovelwebNetworkRole | null;
248
- raw: ImovelwebListingRaw;
249
- status: ImovelwebPostingStatus | null;
250
- suites: number | null;
251
- title: string | null;
252
- total_area_m2: number | null;
255
+ modified_at: string | null;
253
256
  units: ImovelwebDevelopmentUnit[];
254
- url: string;
255
- usable_area_m2: number | null;
256
- visit_booking_url: string | null;
257
- whatsapp: string | null;
257
+ raw: ImovelwebListingRaw;
258
258
  }
259
259
  /**
260
260
  * A listing page. `description` is plain text with line breaks kept;
@@ -265,45 +265,45 @@ export interface ImovelwebListing {
265
265
  * description.
266
266
  */
267
267
  export interface ImovelwebListingDetail {
268
- ad_tier: ImovelwebAdTier | null;
269
- amenities: ImovelwebAmenityEntry[];
270
- bathrooms: number | null;
271
268
  bedrooms: number | null;
269
+ bathrooms: number | null;
270
+ suites: number | null;
271
+ parking_spaces: number | null;
272
272
  building_age_years: number | null;
273
+ total_area_m2: number | null;
274
+ usable_area_m2: number | null;
275
+ id: string;
273
276
  code: string | null;
274
- condo_fee: ImovelwebMoney | null;
277
+ url: string;
278
+ posting_type: ImovelwebPostingType | null;
279
+ status: ImovelwebPostingStatus | null;
280
+ title: string | null;
281
+ generated_title: string | null;
282
+ property_type: ImovelwebPropertyKind | null;
283
+ operations: ImovelwebOperationPrice[];
284
+ location: ImovelwebListingLocation;
285
+ ad_tier: ImovelwebAdTier | null;
286
+ is_premier: boolean;
287
+ is_reserved: boolean;
288
+ quintoandar_network: ImovelwebNetworkRole | null;
289
+ visit_booking_url: string | null;
275
290
  description: string | null;
291
+ photos: ImovelwebPicture[];
292
+ whatsapp: string | null;
276
293
  development: ImovelwebDevelopment | null;
277
- floor_plans: ImovelwebPicture[];
278
- generated_title: string | null;
279
- id: string;
294
+ condo_fee: ImovelwebMoney | null;
280
295
  iptu: ImovelwebMoney | null;
296
+ amenities: ImovelwebAmenityEntry[];
297
+ floor_plans: ImovelwebPicture[];
298
+ publisher: ImovelwebListingDetailPublisher | null;
281
299
  is_development_unit: boolean;
282
300
  is_foreclosure_auction: boolean;
283
- is_premier: boolean;
284
- is_reserved: boolean;
285
- location: ImovelwebListingLocation;
286
- operations: ImovelwebOperationPrice[];
287
- parking_spaces: number | null;
288
- photos: ImovelwebPicture[];
289
- popularity_message: string | null;
290
- posting_type: ImovelwebPostingType | null;
291
- property_type: ImovelwebPropertyKind | null;
292
301
  published_at: string | null;
293
302
  published_days_ago: number | null;
294
- publisher: ImovelwebListingDetailPublisher | null;
295
- quintoandar_network: ImovelwebNetworkRole | null;
296
- raw: ImovelwebListingDetailRaw;
297
- status: ImovelwebPostingStatus | null;
298
- suites: number | null;
299
- title: string | null;
300
- total_area_m2: number | null;
301
- units: ImovelwebDevelopmentUnit[];
302
- url: string;
303
- usable_area_m2: number | null;
304
303
  view_count: number | null;
305
- visit_booking_url: string | null;
306
- whatsapp: string | null;
304
+ popularity_message: string | null;
305
+ units: ImovelwebDevelopmentUnit[];
306
+ raw: ImovelwebListingDetailRaw;
307
307
  }
308
308
  /**
309
309
  * The publisher on a listing page. `partial_phone` is the first digits imovelweb shows
@@ -311,14 +311,14 @@ export interface ImovelwebListingDetail {
311
311
  * publisher's `is_premier`, which a listing page does not carry.
312
312
  */
313
313
  export interface ImovelwebListingDetailPublisher {
314
- chat_url: string | null;
315
- creci: string | null;
316
314
  id: string | null;
317
- logo_url: string | null;
318
315
  name: string | null;
319
- partial_phone: string | null;
320
316
  type: ImovelwebPublisherKind | null;
321
317
  url: string | null;
318
+ logo_url: string | null;
319
+ creci: string | null;
320
+ partial_phone: string | null;
321
+ chat_url: string | null;
322
322
  }
323
323
  /**
324
324
  * Feature codes and flags this API does not know, and `whatsApp` when this API could not
@@ -326,24 +326,24 @@ export interface ImovelwebListingDetailPublisher {
326
326
  * visit booking URL that `visit_booking_url` also carries.
327
327
  */
328
328
  export interface ImovelwebListingDetailRaw {
329
- cronut5A: ImovelwebRequestVisitRaw;
330
- developmentUrl?: string | null;
331
- enableBannerFicha: boolean;
329
+ publicationAreaId: string | null;
332
330
  featuresWithIcon: number[];
333
- flagsFeatures: ImovelwebRawFeature[];
334
- haveVideo?: boolean;
335
- mainFeatures: Record<string, ImovelwebRawFeature>;
336
- ownershipRede?: string;
337
331
  pixelPlus: boolean;
338
- postingType?: string;
339
- promotion?: ImovelwebRawPromotion | null;
340
- publicationAreaId: string | null;
341
- realEstateTypeId?: string;
342
332
  requestVisit5A: boolean | string;
343
- status?: string;
344
- tour?: ImovelwebRawMedia | null;
333
+ enableBannerFicha: boolean;
334
+ developmentUrl?: string | null;
335
+ promotion?: ImovelwebRawPromotion | null;
336
+ haveVideo?: boolean;
345
337
  videos?: ImovelwebRawMedia[];
338
+ tour?: ImovelwebRawMedia | null;
346
339
  whatsApp?: string;
340
+ postingType?: string;
341
+ realEstateTypeId?: string;
342
+ ownershipRede?: string;
343
+ status?: string;
344
+ cronut5A: ImovelwebRequestVisitRaw;
345
+ mainFeatures: Record<string, ImovelwebRawFeature>;
346
+ flagsFeatures: ImovelwebRawFeature[];
347
347
  }
348
348
  /**
349
349
  * The listing is one of several publishers' copies of the same property. `url` is
@@ -351,8 +351,8 @@ export interface ImovelwebListingDetailRaw {
351
351
  * offers a WhatsApp contact. `/listings/{posting_id}/publishers` lists the copies.
352
352
  */
353
353
  export interface ImovelwebListingDuplicate {
354
- has_whatsapp: boolean;
355
354
  url: string;
355
+ has_whatsapp: boolean;
356
356
  }
357
357
  /** An amenity the search filters by: the amenities imovelweb honours as a filter. */
358
358
  export type ImovelwebListingFeature = "wheelchair_access" | "central_heating" | "green_area" | "toy_library" | "security_cameras" | "football_field" | "golf_course" | "barbecue" | "elevator" | "generator" | "jogging_track" | "playground" | "electronic_gate" | "doorman_24h" | "near_metro" | "tennis_court" | "pool" | "furnished" | "balcony" | "air_conditioning" | "bar" | "closet" | "open_kitchen" | "maid_room" | "home_office" | "accepts_swap" | "sea_front" | "hot_tub" | "garden" | "fireplace" | "suites" | "rental_pool" | "pets_allowed" | "backyard" | "alarm_system";
@@ -363,16 +363,16 @@ export type ImovelwebListingFeature = "wheelchair_access" | "central_heating" |
363
363
  export interface ImovelwebListingLocation {
364
364
  address: string | null;
365
365
  address_visibility: ImovelwebVisibility | null;
366
- city: ImovelwebPlace | null;
367
366
  coordinates_visibility: ImovelwebVisibility | null;
368
367
  country: ImovelwebPlace | null;
368
+ state: ImovelwebPlace | null;
369
+ city: ImovelwebPlace | null;
369
370
  district: ImovelwebPlace | null;
371
+ sub_district: ImovelwebPlace | null;
372
+ neighbourhood: ImovelwebPlace | null;
370
373
  latitude: number | null;
371
374
  longitude: number | null;
372
- neighbourhood: ImovelwebPlace | null;
373
- state: ImovelwebPlace | null;
374
375
  static_map_url: string | null;
375
- sub_district: ImovelwebPlace | null;
376
376
  }
377
377
  /**
378
378
  * The publisher of a search result. `creci` is the CRECI licence; `main_phone` is filled
@@ -381,33 +381,33 @@ export interface ImovelwebListingLocation {
381
381
  * where imovelweb shows its placeholder image.
382
382
  */
383
383
  export interface ImovelwebListingPublisher {
384
- active_listing_count: number | null;
385
- chat_url: string | null;
386
- creci: string | null;
387
384
  id: string;
388
- is_premier: boolean;
389
- joined_at: string | null;
390
- joined_year: number | null;
385
+ name: string;
386
+ type: ImovelwebPublisherKind | null;
387
+ url: string | null;
391
388
  logo_url: string | null;
389
+ creci: string | null;
392
390
  main_phone: string | null;
393
- name: string;
394
391
  partial_phone: string | null;
395
- raw: ImovelwebListingPublisherRaw;
392
+ chat_url: string | null;
393
+ is_premier: boolean;
396
394
  slug: string | null;
397
- type: ImovelwebPublisherKind | null;
398
- url: string | null;
395
+ joined_at: string | null;
396
+ joined_year: number | null;
397
+ active_listing_count: number | null;
398
+ raw: ImovelwebListingPublisherRaw;
399
399
  }
400
400
  /** `mainPhone` is here only when this API could not read a phone number in it. */
401
401
  export interface ImovelwebListingPublisherRaw {
402
402
  approved: boolean;
403
403
  id_portal: string | null;
404
- mainPhone?: string;
404
+ publisherTags: number[];
405
405
  parentPublisher: unknown | null;
406
406
  publisherStatistics: unknown | null;
407
- publisherTags: number[];
408
- publisherTypeId?: string;
409
407
  quantity_posting_by_operation_type: unknown | null;
410
408
  slotFilterUrl: unknown | null;
409
+ publisherTypeId?: string;
410
+ mainPhone?: string;
411
411
  }
412
412
  export interface ImovelwebListingPublishers {
413
413
  publishers: ImovelwebDuplicatePublisher[];
@@ -418,72 +418,72 @@ export interface ImovelwebListingPublishers {
418
418
  * it.
419
419
  */
420
420
  export interface ImovelwebListingRaw {
421
- action: unknown | null;
421
+ publicationAreaId: string;
422
422
  alphanumeric_key: string;
423
423
  alt: boolean;
424
- developmentFeatures: Record<string, Record<string, ImovelwebRawFeature>>;
425
- earlyDemandCronut: boolean;
426
- features: unknown | null;
427
- flagsFeatures: ImovelwebRawFeature[];
428
- highlightedFeatures: string[];
429
- house: unknown | null;
430
- iptu: unknown | null;
431
- leadWhatsappDevelopmentRequestData: boolean;
432
- leadWhatsappPostingRequestData: boolean;
433
- mainFeatures: Record<string, ImovelwebRawFeature>;
434
- ownerDomain: unknown | null;
435
- ownershipRede?: string;
436
424
  pixelPlus: boolean;
437
- postingType?: string;
438
- publicationAreaId: string;
439
425
  publisherSlot: string;
440
- realEstateTypeId?: string;
441
- requestVisit5A: ImovelwebRequestVisitRaw;
442
426
  slot: number | null;
443
427
  slotColor: unknown | null;
444
428
  sponsor: unknown | null;
445
- status?: string;
446
- triggerPill?: string;
447
- trigger_pills: string[];
429
+ house: unknown | null;
430
+ action: unknown | null;
431
+ features: unknown | null;
432
+ iptu: unknown | null;
433
+ ownerDomain: unknown | null;
448
434
  viewPhoneAnonymousLead: boolean;
435
+ earlyDemandCronut: boolean;
436
+ leadWhatsappPostingRequestData: boolean;
437
+ leadWhatsappDevelopmentRequestData: boolean;
438
+ trigger_pills: string[];
449
439
  whatsApp?: string;
440
+ postingType?: string;
441
+ realEstateTypeId?: string;
442
+ ownershipRede?: string;
443
+ status?: string;
444
+ requestVisit5A: ImovelwebRequestVisitRaw;
445
+ mainFeatures: Record<string, ImovelwebRawFeature>;
446
+ developmentFeatures: Record<string, Record<string, ImovelwebRawFeature>>;
447
+ flagsFeatures: ImovelwebRawFeature[];
448
+ highlightedFeatures: string[];
449
+ triggerPill?: string;
450
450
  }
451
451
  export type ImovelwebListingSort = "relevance" | "lowest_price" | "highest_price" | "newest" | "most_viewed" | "price_dropped";
452
452
  export interface ImovelwebListingsMap {
453
- applied_filters: ImovelwebAppliedFilter[];
453
+ total: number;
454
+ viewport: ImovelwebViewport | null;
454
455
  area: ImovelwebMapArea | null;
455
456
  markers: ImovelwebMapMarker[];
457
+ applied_filters: ImovelwebAppliedFilter[];
456
458
  raw: ImovelwebListingsMapRaw;
457
- total: number;
458
- viewport: ImovelwebViewport | null;
459
459
  }
460
460
  /** `appliedFilters` is imovelweb's echo as it sent it. */
461
461
  export interface ImovelwebListingsMapRaw {
462
462
  appliedFilters: ImovelwebRawAppliedFilter[];
463
463
  }
464
464
  export interface ImovelwebListingsPage {
465
- applied_filters: ImovelwebAppliedFilter[];
465
+ total: number;
466
+ title: string;
466
467
  listings: ImovelwebListing[];
468
+ applied_filters: ImovelwebAppliedFilter[];
467
469
  pagination: ImovelwebCursorPagination;
468
470
  raw: ImovelwebListingsPageRaw;
469
- title: string;
470
- total: number;
471
471
  }
472
472
  /**
473
473
  * `appliedFilters` is imovelweb's echo as it sent it; `developmentData` holds development
474
474
  * data for listings not on this page.
475
475
  */
476
476
  export interface ImovelwebListingsPageRaw {
477
+ total5A: number | null;
477
478
  appliedFilters: ImovelwebRawAppliedFilter[];
478
479
  developmentData: Record<string, ImovelwebRawDevelopmentData>;
479
- total5A: number | null;
480
480
  }
481
481
  /** A place the search can filter by: send `id` as `location_id`. */
482
482
  export interface ImovelwebLocation {
483
483
  id: string;
484
+ name: string;
484
485
  label: string;
485
486
  level: ImovelwebLocationLevel | null;
486
- name: string;
487
487
  raw: ImovelwebLocationRaw;
488
488
  }
489
489
  /**
@@ -499,37 +499,37 @@ export interface ImovelwebLocations {
499
499
  locations: ImovelwebLocation[];
500
500
  }
501
501
  export interface ImovelwebMapArea {
502
- center: ImovelwebPoint;
503
502
  id: string;
504
- level: ImovelwebLocationLevel | null;
505
503
  name: string;
504
+ level: ImovelwebLocationLevel | null;
505
+ center: ImovelwebPoint;
506
506
  outline: ImovelwebAreaOutline;
507
507
  raw: ImovelwebMapAreaRaw;
508
508
  }
509
509
  export interface ImovelwebMapAreaRaw {
510
- idciudad: number;
511
510
  idpais: number;
512
511
  idprovincia: number;
513
- idsubzonaciudad: number;
512
+ idciudad: number;
514
513
  idzonaciudad: number;
515
- solr_geometry: unknown | null;
514
+ idsubzonaciudad: number;
516
515
  tipoN: string;
516
+ solr_geometry: unknown | null;
517
517
  }
518
518
  /**
519
519
  * A listing on the map with its first listed price. `development_id` is the development
520
520
  * a unit belongs to.
521
521
  */
522
522
  export interface ImovelwebMapMarker {
523
- coordinates_visibility: ImovelwebVisibility | null;
524
- development_id: string | null;
525
523
  id: string;
526
- is_premier: boolean;
527
- latitude: number;
528
- longitude: number;
524
+ development_id: string | null;
525
+ title: string;
529
526
  operation: ImovelwebOperation | null;
530
527
  price: ImovelwebMoney | null;
531
528
  price_drop_percent: number | null;
532
- title: string;
529
+ latitude: number;
530
+ longitude: number;
531
+ coordinates_visibility: ImovelwebVisibility | null;
532
+ is_premier: boolean;
533
533
  }
534
534
  export type ImovelwebMaxAge = "under_construction" | "launching_soon" | "5_years" | "10_years" | "20_years" | "50_years" | "over_50_years";
535
535
  /**
@@ -551,9 +551,9 @@ export interface ImovelwebMoney {
551
551
  * shows no starting price, as its site then asks you to enquire.
552
552
  */
553
553
  export interface ImovelwebMoneyRange {
554
- currency: ImovelwebCurrency | null;
555
- max: number | null;
556
554
  min: number | null;
555
+ max: number | null;
556
+ currency: ImovelwebCurrency | null;
557
557
  }
558
558
  /** Media a search can require. */
559
559
  export type ImovelwebMultimedia = "tour_360" | "video" | "floor_plan";
@@ -586,27 +586,27 @@ export type ImovelwebParkingSpaces = "none" | "1" | "2" | "3" | "4";
586
586
  * original's.
587
587
  */
588
588
  export interface ImovelwebPicture {
589
+ kind: ImovelwebMediaKind | null;
589
590
  caption: string | null;
591
+ width: number | null;
590
592
  height: number | null;
591
- kind: ImovelwebMediaKind | null;
592
- resized_url_1200x1200: string | null;
593
- resized_url_720x532: string | null;
594
- url_100x75: string | null;
595
593
  url_1200x1200: string | null;
596
- url_130x70: string | null;
597
- url_215x159: string | null;
598
- url_360x266: string;
599
594
  url_720x532: string;
600
- width: number | null;
595
+ url_360x266: string;
596
+ url_215x159: string | null;
597
+ url_100x75: string | null;
598
+ url_130x70: string | null;
599
+ resized_url_1200x1200: string | null;
600
+ resized_url_720x532: string | null;
601
601
  }
602
602
  /**
603
603
  * One level of a listing's location. `id` is the `location_id` the search takes for
604
604
  * every level except the country; `acronym` is the state's two letters.
605
605
  */
606
606
  export interface ImovelwebPlace {
607
- acronym: string | null;
608
607
  id: string;
609
608
  name: string;
609
+ acronym: string | null;
610
610
  }
611
611
  export interface ImovelwebPoint {
612
612
  latitude: number;
@@ -636,26 +636,26 @@ export type ImovelwebPublishedWithin = "today" | "since_yesterday" | "7_days" |
636
636
  * count its profile page lists. `ratings` is null when imovelweb keeps no statistics.
637
637
  */
638
638
  export interface ImovelwebPublisher {
639
+ id: string;
640
+ name: string;
641
+ type: ImovelwebPublisherKind | null;
642
+ description: string | null;
639
643
  about: string | null;
640
- active_listing_count: number | null;
644
+ phone_text: string | null;
645
+ phone_numbers: string[];
641
646
  address: string | null;
647
+ logo_url: string | null;
642
648
  cover_picture_url: string | null;
643
649
  cover_pictures: ImovelwebCoverPicture[];
644
- description: string | null;
645
- has_main_phone: boolean;
646
- has_microsite: boolean;
647
- id: string;
648
- is_premier: boolean;
650
+ video_url: string | null;
649
651
  joined_year: number | null;
652
+ active_listing_count: number | null;
650
653
  listed_count: number | null;
651
- logo_url: string | null;
652
- name: string;
653
- phone_numbers: string[];
654
- phone_text: string | null;
654
+ is_premier: boolean;
655
+ has_main_phone: boolean;
656
+ has_microsite: boolean;
655
657
  ratings: ImovelwebPublisherRatings | null;
656
658
  raw: ImovelwebPublisherRaw;
657
- type: ImovelwebPublisherKind | null;
658
- video_url: string | null;
659
659
  }
660
660
  /**
661
661
  * Who publishes a listing, in imovelweb's own words where its code has them: an `owner`
@@ -670,11 +670,11 @@ export type ImovelwebPublisherKind = "owner" | "agency" | "developer" | "broker"
670
670
  */
671
671
  export interface ImovelwebPublisherRatings {
672
672
  average: number | null;
673
+ recommend_percent: number | null;
674
+ review_count: number | null;
673
675
  is_new_publisher: boolean;
674
676
  questions: ImovelwebRatingQuestion[];
675
677
  raw: ImovelwebPublisherRatingsRaw;
676
- recommend_percent: number | null;
677
- review_count: number | null;
678
678
  }
679
679
  /** `scoreReputation` is null for an agency imovelweb marks as new. */
680
680
  export interface ImovelwebPublisherRatingsRaw {
@@ -692,18 +692,18 @@ export interface ImovelwebPublisherRaw {
692
692
  */
693
693
  export type ImovelwebPublisherType = "all" | "company" | "owner";
694
694
  export interface ImovelwebRatingQuestion {
695
- average: number;
696
- question: string;
697
695
  topic: string;
696
+ question: string;
697
+ average: number;
698
698
  }
699
699
  /** One filter imovelweb says it applied, in its own filter names and codes. */
700
700
  export interface ImovelwebRawAppliedFilter {
701
+ type: string;
702
+ options?: ImovelwebRawAppliedFilterOption[] | null;
701
703
  groups?: ImovelwebRawAppliedFilterGroup[];
704
+ units?: ImovelwebRawAppliedFilterUnit[];
702
705
  idsArea?: ImovelwebRawAppliedFilterAreaKind;
703
- options?: ImovelwebRawAppliedFilterOption[] | null;
704
706
  renderType?: number;
705
- type: string;
706
- units?: ImovelwebRawAppliedFilterUnit[];
707
707
  }
708
708
  export interface ImovelwebRawAppliedFilterAreaKind {
709
709
  id: string;
@@ -715,12 +715,12 @@ export interface ImovelwebRawAppliedFilterGroup {
715
715
  }
716
716
  export interface ImovelwebRawAppliedFilterOption {
717
717
  label?: string | null;
718
- max?: string | null;
719
- maxLabel?: string;
718
+ type?: string;
720
719
  min?: string | null;
720
+ max?: string | null;
721
721
  minLabel?: string;
722
+ maxLabel?: string;
722
723
  subtypes?: ImovelwebRawAppliedFilterSubtype[];
723
- type?: string;
724
724
  }
725
725
  export interface ImovelwebRawAppliedFilterSubtype {
726
726
  label: string;
@@ -732,55 +732,55 @@ export interface ImovelwebRawAppliedFilterUnit {
732
732
  symbol: string;
733
733
  }
734
734
  export interface ImovelwebRawDetailPicture {
735
- height: number | null;
736
735
  multimediaTypeId: number;
737
736
  order: number;
737
+ height: number | null;
738
+ width: number | null;
738
739
  resizeUrl1200x1200: string;
739
740
  resizeUrl720x532: string;
740
- title: string;
741
- url100x75: string;
742
741
  url1200x1200: string;
743
- url215x159: string;
744
- url360x266: string;
745
742
  url730x532: string;
746
- width: number | null;
743
+ url360x266: string;
744
+ url215x159: string;
745
+ url100x75: string;
746
+ title: string;
747
747
  }
748
748
  export interface ImovelwebRawDevelopmentData {
749
- ambientes: ImovelwebRawNumberRange;
750
- bathrooms: ImovelwebRawNumberRange;
749
+ totalArea: ImovelwebRawNumberRange;
751
750
  coveredArea: ImovelwebRawNumberRange;
752
- delivery: string;
753
- garages: ImovelwebRawNumberRange;
754
- majorPrices?: ImovelwebRawPriceRange;
755
- minorPrices?: ImovelwebRawPriceRange;
756
- numberOfUnits: number;
757
751
  prices?: ImovelwebRawPriceRange;
752
+ minorPrices?: ImovelwebRawPriceRange;
753
+ majorPrices?: ImovelwebRawPriceRange;
758
754
  pricesByOperationType?: ImovelwebRawPricesByOperationType[];
755
+ numberOfUnits: number;
756
+ ambientes: ImovelwebRawNumberRange;
759
757
  rooms: ImovelwebRawNumberRange;
760
- steps: ImovelwebRawDevelopmentStep[];
761
- totalArea: ImovelwebRawNumberRange;
758
+ bathrooms: ImovelwebRawNumberRange;
759
+ garages: ImovelwebRawNumberRange;
762
760
  unitGroupsData: Record<string, Record<string, ImovelwebRawUnitGroup>>;
761
+ steps: ImovelwebRawDevelopmentStep[];
762
+ delivery: string;
763
763
  }
764
764
  export interface ImovelwebRawDevelopmentStep {
765
- stage: string;
766
765
  status: string;
766
+ stage: string;
767
767
  }
768
768
  /** A listing attribute keyed by imovelweb's feature code, with its value as a string. */
769
769
  export interface ImovelwebRawFeature {
770
- featureCategoryId?: string | null;
771
770
  featureId: string;
772
- icon?: string | null;
773
771
  label: string;
774
- maxValue?: string | null;
775
772
  measure?: string | null;
776
- minValue?: string | null;
777
773
  value: string | null;
774
+ icon?: string | null;
775
+ featureCategoryId?: string | null;
776
+ minValue?: string | null;
777
+ maxValue?: string | null;
778
778
  }
779
779
  /** A video or virtual tour: `reference` is a YouTube id or the tour's URL. */
780
780
  export interface ImovelwebRawMedia {
781
781
  order: number;
782
- preview?: string;
783
782
  reference: string;
783
+ preview?: string;
784
784
  }
785
785
  export interface ImovelwebRawNumberRange {
786
786
  tuple0?: number | null;
@@ -791,11 +791,11 @@ export interface ImovelwebRawNumberRange {
791
791
  * `formattedAmount`.
792
792
  */
793
793
  export interface ImovelwebRawPrice {
794
- amount: number | null;
795
- currency: string;
794
+ isoCode?: string;
796
795
  currencyId?: string | null;
796
+ amount: number | null;
797
797
  formattedAmount: string | null;
798
- isoCode?: string;
798
+ currency: string;
799
799
  }
800
800
  export interface ImovelwebRawPriceRange {
801
801
  tuple0?: ImovelwebRawPrice | null;
@@ -806,35 +806,35 @@ export interface ImovelwebRawPricesByOperationType {
806
806
  prices: ImovelwebRawPrice[];
807
807
  }
808
808
  export interface ImovelwebRawPromotion {
809
- description: string;
810
809
  title: string;
810
+ description: string;
811
811
  }
812
812
  export interface ImovelwebRawRequestVisitUrl {
813
813
  urlControl?: string | null;
814
- urlEarlyDemand?: string | null;
815
814
  urlVariant?: string | null;
816
815
  urlWhatsappConcierge?: string | null;
816
+ urlEarlyDemand?: string | null;
817
817
  }
818
818
  export interface ImovelwebRawUnitGroup {
819
+ totalArea: ImovelwebRawNumberRange;
819
820
  coveredArea: ImovelwebRawNumberRange;
820
- majorPrices?: ImovelwebRawPriceRange;
821
+ prices?: ImovelwebRawPriceRange;
821
822
  minorPrices?: ImovelwebRawPriceRange;
823
+ majorPrices?: ImovelwebRawPriceRange;
822
824
  numberOfUnits: number;
823
- operationTypeId: string | null;
824
825
  picture?: string | null;
825
- prices?: ImovelwebRawPriceRange;
826
- realEstateTypeId: string;
827
- rooms: string;
828
826
  title: string;
829
- totalArea: ImovelwebRawNumberRange;
827
+ rooms: string;
828
+ realEstateTypeId: string;
829
+ operationTypeId: string | null;
830
830
  }
831
831
  export interface ImovelwebRequestVisitRaw {
832
832
  activeModal5A: boolean;
833
833
  activeModalPostlead5A: boolean;
834
- cronutEarlyDemand: boolean;
835
- cronutRent: boolean;
836
- cronutSell: boolean;
837
834
  requestVisitUrl: ImovelwebRawRequestVisitUrl;
835
+ cronutSell: boolean;
836
+ cronutRent: boolean;
837
+ cronutEarlyDemand: boolean;
838
838
  showWhatsapp: boolean;
839
839
  }
840
840
  /**
@@ -842,38 +842,38 @@ export interface ImovelwebRequestVisitRaw {
842
842
  * as display text, which this API decodes; `location.label` is the card's own wording.
843
843
  */
844
844
  export interface ImovelwebSimilarListing {
845
- ad_tier: ImovelwebAdTier | null;
846
- bathrooms: number | null;
847
845
  bedrooms: number | null;
846
+ bathrooms: number | null;
847
+ suites: number | null;
848
+ parking_spaces: number | null;
848
849
  building_age_years: number | null;
850
+ total_area_m2: number | null;
851
+ usable_area_m2: number | null;
849
852
  id: string;
850
- is_premier: boolean;
851
- location: ImovelwebSimilarListingLocation;
852
- operation: ImovelwebOperation | null;
853
- parking_spaces: number | null;
854
- photos: ImovelwebPicture[];
853
+ title: string;
855
854
  posting_type: ImovelwebPostingType | null;
856
- price: ImovelwebMoney | null;
857
855
  property_type: ImovelwebPropertyKind | null;
856
+ operation: ImovelwebOperation | null;
857
+ price: ImovelwebMoney | null;
858
+ location: ImovelwebSimilarListingLocation;
859
+ photos: ImovelwebPicture[];
858
860
  publisher_logo_url: string | null;
861
+ is_premier: boolean;
862
+ ad_tier: ImovelwebAdTier | null;
859
863
  raw: ImovelwebSimilarListingRaw;
860
- suites: number | null;
861
- title: string;
862
- total_area_m2: number | null;
863
- usable_area_m2: number | null;
864
864
  }
865
865
  export interface ImovelwebSimilarListingLocation {
866
866
  address: string | null;
867
867
  label: string | null;
868
868
  }
869
869
  export interface ImovelwebSimilarListingRaw {
870
+ publicationAreaId: string | null;
870
871
  descripcionNormalized: string | null;
871
872
  developmentData: ImovelwebRawDevelopmentData | null;
872
- mainFeatures: Record<string, ImovelwebRawFeature>;
873
- operationType?: string;
874
873
  postingType?: string;
875
- publicationAreaId: string | null;
876
874
  realestateType?: string;
875
+ operationType?: string;
876
+ mainFeatures: Record<string, ImovelwebRawFeature>;
877
877
  }
878
878
  export interface ImovelwebSimilarListings {
879
879
  listings: ImovelwebSimilarListing[];
@@ -882,22 +882,22 @@ export interface ImovelwebSimilarListings {
882
882
  export type ImovelwebStepStatus = "done" | "in_progress" | "to_do";
883
883
  /** The development's units of one type and bedroom count. */
884
884
  export interface ImovelwebUnitGroup {
885
- bedrooms: number | null;
885
+ title: string;
886
886
  operation: ImovelwebOperation | null;
887
- price: ImovelwebMoneyRange | null;
888
887
  property_type: ImovelwebPropertyKind | null;
889
- raw: ImovelwebUnitGroupRaw;
890
- title: string;
891
- total_area_m2: ImovelwebAreaRange | null;
888
+ bedrooms: number | null;
892
889
  unit_count: number;
890
+ price: ImovelwebMoneyRange | null;
893
891
  usable_area_m2: ImovelwebAreaRange | null;
892
+ total_area_m2: ImovelwebAreaRange | null;
893
+ raw: ImovelwebUnitGroupRaw;
894
894
  }
895
895
  export interface ImovelwebUnitGroupRaw {
896
896
  picture?: string | null;
897
897
  }
898
898
  export interface ImovelwebViewport {
899
- east: number;
900
899
  north: number;
900
+ east: number;
901
901
  south: number;
902
902
  west: number;
903
903
  }
@@ -911,128 +911,128 @@ export interface ListListingPublishersParams {
911
911
  posting_id: string;
912
912
  }
913
913
  export interface ListListingsParams {
914
+ /** `relevance`, `lowest_price`, `highest_price`, `newest`, `most_viewed` or `price_dropped`. imovelweb keeps its premier listings in their own ordered run, so prices on one page can step back where the two runs meet, and it sorts a development by its highest unit price while showing its lowest. `relevance` reshuffles over minutes, so a long crawl should sort by `newest`. */
915
+ sort?: ImovelwebListingSort;
914
916
  /** `pagination.next_cursor` from the previous page; empty for the first page. A cursor holds only a page number, so send it with the same filters and sort as the page it came from. `pagination.completion` is `exhausted` at the last page and `depth_limit` at page 1,000 (30,000 listings), the deepest page imovelweb serves; narrow the filters to reach the rest. imovelweb's `relevance` order changes over minutes, so a long crawl that pages by relevance can skip or repeat listings. */
915
917
  cursor?: string;
916
- /** Development stage; repeat for several, a development at any of them matches. Only with `operation=development`. */
917
- development_stage?: ImovelwebDevelopmentStage[];
918
- /** Required amenities, such as `pool` or `pets_allowed`; repeat for several. A listing must have all of them. imovelweb's development search cannot filter by `garden`. */
919
- features?: ImovelwebListingFeature[];
920
- /** Free-text keyword matched against listing text, such as `piscina`. */
921
- keyword?: string | null;
918
+ /** `sale`, `rent`, `season` (short stays), `auction`, or `development` (new developments and launches, sold by their developer). */
919
+ operation?: ImovelwebOperation;
922
920
  /** Location `id` from `/v1/imovelweb/locations` (`V1-C-109668` is the city of São Paulo). Repeat the parameter for several locations; listings in any of them match. An id imovelweb does not know answers 400 `invalid_request` naming it (not charged). */
923
921
  location_id?: string[];
924
- /** Building age: `under_construction`, `launching_soon`, at most `5_years` to `50_years`, or `over_50_years`. */
925
- max_age?: ImovelwebMaxAge | null;
926
- /** Maximum bedrooms. imovelweb's top bucket is 5 or more, so 4 is the highest cap. Send the same number as `min_bedrooms` for an exact count. */
927
- max_bedrooms?: number | null;
928
- /** Maximum monthly condominium fee in R$. */
929
- max_condo_fee?: number | null;
922
+ /** Property type; repeat for several. Not with `operation=development`. */
923
+ property_type?: ImovelwebPropertyType[];
924
+ /** Property subtype, such as `penthouse` or `townhouse`; repeat for several. Send its type in `property_type` too (`penthouse` needs `apartment`). Not with `operation=development`. */
925
+ property_subtype?: ImovelwebPropertySubtype[];
926
+ /** Minimum price in R$. */
927
+ min_price?: number | null;
930
928
  /** Maximum price in R$. */
931
929
  max_price?: number | null;
932
- /** Maximum total area in m². Not with the usable-area range. */
933
- max_total_area?: number | null;
934
- /** Maximum usable (private) area in m². */
935
- max_usable_area?: number | null;
936
- /** Minimum bathrooms. */
937
- min_bathrooms?: number | null;
938
930
  /** Minimum bedrooms. */
939
931
  min_bedrooms?: number | null;
940
- /** Minimum monthly condominium fee in R$. */
941
- min_condo_fee?: number | null;
942
- /** Minimum price in R$. */
943
- min_price?: number | null;
932
+ /** Maximum bedrooms. imovelweb's top bucket is 5 or more, so 4 is the highest cap. Send the same number as `min_bedrooms` for an exact count. */
933
+ max_bedrooms?: number | null;
934
+ /** Minimum bathrooms. */
935
+ min_bathrooms?: number | null;
936
+ /** `none` for listings without parking, or `1` to `4` for at least that many spaces. */
937
+ parking_spaces?: ImovelwebParkingSpaces | null;
944
938
  /** Minimum total area in m². Not with the usable-area range. */
945
939
  min_total_area?: number | null;
940
+ /** Maximum total area in m². Not with the usable-area range. */
941
+ max_total_area?: number | null;
946
942
  /** Minimum usable (private) area in m². */
947
943
  min_usable_area?: number | null;
948
- /** Only listings with these media; repeat for several. A listing must have all of them. */
949
- multimedia?: ImovelwebMultimedia[];
950
- /** `sale`, `rent`, `season` (short stays), `auction`, or `development` (new developments and launches, sold by their developer). */
951
- operation?: ImovelwebOperation;
952
- /** `none` for listings without parking, or `1` to `4` for at least that many spaces. */
953
- parking_spaces?: ImovelwebParkingSpaces | null;
954
- /** Compare `min_price` and `max_price` with the rent plus the monthly condo fee. Only with `operation=rent` and a price bound. */
955
- price_includes_condo_fee?: boolean;
956
- /** Property subtype, such as `penthouse` or `townhouse`; repeat for several. Send its type in `property_type` too (`penthouse` needs `apartment`). Not with `operation=development`. */
957
- property_subtype?: ImovelwebPropertySubtype[];
958
- /** Property type; repeat for several. Not with `operation=development`. */
959
- property_type?: ImovelwebPropertyType[];
944
+ /** Maximum usable (private) area in m². */
945
+ max_usable_area?: number | null;
946
+ /** Building age: `under_construction`, `launching_soon`, at most `5_years` to `50_years`, or `over_50_years`. */
947
+ max_age?: ImovelwebMaxAge | null;
960
948
  /** Only listings published within this window. */
961
949
  published_within?: ImovelwebPublishedWithin | null;
962
- /** Only this publisher's listings (`publisher.id` on a listing). */
963
- publisher_id?: string | null;
964
950
  /** `company` for every publisher that is not an owner: agencies, developers, brokers and builders (imovelweb's Imobiliária option). `owner` for owners selling directly. `all` for both. */
965
951
  publisher_type?: ImovelwebPublisherType;
966
- /** `relevance`, `lowest_price`, `highest_price`, `newest`, `most_viewed` or `price_dropped`. imovelweb keeps its premier listings in their own ordered run, so prices on one page can step back where the two runs meet, and it sorts a development by its highest unit price while showing its lowest. `relevance` reshuffles over minutes, so a long crawl should sort by `newest`. */
967
- sort?: ImovelwebListingSort;
952
+ /** Only this publisher's listings (`publisher.id` on a listing). */
953
+ publisher_id?: string | null;
954
+ /** Required amenities, such as `pool` or `pets_allowed`; repeat for several. A listing must have all of them. imovelweb's development search cannot filter by `garden`. */
955
+ features?: ImovelwebListingFeature[];
956
+ /** Only listings with these media; repeat for several. A listing must have all of them. */
957
+ multimedia?: ImovelwebMultimedia[];
958
+ /** Free-text keyword matched against listing text, such as `piscina`. */
959
+ keyword?: string | null;
960
+ /** Minimum monthly condominium fee in R$. */
961
+ min_condo_fee?: number | null;
962
+ /** Maximum monthly condominium fee in R$. */
963
+ max_condo_fee?: number | null;
964
+ /** Development stage; repeat for several, a development at any of them matches. Only with `operation=development`. */
965
+ development_stage?: ImovelwebDevelopmentStage[];
968
966
  /** Only rentals that need no guarantor (imovelweb's Aluguel sem fiador). Only with `operation=rent`. */
969
967
  without_guarantor?: boolean;
968
+ /** Compare `min_price` and `max_price` with the rent plus the monthly condo fee. Only with `operation=rent` and a price bound. */
969
+ price_includes_condo_fee?: boolean;
970
970
  }
971
971
  export interface ListLocationsParams {
972
- /** Suggestions to return. */
973
- limit?: number;
974
972
  /** Place name, such as `pinheiros` or `rio de janeiro`. */
975
973
  query: string;
974
+ /** Suggestions to return. */
975
+ limit?: number;
976
976
  }
977
977
  export interface ListSimilarListingsParams {
978
- /** Listings to return. */
979
- limit?: number;
980
978
  /** imovelweb listing id: the number at the end of a listing URL (`...-3047460005.html`). */
981
979
  posting_id: string;
980
+ /** Listings to return. */
981
+ limit?: number;
982
982
  }
983
983
  export interface MapListingsParams {
984
- /** Development stage; repeat for several, a development at any of them matches. Only with `operation=development`. */
985
- development_stage?: ImovelwebDevelopmentStage[];
986
- /** Required amenities, such as `pool` or `pets_allowed`; repeat for several. A listing must have all of them. imovelweb's development search cannot filter by `garden`. */
987
- features?: ImovelwebListingFeature[];
988
- /** Free-text keyword matched against listing text, such as `piscina`. */
989
- keyword?: string | null;
984
+ /** `sale`, `rent`, `season` (short stays), `auction`, or `development` (new developments and launches, sold by their developer). */
985
+ operation?: ImovelwebOperation;
990
986
  /** Location `id` from `/v1/imovelweb/locations` (`V1-C-109668` is the city of São Paulo). Repeat the parameter for several locations; listings in any of them match. An id imovelweb does not know answers 400 `invalid_request` naming it (not charged). */
991
987
  location_id?: string[];
992
- /** Building age: `under_construction`, `launching_soon`, at most `5_years` to `50_years`, or `over_50_years`. */
993
- max_age?: ImovelwebMaxAge | null;
994
- /** Maximum bedrooms. imovelweb's top bucket is 5 or more, so 4 is the highest cap. Send the same number as `min_bedrooms` for an exact count. */
995
- max_bedrooms?: number | null;
996
- /** Maximum monthly condominium fee in R$. */
997
- max_condo_fee?: number | null;
988
+ /** Property type; repeat for several. Not with `operation=development`. */
989
+ property_type?: ImovelwebPropertyType[];
990
+ /** Property subtype, such as `penthouse` or `townhouse`; repeat for several. Send its type in `property_type` too (`penthouse` needs `apartment`). Not with `operation=development`. */
991
+ property_subtype?: ImovelwebPropertySubtype[];
992
+ /** Minimum price in R$. */
993
+ min_price?: number | null;
998
994
  /** Maximum price in R$. */
999
995
  max_price?: number | null;
1000
- /** Maximum total area in m². Not with the usable-area range. */
1001
- max_total_area?: number | null;
1002
- /** Maximum usable (private) area in m². */
1003
- max_usable_area?: number | null;
1004
- /** Minimum bathrooms. */
1005
- min_bathrooms?: number | null;
1006
996
  /** Minimum bedrooms. */
1007
997
  min_bedrooms?: number | null;
1008
- /** Minimum monthly condominium fee in R$. */
1009
- min_condo_fee?: number | null;
1010
- /** Minimum price in R$. */
1011
- min_price?: number | null;
998
+ /** Maximum bedrooms. imovelweb's top bucket is 5 or more, so 4 is the highest cap. Send the same number as `min_bedrooms` for an exact count. */
999
+ max_bedrooms?: number | null;
1000
+ /** Minimum bathrooms. */
1001
+ min_bathrooms?: number | null;
1002
+ /** `none` for listings without parking, or `1` to `4` for at least that many spaces. */
1003
+ parking_spaces?: ImovelwebParkingSpaces | null;
1012
1004
  /** Minimum total area in m². Not with the usable-area range. */
1013
1005
  min_total_area?: number | null;
1006
+ /** Maximum total area in m². Not with the usable-area range. */
1007
+ max_total_area?: number | null;
1014
1008
  /** Minimum usable (private) area in m². */
1015
1009
  min_usable_area?: number | null;
1016
- /** Only listings with these media; repeat for several. A listing must have all of them. */
1017
- multimedia?: ImovelwebMultimedia[];
1018
- /** `sale`, `rent`, `season` (short stays), `auction`, or `development` (new developments and launches, sold by their developer). */
1019
- operation?: ImovelwebOperation;
1020
- /** `none` for listings without parking, or `1` to `4` for at least that many spaces. */
1021
- parking_spaces?: ImovelwebParkingSpaces | null;
1022
- /** Compare `min_price` and `max_price` with the rent plus the monthly condo fee. Only with `operation=rent` and a price bound. */
1023
- price_includes_condo_fee?: boolean;
1024
- /** Property subtype, such as `penthouse` or `townhouse`; repeat for several. Send its type in `property_type` too (`penthouse` needs `apartment`). Not with `operation=development`. */
1025
- property_subtype?: ImovelwebPropertySubtype[];
1026
- /** Property type; repeat for several. Not with `operation=development`. */
1027
- property_type?: ImovelwebPropertyType[];
1010
+ /** Maximum usable (private) area in m². */
1011
+ max_usable_area?: number | null;
1012
+ /** Building age: `under_construction`, `launching_soon`, at most `5_years` to `50_years`, or `over_50_years`. */
1013
+ max_age?: ImovelwebMaxAge | null;
1028
1014
  /** Only listings published within this window. */
1029
1015
  published_within?: ImovelwebPublishedWithin | null;
1030
- /** Only this publisher's listings (`publisher.id` on a listing). */
1031
- publisher_id?: string | null;
1032
1016
  /** `company` for every publisher that is not an owner: agencies, developers, brokers and builders (imovelweb's Imobiliária option). `owner` for owners selling directly. `all` for both. */
1033
1017
  publisher_type?: ImovelwebPublisherType;
1018
+ /** Only this publisher's listings (`publisher.id` on a listing). */
1019
+ publisher_id?: string | null;
1020
+ /** Required amenities, such as `pool` or `pets_allowed`; repeat for several. A listing must have all of them. imovelweb's development search cannot filter by `garden`. */
1021
+ features?: ImovelwebListingFeature[];
1022
+ /** Only listings with these media; repeat for several. A listing must have all of them. */
1023
+ multimedia?: ImovelwebMultimedia[];
1024
+ /** Free-text keyword matched against listing text, such as `piscina`. */
1025
+ keyword?: string | null;
1026
+ /** Minimum monthly condominium fee in R$. */
1027
+ min_condo_fee?: number | null;
1028
+ /** Maximum monthly condominium fee in R$. */
1029
+ max_condo_fee?: number | null;
1030
+ /** Development stage; repeat for several, a development at any of them matches. Only with `operation=development`. */
1031
+ development_stage?: ImovelwebDevelopmentStage[];
1034
1032
  /** Only rentals that need no guarantor (imovelweb's Aluguel sem fiador). Only with `operation=rent`. */
1035
1033
  without_guarantor?: boolean;
1034
+ /** Compare `min_price` and `max_price` with the rent plus the monthly condo fee. Only with `operation=rent` and a price bound. */
1035
+ price_includes_condo_fee?: boolean;
1036
1036
  }
1037
- export type PublicError = "blocked" | "concurrency_exceeded" | "timeout" | "extraction_failed" | "upstream_blocked" | "upstream_unavailable" | "upstream_response_invalid" | "invalid_url_scheme" | "invalid_url_host" | "unauthenticated" | "forbidden" | "resource_forbidden" | "not_found" | "rate_limited" | "invalid_request" | "invalid_cursor" | "insufficient_credits" | "internal_error";
1037
+ export type PublicError = "blocked" | "concurrency_exceeded" | "timeout" | "extraction_failed" | "upstream_blocked" | "upstream_unavailable" | "upstream_response_invalid" | "invalid_url_scheme" | "invalid_url_host" | "unauthenticated" | "forbidden" | "resource_forbidden" | "not_found" | "endpoint_retired" | "rate_limited" | "invalid_request" | "invalid_cursor" | "insufficient_credits" | "internal_error";
1038
1038
  //# sourceMappingURL=types.d.ts.map