scavio 0.30.1 → 0.31.0
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.
- package/README.md +51 -2
- package/dist/index.cjs +270 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +410 -1
- package/dist/index.d.ts +410 -1
- package/dist/index.js +266 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
package/dist/index.js
CHANGED
|
@@ -145,7 +145,7 @@ function parseRetryAfter(header) {
|
|
|
145
145
|
var BASE_URL = "https://api.scavio.dev";
|
|
146
146
|
var DEFAULT_TIMEOUT = 3e4;
|
|
147
147
|
var DEFAULT_MAX_RETRIES = 2;
|
|
148
|
-
var SDK_VERSION = true ? "0.
|
|
148
|
+
var SDK_VERSION = true ? "0.31.0" : "0.0.0";
|
|
149
149
|
var USER_AGENT = `scavio-js/${SDK_VERSION}`;
|
|
150
150
|
function isServerRuntime() {
|
|
151
151
|
const g = globalThis;
|
|
@@ -2799,6 +2799,259 @@ var SpecsNamespace = class {
|
|
|
2799
2799
|
}
|
|
2800
2800
|
};
|
|
2801
2801
|
|
|
2802
|
+
// src/namespaces/lowes.ts
|
|
2803
|
+
var LowesNamespace = class {
|
|
2804
|
+
constructor(client) {
|
|
2805
|
+
this.client = client;
|
|
2806
|
+
}
|
|
2807
|
+
client;
|
|
2808
|
+
/**
|
|
2809
|
+
* Search Lowe's by keyword or category at one store: the store's price,
|
|
2810
|
+
* was-price and savings with the sale end date, brand, model number, rating,
|
|
2811
|
+
* review count, and stock for pickup, truck delivery, parcel shipping and
|
|
2812
|
+
* same-day delivery. Pass query or category_id; on_sale returns that
|
|
2813
|
+
* store's deals.
|
|
2814
|
+
*
|
|
2815
|
+
* Costs 2 credits.
|
|
2816
|
+
*/
|
|
2817
|
+
async search(options) {
|
|
2818
|
+
return this.client._post("/api/v1/lowes/search", options);
|
|
2819
|
+
}
|
|
2820
|
+
/**
|
|
2821
|
+
* One Lowe's item at one store: price, was-price and savings, on-hand stock
|
|
2822
|
+
* with lead time per fulfillment method, stock at nearby stores, aisle and
|
|
2823
|
+
* bay, grouped specifications, UPC, dimensions, weight, rating, images, and
|
|
2824
|
+
* the store's hours.
|
|
2825
|
+
*
|
|
2826
|
+
* Costs 2 credits.
|
|
2827
|
+
*/
|
|
2828
|
+
async product(options) {
|
|
2829
|
+
return this.client._post("/api/v1/lowes/product", options);
|
|
2830
|
+
}
|
|
2831
|
+
/**
|
|
2832
|
+
* Lowe's stores near a ZIP code, nearest first: store_id, name, address,
|
|
2833
|
+
* phone, coordinates, distance, time zone, opening hours and features.
|
|
2834
|
+
*
|
|
2835
|
+
* Costs 2 credits.
|
|
2836
|
+
*/
|
|
2837
|
+
async stores(options) {
|
|
2838
|
+
return this.client._post("/api/v1/lowes/stores", options);
|
|
2839
|
+
}
|
|
2840
|
+
/**
|
|
2841
|
+
* One page of an item's customer reviews (10 per page): rating, title, text,
|
|
2842
|
+
* date, reviewer, recommended, helpful votes, verified and incentivized
|
|
2843
|
+
* flags, photos and brand replies, plus the average rating and count per star.
|
|
2844
|
+
*
|
|
2845
|
+
* Costs 1 credit.
|
|
2846
|
+
*/
|
|
2847
|
+
async reviews(options) {
|
|
2848
|
+
return this.client._post("/api/v1/lowes/reviews", options);
|
|
2849
|
+
}
|
|
2850
|
+
};
|
|
2851
|
+
|
|
2852
|
+
// src/namespaces/sams-club.ts
|
|
2853
|
+
var SamsClubNamespace = class {
|
|
2854
|
+
constructor(client) {
|
|
2855
|
+
this.client = client;
|
|
2856
|
+
}
|
|
2857
|
+
client;
|
|
2858
|
+
/**
|
|
2859
|
+
* Search Sam's Club: item_id, price, was_price, savings_amount, unit price,
|
|
2860
|
+
* Instant Savings (amount, end date, purchase limit), rating, review count,
|
|
2861
|
+
* stock, pickup/delivery/shipping availability and aisle. The club is picked
|
|
2862
|
+
* by location and returned in data.club.
|
|
2863
|
+
*
|
|
2864
|
+
* Costs 1 credit.
|
|
2865
|
+
*/
|
|
2866
|
+
async search(options) {
|
|
2867
|
+
return this.client._post("/api/v1/samsclub/search", options);
|
|
2868
|
+
}
|
|
2869
|
+
/**
|
|
2870
|
+
* One Sam's Club item: online price and the club shelf price (club_price)
|
|
2871
|
+
* with was price, savings and unit price, Instant Savings, rating histogram,
|
|
2872
|
+
* UPC, model, specifications, and per-method fulfillment with stock and
|
|
2873
|
+
* aisle. Pass club_id to price and stock a specific club.
|
|
2874
|
+
*
|
|
2875
|
+
* Costs 1 credit.
|
|
2876
|
+
*/
|
|
2877
|
+
async product(options) {
|
|
2878
|
+
return this.client._post("/api/v1/samsclub/product", options);
|
|
2879
|
+
}
|
|
2880
|
+
/**
|
|
2881
|
+
* Sam's Club clubs near a US ZIP, nearest first: club_id, name, address,
|
|
2882
|
+
* coordinates, distance in miles, phone, opening hours, services and whether
|
|
2883
|
+
* the club is temporarily closed.
|
|
2884
|
+
*
|
|
2885
|
+
* Costs 1 credit.
|
|
2886
|
+
*/
|
|
2887
|
+
async clubs(options) {
|
|
2888
|
+
return this.client._post("/api/v1/samsclub/clubs", options);
|
|
2889
|
+
}
|
|
2890
|
+
/**
|
|
2891
|
+
* Every item on Sam's Club Instant Savings, paged: price, was price and
|
|
2892
|
+
* savings amount, plus each offer's amount, end date, purchase limit and
|
|
2893
|
+
* channels.
|
|
2894
|
+
*
|
|
2895
|
+
* Costs 1 credit.
|
|
2896
|
+
*/
|
|
2897
|
+
async savings(options = {}) {
|
|
2898
|
+
return this.client._post("/api/v1/samsclub/savings", options);
|
|
2899
|
+
}
|
|
2900
|
+
/**
|
|
2901
|
+
* Products in a Sam's Club category, paged, with the same fields as
|
|
2902
|
+
* search(). Clearance is category "1150109".
|
|
2903
|
+
*
|
|
2904
|
+
* Costs 1 credit.
|
|
2905
|
+
*/
|
|
2906
|
+
async category(options) {
|
|
2907
|
+
return this.client._post("/api/v1/samsclub/category", options);
|
|
2908
|
+
}
|
|
2909
|
+
/**
|
|
2910
|
+
* Customer reviews for a Sam's Club item, 10 per page: rating, title, text,
|
|
2911
|
+
* author, date, verified purchase and helpful votes, plus the average rating,
|
|
2912
|
+
* total count and 1-5 star breakdown.
|
|
2913
|
+
*
|
|
2914
|
+
* Costs 1 credit.
|
|
2915
|
+
*/
|
|
2916
|
+
async reviews(options) {
|
|
2917
|
+
return this.client._post("/api/v1/samsclub/reviews", options);
|
|
2918
|
+
}
|
|
2919
|
+
};
|
|
2920
|
+
|
|
2921
|
+
// src/namespaces/canadian-tire.ts
|
|
2922
|
+
var CanadianTireNamespace = class {
|
|
2923
|
+
constructor(client) {
|
|
2924
|
+
this.client = client;
|
|
2925
|
+
}
|
|
2926
|
+
client;
|
|
2927
|
+
/**
|
|
2928
|
+
* Search Canadian Tire by keyword or category at one store: the store's
|
|
2929
|
+
* price and regular price (CAD), price range for multi-variant items,
|
|
2930
|
+
* savings, badges (clearance, sale, rebate), rating, review count, brand,
|
|
2931
|
+
* part number, SKU, and stock at the store and online.
|
|
2932
|
+
*
|
|
2933
|
+
* Costs 1 credit.
|
|
2934
|
+
*/
|
|
2935
|
+
async search(options) {
|
|
2936
|
+
return this.client._post("/api/v1/canadiantire/search", options);
|
|
2937
|
+
}
|
|
2938
|
+
/**
|
|
2939
|
+
* One product by code at one store: breadcrumb, images, rating, review
|
|
2940
|
+
* count, descriptions, features, specifications, price and regular price,
|
|
2941
|
+
* warranty, manuals, variants with their SKUs, and the store's price, stock,
|
|
2942
|
+
* and pickup and ship-to-home dates.
|
|
2943
|
+
*
|
|
2944
|
+
* Costs 1 credit.
|
|
2945
|
+
*/
|
|
2946
|
+
async product(options) {
|
|
2947
|
+
return this.client._post("/api/v1/canadiantire/product", options);
|
|
2948
|
+
}
|
|
2949
|
+
/**
|
|
2950
|
+
* Canadian Tire stores near a postal code or coordinates, nearest first:
|
|
2951
|
+
* store_id, name, address, phone, coordinates, distance, weekly hours and
|
|
2952
|
+
* services. Pass sku to get each store's stock quantity and aisle for it.
|
|
2953
|
+
*
|
|
2954
|
+
* Costs 1 credit.
|
|
2955
|
+
*/
|
|
2956
|
+
async stores(options) {
|
|
2957
|
+
return this.client._post("/api/v1/canadiantire/stores", options);
|
|
2958
|
+
}
|
|
2959
|
+
/**
|
|
2960
|
+
* Up to 50 SKUs at one store in one call: the store's price and regular
|
|
2961
|
+
* price, clearance and sale flags, price valid-until date, stock quantity,
|
|
2962
|
+
* aisle, online stock, and pickup and delivery dates. Unknown SKUs are
|
|
2963
|
+
* listed in not_found.
|
|
2964
|
+
*
|
|
2965
|
+
* Costs 1 credit.
|
|
2966
|
+
*/
|
|
2967
|
+
async availability(options) {
|
|
2968
|
+
return this.client._post("/api/v1/canadiantire/availability", options);
|
|
2969
|
+
}
|
|
2970
|
+
/**
|
|
2971
|
+
* Every clearance item at one store, 100 per page, with clearance price,
|
|
2972
|
+
* regular price, stock at the store and the same fields as search().
|
|
2973
|
+
* In-stock items only by default.
|
|
2974
|
+
*
|
|
2975
|
+
* Costs 1 credit.
|
|
2976
|
+
*/
|
|
2977
|
+
async clearance(options) {
|
|
2978
|
+
return this.client._post("/api/v1/canadiantire/clearance", options);
|
|
2979
|
+
}
|
|
2980
|
+
/**
|
|
2981
|
+
* Items on a deal at one store, 100 per page: sale prices, instant rebates,
|
|
2982
|
+
* special buys or Triangle Rewards loyalty offers, with the same fields as
|
|
2983
|
+
* search().
|
|
2984
|
+
*
|
|
2985
|
+
* Costs 1 credit.
|
|
2986
|
+
*/
|
|
2987
|
+
async deals(options) {
|
|
2988
|
+
return this.client._post("/api/v1/canadiantire/deals", options);
|
|
2989
|
+
}
|
|
2990
|
+
};
|
|
2991
|
+
|
|
2992
|
+
// src/namespaces/dollar-general.ts
|
|
2993
|
+
var DollarGeneralNamespace = class {
|
|
2994
|
+
constructor(client) {
|
|
2995
|
+
this.client = client;
|
|
2996
|
+
}
|
|
2997
|
+
client;
|
|
2998
|
+
/**
|
|
2999
|
+
* Search Dollar General at one store: that store's price and original price,
|
|
3000
|
+
* available_quantity (units on hand at that store), inventory_status,
|
|
3001
|
+
* rating, review count, categories, digital coupons and promotions, UPC and
|
|
3002
|
+
* product URL.
|
|
3003
|
+
*
|
|
3004
|
+
* Costs 1 credit.
|
|
3005
|
+
*/
|
|
3006
|
+
async search(options) {
|
|
3007
|
+
return this.client._post("/api/v1/dollargeneral/search", options);
|
|
3008
|
+
}
|
|
3009
|
+
/**
|
|
3010
|
+
* One product by UPC at one store: price, original price,
|
|
3011
|
+
* available_quantity, stock_status, nearby_stores_with_stock, rating, review
|
|
3012
|
+
* count, SKU, brand, description, highlights, images, categories, digital
|
|
3013
|
+
* coupons and promotions. An unknown UPC or store number is a 404.
|
|
3014
|
+
*
|
|
3015
|
+
* Costs 1 credit.
|
|
3016
|
+
*/
|
|
3017
|
+
async product(options) {
|
|
3018
|
+
return this.client._post("/api/v1/dollargeneral/product", options);
|
|
3019
|
+
}
|
|
3020
|
+
/**
|
|
3021
|
+
* Dollar General stores near a US ZIP code or coordinates, nearest first (up
|
|
3022
|
+
* to 25): store_id, address, phone, coordinates, distance in miles, opening
|
|
3023
|
+
* hours and services. Pass upc and each store also carries its unit count of
|
|
3024
|
+
* that product.
|
|
3025
|
+
*
|
|
3026
|
+
* Costs 1 credit.
|
|
3027
|
+
*/
|
|
3028
|
+
async stores(options) {
|
|
3029
|
+
return this.client._post("/api/v1/dollargeneral/stores", options);
|
|
3030
|
+
}
|
|
3031
|
+
/**
|
|
3032
|
+
* Products on sale or on clearance, priced and stocked at one store, 24 per
|
|
3033
|
+
* page. available_quantity > 0 means in stock at that store; the listing
|
|
3034
|
+
* covers the whole chain. Clearance items carry the current price only (no
|
|
3035
|
+
* was-price).
|
|
3036
|
+
*
|
|
3037
|
+
* Costs 1 credit.
|
|
3038
|
+
*/
|
|
3039
|
+
async deals(options) {
|
|
3040
|
+
return this.client._post("/api/v1/dollargeneral/deals", options);
|
|
3041
|
+
}
|
|
3042
|
+
/**
|
|
3043
|
+
* Dollar General's current digital coupons, 30 per page: offer id and code,
|
|
3044
|
+
* summary, description, brand, company, value, offer type, category, minimum
|
|
3045
|
+
* quantity, start and expiration dates, and whether it is a manufacturer
|
|
3046
|
+
* coupon.
|
|
3047
|
+
*
|
|
3048
|
+
* Costs 1 credit.
|
|
3049
|
+
*/
|
|
3050
|
+
async coupons(options = {}) {
|
|
3051
|
+
return this.client._post("/api/v1/dollargeneral/coupons", options);
|
|
3052
|
+
}
|
|
3053
|
+
};
|
|
3054
|
+
|
|
2802
3055
|
// src/namespaces/trustpilot.ts
|
|
2803
3056
|
var TrustpilotNamespace = class {
|
|
2804
3057
|
constructor(client) {
|
|
@@ -3314,6 +3567,10 @@ var Scavio = class extends ScavioCore {
|
|
|
3314
3567
|
kroger;
|
|
3315
3568
|
decathlon;
|
|
3316
3569
|
specs;
|
|
3570
|
+
lowes;
|
|
3571
|
+
samsClub;
|
|
3572
|
+
canadianTire;
|
|
3573
|
+
dollarGeneral;
|
|
3317
3574
|
trustpilot;
|
|
3318
3575
|
chatgpt;
|
|
3319
3576
|
gemini;
|
|
@@ -3377,6 +3634,10 @@ var Scavio = class extends ScavioCore {
|
|
|
3377
3634
|
this.kroger = new KrogerNamespace(this);
|
|
3378
3635
|
this.decathlon = new DecathlonNamespace(this);
|
|
3379
3636
|
this.specs = new SpecsNamespace(this);
|
|
3637
|
+
this.lowes = new LowesNamespace(this);
|
|
3638
|
+
this.samsClub = new SamsClubNamespace(this);
|
|
3639
|
+
this.canadianTire = new CanadianTireNamespace(this);
|
|
3640
|
+
this.dollarGeneral = new DollarGeneralNamespace(this);
|
|
3380
3641
|
this.trustpilot = new TrustpilotNamespace(this);
|
|
3381
3642
|
this.chatgpt = new ChatgptNamespace(this);
|
|
3382
3643
|
this.gemini = new GeminiNamespace(this);
|
|
@@ -3491,11 +3752,13 @@ export {
|
|
|
3491
3752
|
AppStoreNamespace,
|
|
3492
3753
|
BadRequestError,
|
|
3493
3754
|
BookingNamespace,
|
|
3755
|
+
CanadianTireNamespace,
|
|
3494
3756
|
CapterraNamespace,
|
|
3495
3757
|
ChatgptNamespace,
|
|
3496
3758
|
CompaniesHouseNamespace,
|
|
3497
3759
|
CostcoNamespace,
|
|
3498
3760
|
DEFAULT_MAX_REQUESTS_PER_SECOND,
|
|
3761
|
+
DollarGeneralNamespace,
|
|
3499
3762
|
EbayNamespace,
|
|
3500
3763
|
ExtractNamespace,
|
|
3501
3764
|
G2Namespace,
|
|
@@ -3513,6 +3776,7 @@ export {
|
|
|
3513
3776
|
KrogerNamespace,
|
|
3514
3777
|
KuaishouNamespace,
|
|
3515
3778
|
LinkedInNamespace,
|
|
3779
|
+
LowesNamespace,
|
|
3516
3780
|
MAX_REQUESTS_PER_SECOND,
|
|
3517
3781
|
MercadoLibreNamespace,
|
|
3518
3782
|
MetaAdsNamespace,
|
|
@@ -3524,6 +3788,7 @@ export {
|
|
|
3524
3788
|
RedfinNamespace,
|
|
3525
3789
|
RightmoveNamespace,
|
|
3526
3790
|
SECNamespace,
|
|
3791
|
+
SamsClubNamespace,
|
|
3527
3792
|
Scavio,
|
|
3528
3793
|
ScavioAPIError,
|
|
3529
3794
|
ScavioConnectionError,
|