Tradeinn (tradeinn.com) scraper avatar

Tradeinn (tradeinn.com) scraper

Deprecated
Go to Store
This Actor is deprecated

This Actor is unavailable because the developer has decided to deprecate it. Would you like to try a similar Actor instead?

See alternative Actors
Tradeinn (tradeinn.com) scraper

Tradeinn (tradeinn.com) scraper

strajk/tradeinn-tradeinn-com-scraper

Scrapes products titles, prices, images and availability. Does NOT scrape product details.

Dockerfile

1FROM apify/actor-node:16
2
3COPY package.json ./
4
5RUN npm --quiet set progress=false \
6  && npm install --only=prod --no-optional
7
8COPY . ./

INPUT_SCHEMA.json

1{
2  "title": "Tradeinn (tradeinn.com) scraper",
3  "description": "Scrapes products titles, prices, images and availability. Does NOT scrape product details.",
4  "type": "object",
5  "schemaVersion": 1,
6  "properties": {
7    "mode": {
8      "title": "Mode",
9      "description": "",
10      "type": "string",
11      "editor": "select",
12      "default": "TEST",
13      "prefill": "TEST",
14      "enum": [
15        "TEST",
16        "CURATED",
17        "FULL"
18      ],
19      "enumTitles": [
20        "TEST",
21        "CURATED",
22        "FULL"
23      ]
24    },
25    "debug": {
26      "title": "Debug",
27      "description": "Debug mode prints more logs, disables concurrency and other optimizations.",
28      "type": "boolean",
29      "editor": "checkbox",
30      "default": false
31    },
32    "shop": {
33      "title": "Shop",
34      "description": "",
35      "type": "string",
36      "editor": "select",
37      "default": "BIKEINN",
38      "prefill": "BIKEINN",
39      "enum": [
40        "BIKEINN",
41        "DIVEINN",
42        "SNOWINN",
43        "TREKKINN",
44        "SMASHINN",
45        "SWIMINN",
46        "WAVEINN",
47        "MOTARDINN",
48        "OUTETINN",
49        "RUNNERINN",
50        "GOALINN",
51        "DRESSINN",
52        "TRAININN",
53        "XTREMEINN",
54        "KIDINN",
55        "TECHINN",
56        "BRICOINN"
57      ],
58      "enumTitles": [
59        "BIKEINN",
60        "DIVEINN",
61        "SNOWINN",
62        "TREKKINN",
63        "SMASHINN",
64        "SWIMINN",
65        "WAVEINN",
66        "MOTARDINN",
67        "OUTETINN",
68        "RUNNERINN",
69        "GOALINN",
70        "DRESSINN",
71        "TRAININN",
72        "XTREMEINN",
73        "KIDINN",
74        "TECHINN",
75        "BRICOINN"
76      ]
77    },
78    "APIFY_DONT_STORE_IN_DATASET": {
79      "sectionCaption": "Advanced",
80      "sectionDescription": "Advanced options, use only if you know what you're doing.",
81      "title": "Don't store in dataset",
82      "description": "If set to true, the actor will not store the results in the default dataset. Useful when using alternative storage, like own database",
83      "type": "boolean",
84      "default": false,
85      "editor": "checkbox"
86    },
87    "PG_CONNECTION_STRING_NORMALIZED": {
88      "title": "Postgres connection string for normalized data",
89      "description": "If set, actor will store normalized data in Postgres database in PG_DATA_TABLE and PG_DATA_PRICE_TABLE tables",
90      "type": "string",
91      "editor": "textfield"
92    },
93    "PG_DATA_TABLE": {
94      "title": "Postgres table name for product data",
95      "description": "Table name for storing product name, url, image, ...",
96      "type": "string",
97      "editor": "textfield"
98    },
99    "PG_DATA_PRICE_TABLE": {
100      "title": "Postgres table name for price data",
101      "description": "Table name for storing price, original price, stock status, ...",
102      "type": "string",
103      "editor": "textfield"
104    }
105  },
106  "required": [
107    "mode",
108    "shop"
109  ]
110}

apify.json

1{
2  "name": "tradeinn-tradeinn-com-scraper",
3  "version": "0.1",
4  "buildTag": "latest",
5  "env": null,
6  "defaultRunOptions": {
7    "build": "latest",
8    "timeoutSecs": 3600,
9    "memoryMbytes": 1024
10  }
11}

main.js

1/**
2 * Dev notes
3 * ===
4 *
5 * `https://www.tradeinn.com/bikeinn/en/${marca}/${id_marca}/m`
6 * - m - landing, no sorting
7 * - nm - all products, has sorting
8 *
9 * Spanish in a nutshell:
10 * marca = brand
11 * familia = family
12 * tienda = shop
13 * fecha_descatalogado = date_discontinued
14 * talla = size
15 * sostenible = sustainable
16 * tengo_tallas_traducidas = have_translated_sizes
17 * num_productes_actius = num_active_products
18 * baja = discontinued
19 * trobat = found
20 * pais = country
21 * enlace = link
22 * entrega = delivery
23 * divisa = currency
24 *
25 * TODO
26 * - v360
27 * - v180
28 * - v90
29 * - v30
30 *
31 * - brut
32 * - stock_reservat
33 * - desc_brand
34 * - pmp
35 * */
36
37// noinspection JSNonASCIINames,NonAsciiCharacters
38
39import { Actor } from "apify3";
40import { BasicCrawler, createBasicRouter } from "crawlee";
41import fetch from "node-fetch";
42import { init, save } from "./_utils/common.js";
43
44var MODE;
45
46(function (MODE) {
47  MODE["TEST"] = "TEST";
48  MODE["CURATED"] = "CURATED";
49  MODE["FULL"] = "FULL";
50})(MODE || (MODE = {}));
51var LABEL;
52
53(function (LABEL) {
54  LABEL["INDEX"] = "INDEX";
55  LABEL["PRODUCTS"] = "PRODUCTS";
56})(LABEL || (LABEL = {}));
57const BASE_URL = `https://www.tradeinn.com`;
58const PER_PAGE = 48;
59
60var SHOP;
61
62// TODO: Dry
63(function (SHOP) {
64  SHOP["BIKEINN"] = "BIKEINN";
65  SHOP["DIVEINN"] = "DIVEINN";
66  SHOP["SNOWINN"] = "SNOWINN";
67  SHOP["TREKKINN"] = "TREKKINN";
68  SHOP["SMASHINN"] = "SMASHINN";
69  SHOP["SWIMINN"] = "SWIMINN";
70  SHOP["WAVEINN"] = "WAVEINN";
71  SHOP["MOTARDINN"] = "MOTARDINN";
72  SHOP["OUTETINN"] = "OUTETINN";
73  SHOP["RUNNERINN"] = "RUNNERINN";
74  SHOP["GOALINN"] = "GOALINN";
75  SHOP["DRESSINN"] = "DRESSINN";
76  SHOP["TRAININN"] = "TRAININN";
77  SHOP["XTREMEINN"] = "XTREMEINN";
78  SHOP["KIDINN"] = "KIDINN";
79  SHOP["TECHINN"] = "TECHINN";
80  SHOP["BRICOINN"] = "BRICOINN";
81})(SHOP || (SHOP = {}));
82const SHOPS = {
83  DIVEINN: 1,
84  SNOWINN: 2,
85  TREKKINN: 3,
86  BIKEINN: 4,
87  SMASHINN: 5,
88  SWIMINN: 6,
89  WAVEINN: 7,
90  MOTARDINN: 8,
91  OUTETINN: 9,
92  RUNNERINN: 10,
93  GOALINN: 11,
94  DRESSINN: 12,
95  TRAININN: 13,
96  XTREMEINN: 14,
97  KIDINN: 15,
98  TECHINN: 16,
99  BRICOINN: 17,
100};
101
102const COUNTRIES = {
103  Albania: 1,
104  Algeria: 2,
105  "American Samoa": 3,
106  Andorra: 4,
107  Angola: 5,
108  Anguilla: 6,
109  Antigua: 7,
110  Argentina: 8,
111  Armenia: 9,
112  Aruba: 10,
113  Australia: 11,
114  Austria: 12,
115  Azerbaijan: 13,
116  Bahamas: 14,
117  Bahrain: 15,
118  Bangladesh: 16,
119  Barbados: 17,
120  Belarus: 18,
121  Belgium: 19,
122  Belize: 20,
123  Benin: 21,
124  Bermuda: 22,
125  Bhutan: 23,
126  Bolivia: 24,
127  Bonaire: 25,
128  "Bosnia and Herzegovina": 26,
129  Botswana: 27,
130  Brasil: 229,
131  Brunei: 29,
132  Bulgaria: 30,
133  "Burkina Faso": 31,
134  Burundi: 32,
135  Cambodia: 33,
136  Cameroon: 34,
137  Canada: 35,
138  "Cape Verde": 37,
139  "Cayman Islands": 38,
140  "Central African Republic": 39,
141  Chad: 40,
142  Chile: 41,
143  "China, People's Republic": 42,
144  Colombia: 43,
145  Comoros: 44,
146  Congo: 45,
147  "Congo, The Democratic Republic": 46,
148  "Cook Islands": 47,
149  "Costa Rica": 48,
150  "Cote d'Ivoire": 49,
151  Croatia: 50,
152  Cuba: 51,
153  Curacao: 52,
154  Cyprus: 53,
155  "Czech Republic, The": 54,
156  Denmark: 55,
157  Djibouti: 56,
158  Dominica: 57,
159  "Dominican Republic": 58,
160  Ecuador: 59,
161  Egypt: 60,
162  "El Salvador": 61,
163  "Equatorial Guinea": 62,
164  Eritrea: 63,
165  Estonia: 64,
166  Ethiopia: 65,
167  "Falkland Islands": 66,
168  "Faroe Islands": 67,
169  Fiji: 68,
170  Finland: 69,
171  France: 70,
172  "France - Corse": 228,
173  "France - Guadeloupe": 81,
174  "France - Martinique": 128,
175  "France - Reunion": 162,
176  "France - Tahiti": 194,
177  "French Guiana": 71,
178  Gabon: 72,
179  Gambia: 73,
180  Georgia: 74,
181  Germany: 75,
182  Ghana: 76,
183  Gibraltar: 77,
184  Greece: 78,
185  Greenland: 79,
186  Grenada: 80,
187  Guam: 82,
188  Guatemala: 83,
189  "Guinea Republic": 85,
190  "Guinea-Bissau": 86,
191  "Guyana (British)": 87,
192  Haiti: 88,
193  Honduras: 89,
194  "Hong Kong": 90,
195  Hungary: 91,
196  Iceland: 92,
197  India: 93,
198  Indonesia: 94,
199  "Iran, Islamic Republic of": 95,
200  "Ireland, Republic Of": 96,
201  Israel: 97,
202  Italy: 98,
203  Jamaica: 99,
204  Japan: 100,
205  Jordan: 102,
206  Kazakhstan: 103,
207  Kenya: 104,
208  Kiribati: 105,
209  "Korea, Republic Of": 107,
210  Kuwait: 108,
211  Kyrgyzstan: 109,
212  "Lao People's Democratic Republ": 110,
213  Latvia: 111,
214  Lebanon: 112,
215  Lesotho: 113,
216  Liberia: 114,
217  Libya: 115,
218  Liechtenstein: 116,
219  Lithuania: 117,
220  Luxembourg: 118,
221  Macau: 119,
222  "Macedonia, Republic of (FYROM)": 120,
223  Madagascar: 121,
224  Malawi: 122,
225  Malaysia: 123,
226  Maldives: 124,
227  Mali: 125,
228  Malta: 126,
229  "Marshall Islands": 127,
230  Mauritania: 129,
231  Mauritius: 130,
232  Mexico: 131,
233  "Moldova, Republic Of": 132,
234  Monaco: 133,
235  Mongolia: 134,
236  Montenegro: 227,
237  Montserrat: 135,
238  Morocco: 136,
239  Mozambique: 137,
240  Myanmar: 138,
241  Namibia: 139,
242  "Nauru, Republic Of": 140,
243  Nepal: 141,
244  "Netherlands, The": 142,
245  Nevis: 143,
246  "New Caledonia": 144,
247  "New Zealand": 145,
248  Nicaragua: 146,
249  Niger: 147,
250  Nigeria: 148,
251  Niue: 149,
252  Norway: 150,
253  Oman: 151,
254  Pakistan: 152,
255  Panama: 153,
256  "Papua New Guinea": 154,
257  Paraguay: 155,
258  Peru: 156,
259  "Philippines, The": 157,
260  Poland: 158,
261  Portugal: 159,
262  "Portugal (Madeira)": 224,
263  "Puerto Rico": 160,
264  Qatar: 161,
265  Romania: 163,
266  "Russian Federation, The": 164,
267  Rwanda: 165,
268  Saipan: 166,
269  Samoa: 167,
270  "San Marino": 226,
271  "Sao Tome and Principe": 168,
272  "Saudi Arabia": 169,
273  Senegal: 170,
274  Serbia: 225,
275  Seychelles: 171,
276  "Sierra Leone": 172,
277  Singapore: 173,
278  Slovakia: 174,
279  Slovenia: 175,
280  "Solomon Islands": 176,
281  Somalia: 177,
282  "Somaliland, Rep of (North Soma": 178,
283  "South Africa": 179,
284  Spain: 180,
285  "Spain (Canary Islands,Ceuta,Melilla)": 223,
286  "Sri Lanka": 181,
287  "St. Barthelemy": 182,
288  "St. Eustatius": 183,
289  "St. Kitts": 184,
290  "St. Lucia": 185,
291  "St. Maarten": 186,
292  "St. Vincent": 187,
293  Sudan: 188,
294  Suriname: 189,
295  Swaziland: 190,
296  Sweden: 191,
297  Switzerland: 192,
298  Syria: 193,
299  Taiwan: 195,
300  Tajikistan: 196,
301  Tanzania: 197,
302  Thailand: 198,
303  Togo: 199,
304  Tonga: 200,
305  "Trinidad and Tobago": 201,
306  Tunisia: 222,
307  Turkey: 202,
308  Turkmenistan: 203,
309  "Turks and Caicos Islands": 204,
310  Tuvalu: 205,
311  Uganda: 206,
312  Ukraine: 207,
313  "United Arab Emirates": 208,
314  "United Kingdom": 209,
315  "United Kingdom (Guernsey)": 84,
316  "United Kingdom (Jersey)": 101,
317  "United States Of America": 210,
318  Uruguay: 211,
319  Uzbekistan: 212,
320  Vanuatu: 213,
321  Vietnam: 215,
322  "Virgin Islands (British)": 216,
323  "Virgin Islands (US)": 217,
324  Yemen: 218,
325  Zambia: 220,
326  Zimbabwe: 221,
327};
328
329// [...$('.imagenesLogos .marca_line')].reduce((acc, x) => { acc[x.querySelector('img').alt] = x.id; return acc}, {})
330const BRANDS = {
331  "+8000": `586`,
332  "100percent": `1275`,
333  "10bar": `1110`,
334  "226ERS": `1360`,
335  "2Toms": `5436`,
336  "2XU": `1283`,
337  "3M": `1362`,
338  "3t": `8734`,
339  "4arm Strong": `3934`,
340  "4F": `7566`,
341  "4iiii": `3426`,
342  "5 five": `8109`,
343  "8 C Plus": `2190`,
344  "9transport": `7829`,
345  Abloc: `8537`,
346  "Absolute Black": `4878`,
347  ABUS: `1363`,
348  Acid: `8077`,
349  Acimut: `7786`,
350  Acme: `4541`,
351  "Action Outdoor": `2017`,
352  adidas: `263`,
353  "Adidas Badminton": `5356`,
354  "adidas originals": `646`,
355  AEE: `368`,
356  Aftershokz: `1120`,
357  Afton: `3381`,
358  Agfa: `5490`,
359  AGU: `6478`,
360  Aifeit: `7033`,
361  "Air Relax": `5962`,
362  Airbone: `4473`,
363  Airman: `5734`,
364  "Airn Outdoor": `9681`,
365  Airofit: `8544`,
366  Airpop: `6916`,
367  Airwings: `5160`,
368  Alhonga: `7739`,
369  "All Mountain Style": `7516`,
370  "All Sins 18k": `9061`,
371  Allmatters: `8891`,
372  "Alpcross Components": `4884`,
373  Alpenheat: `439`,
374  "Alpha Industries": `6700`,
375  Alpina: `2379`,
376  Alpine: `5736`,
377  Alpinestars: `335`,
378  "Alpinestars Bicycle": `9606`,
379  Alpitude: `7737`,
380  "Altec Lansing": `4483`,
381  Alé: `1697`,
382  Amazfit: `4414`,
383  "American Classic": `3016`,
384  Amiaud: `4862`,
385  Amix: `4486`,
386  Amkov: `7563`,
387  Amlsport: `1020`,
388  Amplifi: `3679`,
389  "An Lun": `5282`,
390  "Ana Maria Lajusticia": `2874`,
391  Andrys: `7787`,
392  "Angelina Calzino": `8526`,
393  Anlen: `5281`,
394  Ansmann: `1112`,
395  Aphex: `7482`,
396  Apple: `4321`,
397  Approx: `5893`,
398  Apurna: `8735`,
399  Aqua2go: `7113`,
400  Aquafeel: `7310`,
401  Aquas: `2265`,
402  "Arch Max": `1235`,
403  "Arc’teryx": `1222`,
404  Arena: `11`,
405  Arexons: `10440`,
406  "Argon 18": `6061`,
407  Ariete: `1723`,
408  Arisun: `4970`,
409  Armada: `418`,
410  "Armor-x": `1293`,
411  Artein: `10439`,
412  Artsana: `6812`,
413  Arundel: `8534`,
414  Arva: `276`,
415  Ashima: `2896`,
416  Asics: `284`,
417  Asista: `3609`,
418  Askoll: `8514`,
419  "Ass Savers": `3670`,
420  Assos: `13`,
421  Astvte: `4158`,
422  Asus: `4382`,
423  Así: `8889`,
424  Atala: `4903`,
425  "ATC LTD TA": `4937`,
426  Atipick: `2613`,
427  Atv: `8547`,
428  Auvray: `4978`,
429  Avento: `3622`,
430  Avid: `16`,
431  "Awesome Maps": `7367`,
432  AXA: `3664`,
433  Axxios: `7405`,
434  "B&W": `5432`,
435  "B-Race": `7791`,
436  "B-urban": `7792`,
437  Babolat: `18`,
438  "Back On Track": `8738`,
439  Barbieri: `3687`,
440  Barfly: `4789`,
441  Barts: `2467`,
442  Basil: `2699`,
443  BBB: `483`,
444  Beal: `3430`,
445  Bear: `5430`,
446  "Bearing Cw": `7788`,
447  Beeline: `7118`,
448  Beeloom: `9598`,
449  Bell: `286`,
450  "Bell Italy": `7789`,
451  "Bella Aurora": `1874`,
452  Bellelli: `2045`,
453  Bematrix: `8802`,
454  Bend36: `3904`,
455  Benlee: `1644`,
456  Berghaus: `24`,
457  Bergner: `8144`,
458  Bering: `1338`,
459  Bern: `25`,
460  Beryl: `7119`,
461  "Best Divers": `26`,
462  Beto: `3773`,
463  Bettr: `6980`,
464  Beurer: `5520`,
465  "Bh Fitness": `7120`,
466  "Bicis Esteve": `7032`,
467  Bicisupport: `3890`,
468  "Bicycle Line": `1958`,
469  Biemme: `8936`,
470  "Bike Ahead": `9185`,
471  "Bike Fashion": `4476`,
472  "Bike Hand": `2897`,
473  "Bike Workx": `4803`,
474  "Bike Yoke": `8739`,
475  Bike7: `8741`,
476  Bikecare: `2773`,
477  Bikefinder: `9576`,
478  Bikefun: `3396`,
479  Bikeinn: `1272`,
480  Bikeribbon: `2601`,
481  "Bikers Dream": `5163`,
482  "Bikers Own": `4749`,
483  Bikeshield: `7510`,
484  Biknd: `7455`,
485  Billow: `5904`,
486  Bimanan: `9841`,
487  Bimpair: `5437`,
488  Biofreeze: `6905`,
489  Biona: `6981`,
490  Bioracer: `5647`,
491  "Biotech Usa": `9831`,
492  Biotex: `3932`,
493  Biotherm: `4054`,
494  Biotonik: `7887`,
495  Birzman: `7504`,
496  Bistark: `7790`,
497  "Black Bearing": `8542`,
498  "Black Cat Tire": `7738`,
499  "Black Diamond": `643`,
500  "Black Inc": `5008`,
501  Blackburn: `283`,
502  Blackspire: `7503`,
503  Blindsave: `8768`,
504  Bliz: `5486`,
505  Blossum: `4672`,
506  Blub: `4828`,
507  "Blueball Sport": `4304`,
508  Bluegrass: `875`,
509  "BnB Rack": `3921`,
510  Bobike: `534`,
511  "Body Glide": `1510`,
512  Bodygood: `9001`,
513  Bolle: `2550`,
514  Bombshell: `8743`,
515  Bombtrack: `4904`,
516  Bompar: `3891`,
517  "Bone Collection": `8558`,
518  Bonin: `2913`,
519  Bont: `3816`,
520  Bookman: `8935`,
521  Born: `1536`,
522  "Born Fruits": `1938`,
523  "Born Living Yoga": `6778`,
524  Bosch: `4477`,
525  "Boston Golf": `9277`,
526  Bottecchia: `8853`,
527  Box: `8744`,
528  Br: `6850`,
529  Brakco: `7035`,
530  Brandit: `6794`,
531  Braun: `5470`,
532  Breezer: `5277`,
533  Bresser: `6088`,
534  Brigmton: `5524`,
535  Briko: `466`,
536  "Britax Römer": `3546`,
537  "Brooks England": `1701`,
538  Brose: `8996`,
539  Broyx: `4849`,
540  Brunox: `4478`,
541  Bryton: `896`,
542  Bta: `10458`,
543  "Bub-up": `8745`,
544  Buchel: `4479`,
545  Buddyswim: `3194`,
546  "Buff ®": `252`,
547  "Build Your Brand": `10328`,
548  Bulls: `9200`,
549  Burgtec: `4933`,
550  Burley: `4653`,
551  Burton: `3647`,
552  "Busch&Muller": `4686`,
553  Buzzrack: `6234`,
554  "Bv Sport": `1344`,
555  Byte: `7471`,
556  Cairn: `3035`,
557  Camelbak: `36`,
558  Campagnolo: `37`,
559  Campingaz: `2175`,
560  "Cane Creek": `8292`,
561  Cannondale: `1242`,
562  Canyon: `4851`,
563  Capgo: `7762`,
564  Casall: `1282`,
565  Castelli: `497`,
566  Cateye: `40`,
567  Catlike: `41`,
568  "Cayler & Sons": `8649`,
569  Cebe: `2442`,
570  Cecotec: `4998`,
571  Cegasa: `6645`,
572  Celly: `2591`,
573  Cep: `1627`,
574  Ceramicspeed: `3702`,
575  "Cerda Group": `4926`,
576  Challenge: `3785`,
577  "Chamois Butt´r": `4532`,
578  Chaoyang: `3407`,
579  "Charge Sports Drinks": `8349`,
580  Chase: `8771`,
581  Chiba: `5164`,
582  Chicco: `6649`,
583  Chimpanzee: `1679`,
584  "Chris King": `4936`,
585  Chrome: `5003`,
586  Cinelli: `528`,
587  Cinq: `3876`,
588  Citadel: `5648`,
589  Citybug: `2346`,
590  "Cl Brakes": `7449`,
591  Classic: `5377`,
592  Clever: `4779`,
593  Clicgear: `8772`,
594  Clif: `1339`,
595  "Climbing Technology": `2578`,
596  Clinique: `3998`,
597  Clipon: `9171`,
598  Closca: `5646`,
599  Closethegap: `4885`,
600  "Club Ride": `4485`,
601  CMP: `640`,
602  cnSPOKE: `5283`,
603  Coas: `6747`,
604  Cobags: `7129`,
605  Cocoon: `9120`,
606  "Codex-U": `4363`,
607  Cofra: `6659`,
608  "Color Baby": `6832`,
609  Coluer: `6005`,
610  Columbia: `347`,
611  Columbus: `594`,
612  Compeed: `4194`,
613  Compex: `617`,
614  Composite: `8548`,
615  Compressport: `47`,
616  Conor: `8082`,
617  Consumo: `5058`,
618  Contact: `5529`,
619  Contec: `8969`,
620  Continental: `48`,
621  Controltech: `5950`,
622  Coolbox: `4334`,
623  Coospo: `10357`,
624  Copa: `3074`,
625  Coros: `4487`,
626  Corratec: `2235`,
627  Corsurf: `9454`,
628  "Cosmo Connected": `4719`,
629  CPA: `2594`,
630  Craft: `50`,
631  Craghoppers: `3078`,
632  Crane: `3780`,
633  Crankbrothers: `282`,
634  Cratoni: `3524`,
635  "Crazy Safety": `1943`,
636  "Crep Protect": `2859`,
637  Cressi: `51`,
638  Croozer: `3084`,
639  Crosscall: `4401`,
640  Crud: `5964`,
641  CST: `4720`,
642  Cube: `52`,
643  Cutered: `10039`,
644  Cybex: `3836`,
645  Cycl: `7132`,
646  "Cycling Ceramic": `3447`,
647  Cyclo: `2703`,
648  Cycloc: `5965`,
649  Cycology: `7922`,
650  "D-Light": `3889`,
651  Daewoo: `3193`,
652  Dahon: `384`,
653  Dainese: `346`,
654  Dakar: `7728`,
655  Dakine: `54`,
656  Damartsport: `5644`,
657  Dane: `4540`,
658  Dare2B: `2945`,
659  Darevie: `4902`,
660  Darkpads: `5429`,
661  Dashel: `6324`,
662  "Dcu Tecnologic": `5863`,
663  Decleor: `4055`,
664  Deda: `3674`,
665  Deerhunter: `6002`,
666  Deestone: `2899`,
667  Defeet: `2914`,
668  Deli: `2900`,
669  "Delta Cycle": `3432`,
670  Denver: `5743`,
671  Deportium: `7484`,
672  Dexshell: `8970`,
673  Dickies: `7008`,
674  Difi: `6067`,
675  "Dirt Freak": `7847`,
676  Disney: `2568`,
677  "Dkn Technology": `9599`,
678  Dmr: `8540`,
679  DMT: `597`,
680  Dom: `3802`,
681  Dosun: `2918`,
682  Douchebags: `613`,
683  "Dr Cool": `2139`,
684  "Dr Senst": `6258`,
685  "Dr. Organic": `6726`,
686  Drasanvi: `7473`,
687  Drift: `4467`,
688  "Drop Shot": `372`,
689  Drwheeler: `6909`,
690  "Ds Covers": `7435`,
691  "DT Swiss": `2173`,
692  Duracell: `2962`,
693  "Dutch Perfect": `2595`,
694  DVO: `6704`,
695  Dyedbro: `4934`,
696  Dynafit: `65`,
697  "E-Bike Vision": `4618`,
698  "E-thirteen": `5154`,
699  Eafit: `9094`,
700  Eassun: `887`,
701  Easton: `2034`,
702  Eastpak: `411`,
703  Easycamp: `3275`,
704  Easypix: `2282`,
705  EBC: `7500`,
706  Ebon: `4886`,
707  Echowell: `2901`,
708  Ecoflow: `6928`,
709  "Econic One": `7044`,
710  Ecoon: `9439`,
711  Edelrid: `281`,
712  Edm: `8072`,
713  "Effetto Mariposa": `9031`,
714  Eines: `9397`,
715  "El Gallo": `4837`,
716  Elevn: `8654`,
717  Elite: `69`,
718  Elix: `7890`,
719  Eloa: `6983`,
720  Eltin: `2954`,
721  Elvedes: `7793`,
722  Emhome: `7685`,
723  Enduro: `7501`,
724  "Enduro Bearings": `8639`,
725  Eneloop: `6262`,
726  Energizer: `1475`,
727  "Energy Sistem": `4402`,
728  Enervit: `4725`,
729  "Enforma Socks": `4986`,
730  Enve: `8774`,
731  Eolos: `1346`,
732  Eovolt: `8761`,
733  Epitact: `8775`,
734  Epoch: `3888`,
735  Epsealon: `1480`,
736  Ergon: `3015`,
737  Ergotec: `4621`,
738  Erima: `8621`,
739  Errea: `8625`,
740  Esge: `4722`,
741  ESIgrips: `4793`,
742  Esperia: `8852`,
743  Etixx: `3752`,
744  Etxeondo: `644`,
745  Eucerin: `3986`,
746  Everactive: `9330`,
747  Eveready: `2963`,
748  Evergy: `9428`,
749  "Evo Bikes": `8801`,
750  Evoc: `7494`,
751  Evolve: `8655`,
752  "Exa Form": `7411`,
753  Exal: `4656`,
754  "Excellent Houseware": `8140`,
755  Excess: `8776`,
756  "Exposure Lights": `4787`,
757  Exustar: `2385`,
758  "F-Lite": `4689`,
759  F100: `4687`,
760  "Fabio Quartararo": `2848`,
761  Fabric: `1996`,
762  "Fabrica De Juguetes Chicos": `6959`,
763  Fahrer: `4628`,
764  Falke: `1148`,
765  "Far&Near": `3678`,
766  Fashy: `7309`,
767  Fasi: `4939`,
768  "Fast Forward": `9076`,
769  Fastrider: `7673`,
770  Favero: `7001`,
771  Favour: `6112`,
772  FDP: `7897`,
773  Federal: `8778`,
774  Feedback: `3019`,
775  "Feelfree Gear": `3376`,
776  Fenix: `2395`,
777  Ferrino: `73`,
778  FFWD: `4742`,
779  Fidlock: `3762`,
780  "Fil Safe": `5431`,
781  Fila: `1533`,
782  Finis: `261`,
783  "Finish Line": `2605`,
784  Finna: `4276`,
785  First: `3902`,
786  "First Bike": `2372`,
787  "Fischer Bikes": `6004`,
788  "Fisio Xtreme": `9284`,
789  Fisiocrem: `581`,
790  Fitbit: `1613`,
791  "Fitfiu Fitness": `9105`,
792  "Fitness Tech": `8998`,
793  "Five Ten": `2367`,
794  Fixplus: `3132`,
795  Fizik: `302`,
796  Flashmer: `1306`,
797  Flectr: `3147`,
798  Flexall: `6906`,
799  Flexir: `7462`,
800  FLM: `2781`,
801  "Fly Racing": `7453`,
802  Focus: `8907`,
803  Force: `7036`,
804  "Force Xv": `5637`,
805  Formigli: `7741`,
806  Formula: `3871`,
807  Forward: `8782`,
808  Fox: `3052`,
809  "Fox Rage": `5940`,
810  Foxman: `2177`,
811  Fpd: `8804`,
812  FSA: `2050`,
813  Fuji: `988`,
814  "Fuji-toki": `7773`,
815  Fulcrum: `76`,
816  FullGas: `3782`,
817  "Fun Bike": `8359`,
818  Funken: `9307`,
819  Funkita: `609`,
820  "Funky Trunks": `610`,
821  Fytter: `573`,
822  "G-kos": `7794`,
823  "G-Star": `1914`,
824  Gaadi: `4629`,
825  Gaiam: `1913`,
826  Galfer: `2704`,
827  Garcia: `6006`,
828  Garibaldi: `1518`,
829  "Gear Aid": `3386`,
830  Geco: `3906`,
831  Gembird: `6504`,
832  Gen: `7525`,
833  "Genuine Innovations": `3826`,
834  Geosmina: `10040`,
835  GES: `2902`,
836  GHOST: `4854`,
837  Gigabyte: `4425`,
838  Gios: `6727`,
839  Gipiemme: `9790`,
840  Giro: `81`,
841  Gist: `4726`,
842  Givi: `6706`,
843  Givova: `7492`,
844  Giyo: `2919`,
845  Gladiatorfit: `9797`,
846  Globber: `8617`,
847  Globus: `6480`,
848  "Go System": `3139`,
849  "Goal Zero": `5447`,
850  "Gold Nutrition": `6737`,
851  Goldfren: `9809`,
852  Goobay: `5894`,
853  Goodyear: `1645`,
854  GoPro: `84`,
855  "GORE® Wear": `3158`,
856  "Gorilla Sports": `9615`,
857  "Gorilla Tape": `7759`,
858  Gp: `8205`,
859  "Gp Batteries": `3848`,
860  Graff: `5588`,
861  "Granite Design": `6722`,
862  "Green Cell": `9564`,
863  Gregory: `1010`,
864  Gridinlux: `9671`,
865  Grifone: `1276`,
866  GripGrab: `2275`,
867  Grundens: `6386`,
868  GT: `3393`,
869  GTR: `4993`,
870  GU: `1284`,
871  "Gu Energy": `9239`,
872  Guardian: `1564`,
873  Guee: `7499`,
874  Gurpil: `3313`,
875  "Guy Harvey": `471`,
876  Gymstick: `5454`,
877  H4u: `9824`,
878  Haberland: `4690`,
879  HAD: `4657`,
880  Haeger: `6356`,
881  Haglöfs: `371`,
882  Haibike: `4622`,
883  Hamax: `3548`,
884  Handlz: `4994`,
885  Handup: `5457`,
886  Hannah: `2055`,
887  Hape: `7164`,
888  "Hapo-g": `7795`,
889  Harbinger: `7551`,
890  Haro: `2719`,
891  "Hart Hunting": `3684`,
892  Hartex: `8382`,
893  "Hawaiian Tropic": `5075`,
894  Head: `88`,
895  "Head Bike": `9820`,
896  "Head Swimming": `3705`,
897  Headgy: `4979`,
898  Hebie: `4610`,
899  Hedkayse: `8511`,
900  Heidenau: `4630`,
901  Held: `500`,
902  Helite: `8510`,
903  Hellfire: `2783`,
904  "Helly Hansen": `90`,
905  Hergo: `3893`,
906  Herrmans: `4611`,
907  Herschel: `3002`,
908  Hibros: `7892`,
909  Hilx: `7785`,
910  Hiplok: `2761`,
911  Hirzl: `4887`,
912  Hivital: `8339`,
913  HJC: `503`,
914  "Ho Soccer": `2052`,
915  Hock: `4631`,
916  Hollis: `92`,
917  Homcom: `7700`,
918  Honor: `4341`,
919  Hoopoe: `4815`,
920  Hope: `7498`,
921  Horn: `4724`,
922  "Hotspot Design": `2076`,
923  Hovding: `7169`,
924  Hsn: `8560`,
925  HT: `3316`,
926  "Htp Design": `7468`,
927  Huawei: `3180`,
928  "Huck Norris": `9165`,
929  Hummel: `5860`,
930  Hutchinson: `93`,
931  HydraKnight: `4804`,
932  Hydroponic: `2222`,
933  "Hygen Spray": `7893`,
934  Hyperice: `9087`,
935  Ibera: `2197`,
936  Ibis: `7883`,
937  Icebreaker: `1670`,
938  Icepeak: `6802`,
939  IceToolz: `5570`,
940  "Id Match": `8324`,
941  Igpsport: `9577`,
942  Ihealth: `2398`,
943  Iluv: `1916`,
944  Impac: `4658`,
945  "Impala Rollers": `4830`,
946  Imperial: `4554`,
947  "Inca Hair Jewellery": `6963`,
948  "Industry Nine": `4794`,
949  Infini: `4693`,
950  "Infinitii Ramps": `8947`,
951  Infinity: `2359`,
952  "Inno Bike": `4694`,
953  Innova: `2903`,
954  "Innova Nutrition": `5019`,
955  Inpeak: `10036`,
956  Insight: `8646`,
957  Inspyre: `8971`,
958  Insta360: `5504`,
959  Intenso: `2062`,
960  "Interphone Cellularline": `1115`,
961  Intova: `98`,
962  Inxide: `6720`,
963  ION: `1946`,
964  Iprotec: `1732`,
965  "iQ-Company": `316`,
966  "Iron-ic": `7030`,
967  ISB: `3766`,
968  Isbjörn: `1211`,
969  ISM: `2021`,
970  Iswari: `9840`,
971  ITM: `599`,
972  Ixcor: `9745`,
973  Ixon: `2455`,
974  iXS: `2456`,
975  Izas: `510`,
976  "Izumi Chain": `4256`,
977  "J.Juan": `3894`,
978  Jagwire: `2051`,
979  Jako: `8622`,
980  Janod: `5339`,
981  Jata: `6359`,
982  JCOOL: `4899`,
983  JeansTrack: `3959`,
984  Jeep: `7697`,
985  "Jetblack Cycling": `7099`,
986  Joby: `3961`,
987  "JOE´S": `2546`,
988  "John Smith": `1736`,
989  Joluvi: `4684`,
990  Joma: `607`,
991  "Jopa Mx": `10557`,
992  JRC: `463`,
993  Jucad: `9245`,
994  "Juice Lubes": `4786`,
995  Julbo: `369`,
996  JVC: `4557`,
997  "K-Edge": `1617`,
998  "K-Swiss": `445`,
999  "K-up": `8631`,
1000  Kalas: `9746`,
1001  Kali: `332`,
1002  "Kali Protectives": `4315`,
1003  Kalloy: `3928`,
1004  Kanebo: `4258`,
1005  Kappa: `1681`,
1006  Kaps: `9182`,
1007  "Kari Traa": `7077`,
1008  Kariban: `8623`,
1009  Karpos: `867`,
1010  Kask: `1232`,
1011  Kayak: `5171`,
1012  Kazam: `3125`,
1013  KCNC: `3651`,
1014  Keboo: `9590`,
1015  Ked: `8609`,
1016  Keen: `102`,
1017  Keep: `490`,
1018  Kelme: `2329`,
1019  Kempa: `1337`,
1020  Kenda: `2036`,
1021  Kengine: `7037`,
1022  Kenny: `6891`,
1023  "Keto Protein": `9828`,
1024  "Kids Licensing": `5359`,
1025  Kidzamo: `8065`,
1026  Kilpi: `1562`,
1027  Kimood: `8637`,
1028  "Kind Shock": `2863`,
1029  Kinetic: `3818`,
1030  "Klan-E": `4504`,
1031  KLICKfix: `3754`,
1032  Klim: `4819`,
1033  Klower: `7889`,
1034  Klättermusen: `6806`,
1035  KMC: `2706`,
1036  Knog: `430`,
1037  Kodak: `4412`,
1038  Kody: `4839`,
1039  Kokua: `2548`,
1040  "KOM Cycling": `5448`,
1041  Kong: `353`,
1042  KOO: `3201`,
1043  "Kookie Cat": `6984`,
1044  Korda: `8911`,
1045  Koss: `4559`,
1046  Kovix: `5718`,
1047  Krafwin: `1114`,
1048  Krf: `3256`,
1049  Kroon: `8706`,
1050  Kruskis: `400`,
1051  Kryptonite: `2720`,
1052  "KS Tools": `6143`,
1053  KSIX: `1351`,
1054  "KT Tape": `4310`,
1055  Ktm: `8314`,
1056  Kujo: `5722`,
1057  Kynay: `8980`,
1058  Kyrocream: `1023`,
1059  "L-twoo": `10332`,
1060  L2s: `8916`,
1061  "La Sportiva": `482`,
1062  Lacd: `7832`,
1063  "Lacomed Sport": `7796`,
1064  Lacoste: `645`,
1065  Lactojoy: `8550`,
1066  Lafuma: `305`,
1067  Laica: `7189`,
1068  Lake: `1464`,
1069  Lalizas: `401`,
1070  Lancaster: `4159`,
1071  "Lasalle Sports": `7467`,
1072  Lavina: `7894`,
1073  Lazer: `1937`,
1074  "Le Coq Sportif": `2407`,
1075  Leatt: `1281`,
1076  "Led Lenser": `107`,
1077  "Legend Ebikes": `9326`,
1078  Legnano: `7027`,
1079  Lelumia: `8535`,
1080  Lemond: `1019`,
1081  Lenz: `628`,
1082  "Leonardi Racing": `8708`,
1083  Leone1947: `4734`,
1084  Leotec: `4667`,
1085  Lezyne: `110`,
1086  LG: `4342`,
1087  Lidergrip: `9393`,
1088  LifeSystems: `1662`,
1089  Lifeventure: `1663`,
1090  Limar: `112`,
1091  Linka: `5280`,
1092  Livall: `2927`,
1093  Livecell: `9843`,
1094  Lizard: `3094`,
1095  "Lizard Skins": `8918`,
1096  Lockbox: `6892`,
1097  Loeffler: `2866`,
1098  Lof: `1737`,
1099  Logan: `4889`,
1100  Lolë: `3444`,
1101  Lonsdale: `1646`,
1102  Look: `114`,
1103  Louri: `8610`,
1104  Luft: `5373`,
1105  Luma: `971`,
1106  Lumineo: `8168`,
1107  Luminox: `2049`,
1108  "Lumos Helmet": `8513`,
1109  Lupine: `280`,
1110  "M-Wave": `4751`,
1111  "Mac In A Sac": `6008`,
1112  Mach1: `8052`,
1113  Macna: `2088`,
1114  Macron: `8620`,
1115  Mader: `9363`,
1116  Madform: `1343`,
1117  Madwave: `2383`,
1118  "Mag-Lite": `621`,
1119  Magene: `7880`,
1120  "Magic Shine": `3781`,
1121  Magped: `8920`,
1122  Magura: `2204`,
1123  Mako: `545`,
1124  Mammut: `120`,
1125  Manitou: `8564`,
1126  "Marc Marquez": `976`,
1127  Marmot: `122`,
1128  Marshguard: `8536`,
1129  Maruni: `8281`,
1130  Marzocchi: `3633`,
1131  MASSI: `2144`,
1132  "Master Lock": `1580`,
1133  "Matcha & Co": `9836`,
1134  Matt: `520`,
1135  Maurten: `7906`,
1136  Mavic: `124`,
1137  "Max Protein": `9848`,
1138  Maxcom: `2063`,
1139  Maxell: `1038`,
1140  Maxim: `7495`,
1141  Maxxis: `125`,
1142  "MB Wear": `5147`,
1143  Mbm: `2718`,
1144  "Mc David": `3797`,
1145  McNett: `126`,
1146  Mebaline: `2886`,
1147  Medisana: `3181`,
1148  Megamo: `2937`,
1149  Meilan: `9580`,
1150  Melon: `3525`,
1151  Menabo: `2236`,
1152  "Mercury Equipment": `3051`,
1153  "Merlin Bike Care": `4251`,
1154  Messingschlager: `4613`,
1155  MET: `129`,
1156  Metalsub: `2094`,
1157  Mfi: `8973`,
1158  Miche: `2145`,
1159  Michelin: `264`,
1160  MicroSHIFT: `4867`,
1161  Midland: `130`,
1162  Mighty: `5284`,
1163  "Mijnen Pieper": `4640`,
1164  Mikasa: `2465`,
1165  "Miles Wide": `4783`,
1166  Milkit: `4946`,
1167  Minoura: `535`,
1168  Mission: `1574`,
1169  "Mister Tee": `8627`,
1170  Mitas: `2596`,
1171  Mizuno: `132`,
1172  Mks: `6387`,
1173  Mobilis: `4337`,
1174  Mobius: `3788`,
1175  Momabikes: `3621`,
1176  Momum: `8532`,
1177  Mondaine: `2948`,
1178  "Monkeys Sauce": `4840`,
1179  Montane: `1055`,
1180  Montbell: `5317`,
1181  Montura: `4746`,
1182  Moon: `2904`,
1183  Mooquer: `9387`,
1184  "Moose Soft-goods": `4260`,
1185  "Morgan Blue": `3182`,
1186  Mosconi: `2710`,
1187  Mota: `8178`,
1188  Motip: `7696`,
1189  Motorex: `6689`,
1190  Motorola: `2180`,
1191  Mounty: `7766`,
1192  "Mr. Wolf": `8608`,
1193  "Mr.control": `7727`,
1194  MRP: `3784`,
1195  MSC: `2864`,
1196  "MTB Hopper": `7434`,
1197  "Muc Off": `1971`,
1198  Mueller: `394`,
1199  "Mund Socks": `2264`,
1200  Musto: `619`,
1201  Muvi: `648`,
1202  Muvit: `2920`,
1203  "Muvit Io": `8682`,
1204  Myflash: `7210`,
1205  Mykronoz: `2928`,
1206  Myn: `9750`,
1207  MyWay: `2929`,
1208  Nalini: `5947`,
1209  "Named Sport": `3710`,
1210  Nathan: `962`,
1211  Natruly: `6985`,
1212  "Natural Fit": `8255`,
1213  Naturalshine: `137`,
1214  "Natures Bounty": `6725`,
1215  Naturtierra: `9832`,
1216  Navali: `3895`,
1217  "NC-17": `7511`,
1218  Nebbia: `6047`,
1219  "Nebo Tools": `1733`,
1220  Neco: `4805`,
1221  Neparo: `6271`,
1222  Net: `2039`,
1223  "New Balance": `1312`,
1224  "New Era": `2891`,
1225  "New Looxs": `2373`,
1226  Newline: `5300`,
1227  Newton: `880`,
1228  Nexgim: `9780`,
1229  Nextorch: `977`,
1230  Nfun: `2911`,
1231  Nike: `365`,
1232  "Nike Swim": `2770`,
1233  Nilox: `554`,
1234  Nimo: `8135`,
1235  Niner: `3908`,
1236  "Nite Ize": `1906`,
1237  "Nite Rider": `4741`,
1238  Nokia: `3406`,
1239  Nonbak: `2769`,
1240  Nooyah: `4900`,
1241  Norco: `4697`,
1242  Northwave: `139`,
1243  Novatec: `5319`,
1244  Nox: `140`,
1245  Nrc: `10467`,
1246  NRG: `7798`,
1247  "Nu Swimrun": `4975`,
1248  Nutcase: `1573`,
1249  Nutrinovex: `8509`,
1250  Nutrisport: `1028`,
1251  Nuvo: `3931`,
1252  "O-stand": `6388`,
1253  Oakley: `142`,
1254  "Ocean Sunglasses": `2302`,
1255  Oceanarium: `5443`,
1256  Oceanic: `144`,
1257  Ocun: `1289`,
1258  Odeclas: `1513`,
1259  ODI: `3783`,
1260  Odlo: `145`,
1261  Odyssey: `8795`,
1262  Oem: `7220`,
1263  OJ: `2363`,
1264  Oko: `8943`,
1265  Olive: `4817`,
1266  Ology: `2142`,
1267  One: `7769`,
1268  "One Industries": `3808`,
1269  Oneal: `141`,
1270  OnGuard: `1917`,
1271  "Only Play": `7458`,
1272  "Onn Style": `2608`,
1273  Onza: `7497`,
1274  Oppo: `4981`,
1275  "Orange Mud": `5865`,
1276  "Orange Seal": `4831`,
1277  Orbegozo: `5481`,
1278  Orca: `5933`,
1279  Orcatorch: `1581`,
1280  "Oregon Scientific": `150`,
1281  Oreka: `4841`,
1282  Orontas: `4157`,
1283  Ortlieb: `1225`,
1284  Osprey: `883`,
1285  Otso: `4846`,
1286  Ottolock: `6409`,
1287  "Out Of": `6927`,
1288  "Outdoor Research": `982`,
1289  Outwell: `3280`,
1290  Overade: `5320`,
1291  Overstims: `6795`,
1292  Oxford: `6693`,
1293  Oxypro: `9000`,
1294  "O´neill": `926`,
1295  "P.A.C.": `4698`,
1296  "Pacific Socks": `8695`,
1297  Paingone: `6172`,
1298  Paleobull: `9822`,
1299  Palomar: `7229`,
1300  Panaracer: `536`,
1301  Panasonic: `3318`,
1302  Pangea: `7459`,
1303  Panzer: `9096`,
1304  "Panzer Glass": `4962`,
1305  "Park Tool": `3828`,
1306  Pax: `4879`,
1307  Peak: `8633`,
1308  "Peak Performance": `367`,
1309  "Pearl Izumi": `537`,
1310  "Peaty´s": `4932`,
1311  "Pedal Plate": `5869`,