@scrapeatlas/cli 0.9.0 → 0.11.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.
Files changed (2) hide show
  1. package/catalog.json +2474 -293
  2. package/package.json +1 -1
package/catalog.json CHANGED
@@ -2958,7 +2958,7 @@
2958
2958
  "coverage": {
2959
2959
  "type": "object",
2960
2960
  "properties": {
2961
- "source": { "type": "string", "const": "public_page" },
2961
+ "source": { "type": "string", "enum": ["public_api", "public_page"] },
2962
2962
  "complete": { "type": "boolean" },
2963
2963
  "warnings": { "type": "array", "items": { "type": "string" } }
2964
2964
  },
@@ -3076,7 +3076,7 @@
3076
3076
  "coverage": {
3077
3077
  "type": "object",
3078
3078
  "properties": {
3079
- "source": { "type": "string", "const": "public_page" },
3079
+ "source": { "type": "string", "enum": ["public_api", "public_page"] },
3080
3080
  "complete": { "type": "boolean" },
3081
3081
  "warnings": { "type": "array", "items": { "type": "string" } }
3082
3082
  },
@@ -3167,7 +3167,7 @@
3167
3167
  "operation": "couchsurfingEvents",
3168
3168
  "method": "GET",
3169
3169
  "path": "/v1/couchsurfing/events",
3170
- "description": "List the upcoming public events embedded in a Couchsurfing location page, together with the location's published summary, statistics and FAQ, and the source total. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
3170
+ "description": "List the upcoming public events of a Couchsurfing location with the location's published summary, statistics and FAQ, filtered by date window and paged with a cursor. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
3171
3171
  "inputSchema": {
3172
3172
  "type": "object",
3173
3173
  "properties": {
@@ -3176,6 +3176,36 @@
3176
3176
  "maxLength": 160,
3177
3177
  "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
3178
3178
  "description": "Required location slug as it appears in couchsurfing.com/c/locations/<slug>, for example berlin-state-of-berlin-germany or tokyo-japan; lowercase letters, digits and single hyphens."
3179
+ },
3180
+ "dateFilter": {
3181
+ "type": "string",
3182
+ "enum": [
3183
+ "any",
3184
+ "happening_now",
3185
+ "today",
3186
+ "tomorrow",
3187
+ "this_weekend",
3188
+ "this_week",
3189
+ "next_7_days",
3190
+ "this_month",
3191
+ "next_30_days"
3192
+ ],
3193
+ "description": "Optional date window: any, happening_now, today, tomorrow, this_weekend, this_week, next_7_days, this_month or next_30_days. Omit for all upcoming events."
3194
+ },
3195
+ "cursor": {
3196
+ "type": "string",
3197
+ "maxLength": 5,
3198
+ "pattern": "^(?:0|[1-9][0-9]{0,4})$",
3199
+ "x-runtime-refinement": true,
3200
+ "description": "Optional pagination cursor: pass nextCursor from the previous response. Omit for the first page."
3201
+ },
3202
+ "limit": {
3203
+ "type": "string",
3204
+ "maxLength": 2,
3205
+ "pattern": "^[1-9][0-9]?$",
3206
+ "x-runtime-refinement": true,
3207
+ "default": "20",
3208
+ "description": "Optional page size from 1 to 50; default 20."
3179
3209
  }
3180
3210
  },
3181
3211
  "required": ["location"],
@@ -3204,7 +3234,7 @@
3204
3234
  "coverage": {
3205
3235
  "type": "object",
3206
3236
  "properties": {
3207
- "source": { "type": "string", "const": "public_page" },
3237
+ "source": { "type": "string", "enum": ["public_api", "public_page"] },
3208
3238
  "complete": { "type": "boolean" },
3209
3239
  "warnings": { "type": "array", "items": { "type": "string" } }
3210
3240
  },
@@ -3226,7 +3256,8 @@
3226
3256
  "maxItems": 100
3227
3257
  },
3228
3258
  "totalCount": { "anyOf": [{ "type": "integer", "minimum": 0 }, { "type": "null" }] },
3229
- "hasNextPage": { "anyOf": [{ "type": "boolean" }, { "type": "null" }] }
3259
+ "hasNextPage": { "anyOf": [{ "type": "boolean" }, { "type": "null" }] },
3260
+ "nextCursor": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
3230
3261
  },
3231
3262
  "required": [
3232
3263
  "requestId",
@@ -3239,7 +3270,8 @@
3239
3270
  "location",
3240
3271
  "events",
3241
3272
  "totalCount",
3242
- "hasNextPage"
3273
+ "hasNextPage",
3274
+ "nextCursor"
3243
3275
  ],
3244
3276
  "additionalProperties": false
3245
3277
  },
@@ -3294,16 +3326,38 @@
3294
3326
  }
3295
3327
  },
3296
3328
  {
3297
- "platform": "depop",
3298
- "action": "filters",
3299
- "operation": "depopFilters",
3329
+ "platform": "couchsurfing",
3330
+ "action": "travelers",
3331
+ "operation": "couchsurfingTravelers",
3300
3332
  "method": "GET",
3301
- "path": "/v1/depop/filters",
3302
- "description": "Return the category tree and attribute vocabularies the search filters accept: departments with their category groups, the product types of every group, and the condition and colour ids with their names, descriptions and swatches. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
3333
+ "path": "/v1/couchsurfing/travelers",
3334
+ "description": "List the members with a public upcoming trip to a Couchsurfing location: member cards plus each trip's title, dates and traveler count, paged with a cursor. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
3303
3335
  "inputSchema": {
3304
3336
  "type": "object",
3305
- "properties": {},
3306
- "required": [],
3337
+ "properties": {
3338
+ "location": {
3339
+ "type": "string",
3340
+ "maxLength": 160,
3341
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
3342
+ "description": "Required location slug, as returned by the locations endpoint."
3343
+ },
3344
+ "cursor": {
3345
+ "type": "string",
3346
+ "maxLength": 5,
3347
+ "pattern": "^(?:0|[1-9][0-9]{0,4})$",
3348
+ "x-runtime-refinement": true,
3349
+ "description": "Optional pagination cursor: pass nextCursor from the previous response. Omit for the first page."
3350
+ },
3351
+ "limit": {
3352
+ "type": "string",
3353
+ "maxLength": 2,
3354
+ "pattern": "^[1-9][0-9]?$",
3355
+ "x-runtime-refinement": true,
3356
+ "default": "10",
3357
+ "description": "Optional page size from 1 to 20; default 10."
3358
+ }
3359
+ },
3360
+ "required": ["location"],
3307
3361
  "additionalProperties": false
3308
3362
  },
3309
3363
  "outputSchema": {
@@ -3329,97 +3383,30 @@
3329
3383
  "coverage": {
3330
3384
  "type": "object",
3331
3385
  "properties": {
3332
- "source": { "type": "string", "const": "public_api" },
3386
+ "source": { "type": "string", "enum": ["public_api", "public_page"] },
3333
3387
  "complete": { "type": "boolean" },
3334
- "warnings": {
3335
- "type": "array",
3336
- "items": {
3337
- "type": "string",
3338
- "enum": [
3339
- "malformed_items_omitted",
3340
- "items_truncated",
3341
- "review_offset_limit",
3342
- "inventory_unavailable",
3343
- "catalog_details_unavailable",
3344
- "extended_details_unavailable",
3345
- "total_count_unknown"
3346
- ]
3347
- }
3348
- }
3388
+ "warnings": { "type": "array", "items": { "type": "string" } }
3349
3389
  },
3350
3390
  "required": ["source", "complete", "warnings"],
3351
3391
  "additionalProperties": false
3352
3392
  },
3353
- "filters": {
3393
+ "location": {
3354
3394
  "type": "object",
3355
- "properties": {
3356
- "departments": {
3357
- "type": "array",
3358
- "items": {
3359
- "type": "object",
3360
- "properties": {
3361
- "id": { "type": "string" },
3362
- "name": { "type": "string" },
3363
- "children": {
3364
- "type": "array",
3365
- "items": {
3366
- "type": "object",
3367
- "properties": {
3368
- "id": { "type": "string" },
3369
- "name": { "type": "string" }
3370
- },
3371
- "required": ["id", "name"],
3372
- "additionalProperties": false
3373
- }
3374
- }
3375
- },
3376
- "required": ["id", "name", "children"],
3377
- "additionalProperties": false
3378
- }
3379
- },
3380
- "groups": {
3381
- "type": "object",
3382
- "propertyNames": { "type": "string" },
3383
- "additionalProperties": {
3384
- "type": "array",
3385
- "items": {
3386
- "type": "object",
3387
- "properties": { "id": { "type": "string" }, "name": { "type": "string" } },
3388
- "required": ["id", "name"],
3389
- "additionalProperties": false
3390
- }
3391
- }
3392
- },
3393
- "conditions": {
3394
- "type": "array",
3395
- "items": {
3396
- "type": "object",
3397
- "properties": {
3398
- "id": { "type": "string" },
3399
- "name": { "type": "string" },
3400
- "description": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
3401
- },
3402
- "required": ["id", "name", "description"],
3403
- "additionalProperties": false
3404
- }
3405
- },
3406
- "colours": {
3407
- "type": "array",
3408
- "items": {
3409
- "type": "object",
3410
- "properties": {
3411
- "id": { "type": "string" },
3412
- "name": { "type": "string" },
3413
- "hex": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
3414
- },
3415
- "required": ["id", "name", "hex"],
3416
- "additionalProperties": false
3417
- }
3418
- }
3395
+ "propertyNames": { "type": "string" },
3396
+ "additionalProperties": {}
3397
+ },
3398
+ "travelers": {
3399
+ "type": "array",
3400
+ "items": {
3401
+ "type": "object",
3402
+ "propertyNames": { "type": "string" },
3403
+ "additionalProperties": {}
3419
3404
  },
3420
- "required": ["departments", "groups", "conditions", "colours"],
3421
- "additionalProperties": false
3422
- }
3405
+ "maxItems": 20
3406
+ },
3407
+ "totalCount": { "anyOf": [{ "type": "integer", "minimum": 0 }, { "type": "null" }] },
3408
+ "hasNextPage": { "anyOf": [{ "type": "boolean" }, { "type": "null" }] },
3409
+ "nextCursor": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
3423
3410
  },
3424
3411
  "required": [
3425
3412
  "requestId",
@@ -3429,7 +3416,11 @@
3429
3416
  "sourceUrl",
3430
3417
  "fetchedAt",
3431
3418
  "coverage",
3432
- "filters"
3419
+ "location",
3420
+ "travelers",
3421
+ "totalCount",
3422
+ "hasNextPage",
3423
+ "nextCursor"
3433
3424
  ],
3434
3425
  "additionalProperties": false
3435
3426
  },
@@ -3455,18 +3446,20 @@
3455
3446
  "code": {
3456
3447
  "type": "string",
3457
3448
  "enum": [
3449
+ "restricted",
3458
3450
  "invalid_request",
3459
3451
  "unauthorized",
3460
3452
  "not_found",
3461
- "restricted",
3462
3453
  "upstream_challenged",
3463
3454
  "upstream_rate_limited",
3464
3455
  "upstream_error",
3465
3456
  "unsupported_page",
3466
3457
  "response_too_large",
3458
+ "unsafe_redirect",
3467
3459
  "request_limit",
3468
3460
  "timeout",
3469
- "busy"
3461
+ "busy",
3462
+ "payload_too_complex"
3470
3463
  ]
3471
3464
  },
3472
3465
  "message": { "type": "string" }
@@ -3482,30 +3475,48 @@
3482
3475
  }
3483
3476
  },
3484
3477
  {
3485
- "platform": "depop",
3486
- "action": "search-suggestions",
3487
- "operation": "depopSearchSuggestions",
3478
+ "platform": "couchsurfing",
3479
+ "action": "hosts",
3480
+ "operation": "couchsurfingHosts",
3488
3481
  "method": "GET",
3489
- "path": "/v1/depop/search/suggestions",
3490
- "description": "Retrieve search suggestions for a partial query, including completed terms and category or gender information. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
3482
+ "path": "/v1/couchsurfing/hosts",
3483
+ "description": "Search the public hosts of a Couchsurfing location with optional sleeping-arrangement, pets, family, wheelchair, smoking and recent-activity filters: member cards with languages, interests, home location and reference counts, paged with a cursor. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
3491
3484
  "inputSchema": {
3492
3485
  "type": "object",
3493
3486
  "properties": {
3494
- "query": {
3487
+ "location": {
3495
3488
  "type": "string",
3496
- "minLength": 1,
3497
- "maxLength": 200,
3498
- "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
3499
- "description": "Partial search text, 1-200 characters."
3489
+ "maxLength": 160,
3490
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
3491
+ "description": "Published location record: id, slug, level, description with country codes, timezone, coordinates and images."
3500
3492
  },
3501
- "country": {
3493
+ "cursor": {
3502
3494
  "type": "string",
3503
- "enum": ["us", "gb", "au", "ca", "nz", "ie", "de", "fr", "it"],
3504
- "default": "us",
3505
- "description": "Market the suggestions are ranked for (default us)."
3506
- }
3495
+ "maxLength": 5,
3496
+ "pattern": "^(?:0|[1-9][0-9]{0,4})$",
3497
+ "x-runtime-refinement": true,
3498
+ "description": "Optional pagination cursor: pass nextCursor from the previous response. Omit for the first page."
3499
+ },
3500
+ "limit": {
3501
+ "type": "string",
3502
+ "maxLength": 2,
3503
+ "pattern": "^[1-9][0-9]?$",
3504
+ "x-runtime-refinement": true,
3505
+ "default": "10",
3506
+ "description": "Optional page size from 1 to 20; default 10."
3507
+ },
3508
+ "sleepingArrangement": {
3509
+ "type": "string",
3510
+ "enum": ["common_area", "private_room", "shared_room", "floor_or_tent", "other"],
3511
+ "description": "Optional: private_room, shared_room, common_area, floor_or_tent or other."
3512
+ },
3513
+ "petsAllowed": { "type": "string", "enum": ["true", "false"] },
3514
+ "familyFriendly": { "type": "string", "enum": ["true", "false"] },
3515
+ "wheelchairAccessible": { "type": "string", "enum": ["true", "false"] },
3516
+ "smokingAllowed": { "type": "string", "enum": ["true", "false"] },
3517
+ "recentlyActive": { "type": "string", "enum": ["true", "false"] }
3507
3518
  },
3508
- "required": ["query"],
3519
+ "required": ["location"],
3509
3520
  "additionalProperties": false
3510
3521
  },
3511
3522
  "outputSchema": {
@@ -3531,48 +3542,30 @@
3531
3542
  "coverage": {
3532
3543
  "type": "object",
3533
3544
  "properties": {
3534
- "source": { "type": "string", "const": "public_api" },
3545
+ "source": { "type": "string", "enum": ["public_api", "public_page"] },
3535
3546
  "complete": { "type": "boolean" },
3536
- "warnings": {
3537
- "type": "array",
3538
- "items": {
3539
- "type": "string",
3540
- "enum": [
3541
- "malformed_items_omitted",
3542
- "items_truncated",
3543
- "review_offset_limit",
3544
- "inventory_unavailable",
3545
- "catalog_details_unavailable",
3546
- "extended_details_unavailable",
3547
- "total_count_unknown"
3548
- ]
3549
- }
3550
- }
3547
+ "warnings": { "type": "array", "items": { "type": "string" } }
3551
3548
  },
3552
3549
  "required": ["source", "complete", "warnings"],
3553
3550
  "additionalProperties": false
3554
3551
  },
3555
- "query": { "type": "string" },
3556
- "country": {
3557
- "type": "string",
3558
- "enum": ["us", "gb", "au", "ca", "nz", "ie", "de", "fr", "it"]
3552
+ "location": {
3553
+ "type": "object",
3554
+ "propertyNames": { "type": "string" },
3555
+ "additionalProperties": {}
3559
3556
  },
3560
- "items": {
3557
+ "hosts": {
3561
3558
  "type": "array",
3562
3559
  "items": {
3563
3560
  "type": "object",
3564
- "properties": {
3565
- "value": { "type": "string" },
3566
- "highlighted": { "type": "string" },
3567
- "group": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
3568
- "gender": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
3569
- "label": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
3570
- },
3571
- "required": ["value", "highlighted", "group", "gender", "label"],
3572
- "additionalProperties": false
3561
+ "propertyNames": { "type": "string" },
3562
+ "additionalProperties": {}
3573
3563
  },
3574
- "maxItems": 10
3575
- }
3564
+ "maxItems": 20
3565
+ },
3566
+ "totalCount": { "anyOf": [{ "type": "integer", "minimum": 0 }, { "type": "null" }] },
3567
+ "hasNextPage": { "anyOf": [{ "type": "boolean" }, { "type": "null" }] },
3568
+ "nextCursor": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
3576
3569
  },
3577
3570
  "required": [
3578
3571
  "requestId",
@@ -3582,9 +3575,11 @@
3582
3575
  "sourceUrl",
3583
3576
  "fetchedAt",
3584
3577
  "coverage",
3585
- "query",
3586
- "country",
3587
- "items"
3578
+ "location",
3579
+ "hosts",
3580
+ "totalCount",
3581
+ "hasNextPage",
3582
+ "nextCursor"
3588
3583
  ],
3589
3584
  "additionalProperties": false
3590
3585
  },
@@ -3610,18 +3605,20 @@
3610
3605
  "code": {
3611
3606
  "type": "string",
3612
3607
  "enum": [
3608
+ "restricted",
3613
3609
  "invalid_request",
3614
3610
  "unauthorized",
3615
3611
  "not_found",
3616
- "restricted",
3617
3612
  "upstream_challenged",
3618
3613
  "upstream_rate_limited",
3619
3614
  "upstream_error",
3620
3615
  "unsupported_page",
3621
3616
  "response_too_large",
3617
+ "unsafe_redirect",
3622
3618
  "request_limit",
3623
3619
  "timeout",
3624
- "busy"
3620
+ "busy",
3621
+ "payload_too_complex"
3625
3622
  ]
3626
3623
  },
3627
3624
  "message": { "type": "string" }
@@ -3637,36 +3634,522 @@
3637
3634
  }
3638
3635
  },
3639
3636
  {
3640
- "platform": "depop",
3641
- "action": "product",
3642
- "operation": "depopProduct",
3637
+ "platform": "couchsurfing",
3638
+ "action": "locations",
3639
+ "operation": "couchsurfingLocations",
3643
3640
  "method": "GET",
3644
- "path": "/v1/depop/product",
3645
- "description": "Retrieve a listing by ID, slug or URL with seller details, prices and fee components, shipping promotions and confidence, image formats, size availability, material and style attributes, seller reviews and activity. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
3641
+ "path": "/v1/couchsurfing/locations",
3642
+ "description": "Search Couchsurfing cities, regions and countries by name and get the location slugs used by the events, hosts and travelers endpoints, ranked by relevance. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
3646
3643
  "inputSchema": {
3647
3644
  "type": "object",
3648
3645
  "properties": {
3649
- "id": {
3646
+ "query": {
3650
3647
  "type": "string",
3651
- "pattern": "^[1-9][0-9]{0,15}$",
3652
- "description": "Numeric product ID; provide exactly one of id, slug or url."
3648
+ "minLength": 2,
3649
+ "maxLength": 100,
3650
+ "description": "Required place name, 2 to 100 characters."
3653
3651
  },
3654
- "slug": {
3652
+ "cursor": {
3655
3653
  "type": "string",
3656
- "pattern": "^[a-z0-9_]+(?:-[a-z0-9_]+)*$",
3657
- "maxLength": 200,
3658
- "description": "URL slug from depop.com/products/{slug}/ (lowercase letters, digits and hyphens)."
3654
+ "maxLength": 5,
3655
+ "pattern": "^(?:0|[1-9][0-9]{0,4})$",
3656
+ "x-runtime-refinement": true,
3657
+ "description": "Optional pagination cursor: pass nextCursor from the previous response. Omit for the first page."
3659
3658
  },
3660
- "url": {
3659
+ "limit": {
3661
3660
  "type": "string",
3662
- "maxLength": 2048,
3661
+ "maxLength": 2,
3662
+ "pattern": "^[1-9][0-9]?$",
3663
3663
  "x-runtime-refinement": true,
3664
- "description": "Full product URL: https://www.depop.com/products/{slug}/."
3664
+ "default": "10",
3665
+ "description": "Optional page size from 1 to 50; default 10."
3665
3666
  }
3666
3667
  },
3667
- "required": [],
3668
- "additionalProperties": false,
3669
- "x-runtime-refinement": true
3668
+ "required": ["query"],
3669
+ "additionalProperties": false
3670
+ },
3671
+ "outputSchema": {
3672
+ "anyOf": [
3673
+ {
3674
+ "type": "object",
3675
+ "properties": {
3676
+ "requestId": { "type": "string", "format": "uuid" },
3677
+ "accounting": {
3678
+ "type": "object",
3679
+ "properties": {
3680
+ "upstreamRequests": { "type": "integer", "minimum": 0 },
3681
+ "responseBytes": { "type": "integer", "minimum": 0 },
3682
+ "durationMs": { "type": "number", "minimum": 0 }
3683
+ },
3684
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
3685
+ "additionalProperties": false
3686
+ },
3687
+ "success": { "type": "boolean", "const": true },
3688
+ "status": { "type": "string", "enum": ["success", "partial"] },
3689
+ "sourceUrl": { "type": "string", "format": "uri" },
3690
+ "fetchedAt": { "type": "string", "format": "date-time" },
3691
+ "coverage": {
3692
+ "type": "object",
3693
+ "properties": {
3694
+ "source": { "type": "string", "enum": ["public_api", "public_page"] },
3695
+ "complete": { "type": "boolean" },
3696
+ "warnings": { "type": "array", "items": { "type": "string" } }
3697
+ },
3698
+ "required": ["source", "complete", "warnings"],
3699
+ "additionalProperties": false
3700
+ },
3701
+ "locations": {
3702
+ "type": "array",
3703
+ "items": {
3704
+ "type": "object",
3705
+ "propertyNames": { "type": "string" },
3706
+ "additionalProperties": {}
3707
+ },
3708
+ "maxItems": 50
3709
+ },
3710
+ "totalCount": { "anyOf": [{ "type": "integer", "minimum": 0 }, { "type": "null" }] },
3711
+ "hasNextPage": { "anyOf": [{ "type": "boolean" }, { "type": "null" }] },
3712
+ "nextCursor": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
3713
+ },
3714
+ "required": [
3715
+ "requestId",
3716
+ "accounting",
3717
+ "success",
3718
+ "status",
3719
+ "sourceUrl",
3720
+ "fetchedAt",
3721
+ "coverage",
3722
+ "locations",
3723
+ "totalCount",
3724
+ "hasNextPage",
3725
+ "nextCursor"
3726
+ ],
3727
+ "additionalProperties": false
3728
+ },
3729
+ {
3730
+ "type": "object",
3731
+ "properties": {
3732
+ "requestId": { "type": "string", "format": "uuid" },
3733
+ "accounting": {
3734
+ "type": "object",
3735
+ "properties": {
3736
+ "upstreamRequests": { "type": "integer", "minimum": 0 },
3737
+ "responseBytes": { "type": "integer", "minimum": 0 },
3738
+ "durationMs": { "type": "number", "minimum": 0 }
3739
+ },
3740
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
3741
+ "additionalProperties": false
3742
+ },
3743
+ "success": { "type": "boolean", "const": false },
3744
+ "status": { "type": "string", "enum": ["failed", "challenged"] },
3745
+ "failure": {
3746
+ "type": "object",
3747
+ "properties": {
3748
+ "code": {
3749
+ "type": "string",
3750
+ "enum": [
3751
+ "restricted",
3752
+ "invalid_request",
3753
+ "unauthorized",
3754
+ "not_found",
3755
+ "upstream_challenged",
3756
+ "upstream_rate_limited",
3757
+ "upstream_error",
3758
+ "unsupported_page",
3759
+ "response_too_large",
3760
+ "unsafe_redirect",
3761
+ "request_limit",
3762
+ "timeout",
3763
+ "busy",
3764
+ "payload_too_complex"
3765
+ ]
3766
+ },
3767
+ "message": { "type": "string" }
3768
+ },
3769
+ "required": ["code", "message"],
3770
+ "additionalProperties": false
3771
+ }
3772
+ },
3773
+ "required": ["requestId", "accounting", "success", "status", "failure"],
3774
+ "additionalProperties": false
3775
+ }
3776
+ ]
3777
+ }
3778
+ },
3779
+ {
3780
+ "platform": "depop",
3781
+ "action": "filters",
3782
+ "operation": "depopFilters",
3783
+ "method": "GET",
3784
+ "path": "/v1/depop/filters",
3785
+ "description": "Return the category tree and attribute vocabularies the search filters accept: departments with their category groups, the product types of every group, and the condition and colour ids with their names, descriptions and swatches. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
3786
+ "inputSchema": {
3787
+ "type": "object",
3788
+ "properties": {},
3789
+ "required": [],
3790
+ "additionalProperties": false
3791
+ },
3792
+ "outputSchema": {
3793
+ "anyOf": [
3794
+ {
3795
+ "type": "object",
3796
+ "properties": {
3797
+ "requestId": { "type": "string", "format": "uuid" },
3798
+ "accounting": {
3799
+ "type": "object",
3800
+ "properties": {
3801
+ "upstreamRequests": { "type": "integer", "minimum": 0 },
3802
+ "responseBytes": { "type": "integer", "minimum": 0 },
3803
+ "durationMs": { "type": "number", "minimum": 0 }
3804
+ },
3805
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
3806
+ "additionalProperties": false
3807
+ },
3808
+ "success": { "type": "boolean", "const": true },
3809
+ "status": { "type": "string", "enum": ["success", "partial"] },
3810
+ "sourceUrl": { "type": "string", "format": "uri" },
3811
+ "fetchedAt": { "type": "string", "format": "date-time" },
3812
+ "coverage": {
3813
+ "type": "object",
3814
+ "properties": {
3815
+ "source": { "type": "string", "const": "public_api" },
3816
+ "complete": { "type": "boolean" },
3817
+ "warnings": {
3818
+ "type": "array",
3819
+ "items": {
3820
+ "type": "string",
3821
+ "enum": [
3822
+ "malformed_items_omitted",
3823
+ "items_truncated",
3824
+ "review_offset_limit",
3825
+ "inventory_unavailable",
3826
+ "catalog_details_unavailable",
3827
+ "extended_details_unavailable",
3828
+ "total_count_unknown"
3829
+ ]
3830
+ }
3831
+ }
3832
+ },
3833
+ "required": ["source", "complete", "warnings"],
3834
+ "additionalProperties": false
3835
+ },
3836
+ "filters": {
3837
+ "type": "object",
3838
+ "properties": {
3839
+ "departments": {
3840
+ "type": "array",
3841
+ "items": {
3842
+ "type": "object",
3843
+ "properties": {
3844
+ "id": { "type": "string" },
3845
+ "name": { "type": "string" },
3846
+ "children": {
3847
+ "type": "array",
3848
+ "items": {
3849
+ "type": "object",
3850
+ "properties": {
3851
+ "id": { "type": "string" },
3852
+ "name": { "type": "string" }
3853
+ },
3854
+ "required": ["id", "name"],
3855
+ "additionalProperties": false
3856
+ }
3857
+ }
3858
+ },
3859
+ "required": ["id", "name", "children"],
3860
+ "additionalProperties": false
3861
+ }
3862
+ },
3863
+ "groups": {
3864
+ "type": "object",
3865
+ "propertyNames": { "type": "string" },
3866
+ "additionalProperties": {
3867
+ "type": "array",
3868
+ "items": {
3869
+ "type": "object",
3870
+ "properties": { "id": { "type": "string" }, "name": { "type": "string" } },
3871
+ "required": ["id", "name"],
3872
+ "additionalProperties": false
3873
+ }
3874
+ }
3875
+ },
3876
+ "conditions": {
3877
+ "type": "array",
3878
+ "items": {
3879
+ "type": "object",
3880
+ "properties": {
3881
+ "id": { "type": "string" },
3882
+ "name": { "type": "string" },
3883
+ "description": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
3884
+ },
3885
+ "required": ["id", "name", "description"],
3886
+ "additionalProperties": false
3887
+ }
3888
+ },
3889
+ "colours": {
3890
+ "type": "array",
3891
+ "items": {
3892
+ "type": "object",
3893
+ "properties": {
3894
+ "id": { "type": "string" },
3895
+ "name": { "type": "string" },
3896
+ "hex": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
3897
+ },
3898
+ "required": ["id", "name", "hex"],
3899
+ "additionalProperties": false
3900
+ }
3901
+ }
3902
+ },
3903
+ "required": ["departments", "groups", "conditions", "colours"],
3904
+ "additionalProperties": false
3905
+ }
3906
+ },
3907
+ "required": [
3908
+ "requestId",
3909
+ "accounting",
3910
+ "success",
3911
+ "status",
3912
+ "sourceUrl",
3913
+ "fetchedAt",
3914
+ "coverage",
3915
+ "filters"
3916
+ ],
3917
+ "additionalProperties": false
3918
+ },
3919
+ {
3920
+ "type": "object",
3921
+ "properties": {
3922
+ "requestId": { "type": "string", "format": "uuid" },
3923
+ "accounting": {
3924
+ "type": "object",
3925
+ "properties": {
3926
+ "upstreamRequests": { "type": "integer", "minimum": 0 },
3927
+ "responseBytes": { "type": "integer", "minimum": 0 },
3928
+ "durationMs": { "type": "number", "minimum": 0 }
3929
+ },
3930
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
3931
+ "additionalProperties": false
3932
+ },
3933
+ "success": { "type": "boolean", "const": false },
3934
+ "status": { "type": "string", "enum": ["failed", "challenged"] },
3935
+ "failure": {
3936
+ "type": "object",
3937
+ "properties": {
3938
+ "code": {
3939
+ "type": "string",
3940
+ "enum": [
3941
+ "invalid_request",
3942
+ "unauthorized",
3943
+ "not_found",
3944
+ "restricted",
3945
+ "upstream_challenged",
3946
+ "upstream_rate_limited",
3947
+ "upstream_error",
3948
+ "unsupported_page",
3949
+ "response_too_large",
3950
+ "request_limit",
3951
+ "timeout",
3952
+ "busy"
3953
+ ]
3954
+ },
3955
+ "message": { "type": "string" }
3956
+ },
3957
+ "required": ["code", "message"],
3958
+ "additionalProperties": false
3959
+ }
3960
+ },
3961
+ "required": ["requestId", "accounting", "success", "status", "failure"],
3962
+ "additionalProperties": false
3963
+ }
3964
+ ]
3965
+ }
3966
+ },
3967
+ {
3968
+ "platform": "depop",
3969
+ "action": "search-suggestions",
3970
+ "operation": "depopSearchSuggestions",
3971
+ "method": "GET",
3972
+ "path": "/v1/depop/search/suggestions",
3973
+ "description": "Retrieve search suggestions for a partial query, including completed terms and category or gender information. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
3974
+ "inputSchema": {
3975
+ "type": "object",
3976
+ "properties": {
3977
+ "query": {
3978
+ "type": "string",
3979
+ "minLength": 1,
3980
+ "maxLength": 200,
3981
+ "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
3982
+ "description": "Partial search text, 1-200 characters."
3983
+ },
3984
+ "country": {
3985
+ "type": "string",
3986
+ "enum": ["us", "gb", "au", "ca", "nz", "ie", "de", "fr", "it"],
3987
+ "default": "us",
3988
+ "description": "Market the suggestions are ranked for (default us)."
3989
+ }
3990
+ },
3991
+ "required": ["query"],
3992
+ "additionalProperties": false
3993
+ },
3994
+ "outputSchema": {
3995
+ "anyOf": [
3996
+ {
3997
+ "type": "object",
3998
+ "properties": {
3999
+ "requestId": { "type": "string", "format": "uuid" },
4000
+ "accounting": {
4001
+ "type": "object",
4002
+ "properties": {
4003
+ "upstreamRequests": { "type": "integer", "minimum": 0 },
4004
+ "responseBytes": { "type": "integer", "minimum": 0 },
4005
+ "durationMs": { "type": "number", "minimum": 0 }
4006
+ },
4007
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
4008
+ "additionalProperties": false
4009
+ },
4010
+ "success": { "type": "boolean", "const": true },
4011
+ "status": { "type": "string", "enum": ["success", "partial"] },
4012
+ "sourceUrl": { "type": "string", "format": "uri" },
4013
+ "fetchedAt": { "type": "string", "format": "date-time" },
4014
+ "coverage": {
4015
+ "type": "object",
4016
+ "properties": {
4017
+ "source": { "type": "string", "const": "public_api" },
4018
+ "complete": { "type": "boolean" },
4019
+ "warnings": {
4020
+ "type": "array",
4021
+ "items": {
4022
+ "type": "string",
4023
+ "enum": [
4024
+ "malformed_items_omitted",
4025
+ "items_truncated",
4026
+ "review_offset_limit",
4027
+ "inventory_unavailable",
4028
+ "catalog_details_unavailable",
4029
+ "extended_details_unavailable",
4030
+ "total_count_unknown"
4031
+ ]
4032
+ }
4033
+ }
4034
+ },
4035
+ "required": ["source", "complete", "warnings"],
4036
+ "additionalProperties": false
4037
+ },
4038
+ "query": { "type": "string" },
4039
+ "country": {
4040
+ "type": "string",
4041
+ "enum": ["us", "gb", "au", "ca", "nz", "ie", "de", "fr", "it"]
4042
+ },
4043
+ "items": {
4044
+ "type": "array",
4045
+ "items": {
4046
+ "type": "object",
4047
+ "properties": {
4048
+ "value": { "type": "string" },
4049
+ "highlighted": { "type": "string" },
4050
+ "group": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
4051
+ "gender": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
4052
+ "label": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
4053
+ },
4054
+ "required": ["value", "highlighted", "group", "gender", "label"],
4055
+ "additionalProperties": false
4056
+ },
4057
+ "maxItems": 10
4058
+ }
4059
+ },
4060
+ "required": [
4061
+ "requestId",
4062
+ "accounting",
4063
+ "success",
4064
+ "status",
4065
+ "sourceUrl",
4066
+ "fetchedAt",
4067
+ "coverage",
4068
+ "query",
4069
+ "country",
4070
+ "items"
4071
+ ],
4072
+ "additionalProperties": false
4073
+ },
4074
+ {
4075
+ "type": "object",
4076
+ "properties": {
4077
+ "requestId": { "type": "string", "format": "uuid" },
4078
+ "accounting": {
4079
+ "type": "object",
4080
+ "properties": {
4081
+ "upstreamRequests": { "type": "integer", "minimum": 0 },
4082
+ "responseBytes": { "type": "integer", "minimum": 0 },
4083
+ "durationMs": { "type": "number", "minimum": 0 }
4084
+ },
4085
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
4086
+ "additionalProperties": false
4087
+ },
4088
+ "success": { "type": "boolean", "const": false },
4089
+ "status": { "type": "string", "enum": ["failed", "challenged"] },
4090
+ "failure": {
4091
+ "type": "object",
4092
+ "properties": {
4093
+ "code": {
4094
+ "type": "string",
4095
+ "enum": [
4096
+ "invalid_request",
4097
+ "unauthorized",
4098
+ "not_found",
4099
+ "restricted",
4100
+ "upstream_challenged",
4101
+ "upstream_rate_limited",
4102
+ "upstream_error",
4103
+ "unsupported_page",
4104
+ "response_too_large",
4105
+ "request_limit",
4106
+ "timeout",
4107
+ "busy"
4108
+ ]
4109
+ },
4110
+ "message": { "type": "string" }
4111
+ },
4112
+ "required": ["code", "message"],
4113
+ "additionalProperties": false
4114
+ }
4115
+ },
4116
+ "required": ["requestId", "accounting", "success", "status", "failure"],
4117
+ "additionalProperties": false
4118
+ }
4119
+ ]
4120
+ }
4121
+ },
4122
+ {
4123
+ "platform": "depop",
4124
+ "action": "product",
4125
+ "operation": "depopProduct",
4126
+ "method": "GET",
4127
+ "path": "/v1/depop/product",
4128
+ "description": "Retrieve a listing by ID, slug or URL with seller details, prices and fee components, shipping promotions and confidence, image formats, size availability, material and style attributes, seller reviews and activity. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
4129
+ "inputSchema": {
4130
+ "type": "object",
4131
+ "properties": {
4132
+ "id": {
4133
+ "type": "string",
4134
+ "pattern": "^[1-9][0-9]{0,15}$",
4135
+ "description": "Numeric product ID; provide exactly one of id, slug or url."
4136
+ },
4137
+ "slug": {
4138
+ "type": "string",
4139
+ "pattern": "^[a-z0-9_]+(?:-[a-z0-9_]+)*$",
4140
+ "maxLength": 200,
4141
+ "description": "URL slug from depop.com/products/{slug}/ (lowercase letters, digits and hyphens)."
4142
+ },
4143
+ "url": {
4144
+ "type": "string",
4145
+ "maxLength": 2048,
4146
+ "x-runtime-refinement": true,
4147
+ "description": "Full product URL: https://www.depop.com/products/{slug}/."
4148
+ }
4149
+ },
4150
+ "required": [],
4151
+ "additionalProperties": false,
4152
+ "x-runtime-refinement": true
3670
4153
  },
3671
4154
  "outputSchema": {
3672
4155
  "anyOf": [
@@ -10266,13 +10749,233 @@
10266
10749
  ]
10267
10750
  }
10268
10751
  },
10752
+ {
10753
+ "platform": "facebook-marketplace",
10754
+ "action": "category",
10755
+ "operation": "facebookMarketplaceCategory",
10756
+ "method": "GET",
10757
+ "path": "/v1/facebook/marketplace/category",
10758
+ "description": "Browse the public listings of one Marketplace category at explicit coordinates, without a keyword, with price, condition, delivery, date, availability and sorting filters. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
10759
+ "inputSchema": {
10760
+ "type": "object",
10761
+ "properties": {
10762
+ "lat": {
10763
+ "type": "string",
10764
+ "maxLength": 32,
10765
+ "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
10766
+ "x-runtime-refinement": true,
10767
+ "description": "Search latitude, -90 to 90."
10768
+ },
10769
+ "lng": {
10770
+ "type": "string",
10771
+ "maxLength": 32,
10772
+ "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
10773
+ "x-runtime-refinement": true,
10774
+ "description": "Search longitude, -180 to 180."
10775
+ },
10776
+ "radius_km": {
10777
+ "type": "string",
10778
+ "maxLength": 32,
10779
+ "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
10780
+ "x-runtime-refinement": true,
10781
+ "description": "Search radius, 0–500 kilometers; default 50."
10782
+ },
10783
+ "min_price": {
10784
+ "type": "string",
10785
+ "maxLength": 32,
10786
+ "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
10787
+ "x-runtime-refinement": true,
10788
+ "description": "Minimum price in major currency units, at most max_price."
10789
+ },
10790
+ "max_price": {
10791
+ "type": "string",
10792
+ "maxLength": 32,
10793
+ "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
10794
+ "x-runtime-refinement": true,
10795
+ "description": "Maximum price in major currency units."
10796
+ },
10797
+ "count": {
10798
+ "type": "string",
10799
+ "pattern": "^[1-9]\\d{0,2}$",
10800
+ "x-runtime-refinement": true,
10801
+ "description": "Marketplace result count, 1–100."
10802
+ },
10803
+ "sort_by": {
10804
+ "type": "string",
10805
+ "enum": [
10806
+ "suggested",
10807
+ "distance_ascend",
10808
+ "creation_time_descend",
10809
+ "price_ascend",
10810
+ "price_descend"
10811
+ ],
10812
+ "description": "Native group or Marketplace ordering. See the enumerated request schema."
10813
+ },
10814
+ "delivery_method": {
10815
+ "type": "string",
10816
+ "enum": ["all", "local_pickup", "shipping"],
10817
+ "description": "all, local_pickup or shipping."
10818
+ },
10819
+ "condition": {
10820
+ "type": "string",
10821
+ "enum": ["new", "used_like_new", "used_good", "used_fair"],
10822
+ "description": "new, used_like_new, used_good or used_fair."
10823
+ },
10824
+ "date_listed": {
10825
+ "type": "string",
10826
+ "enum": ["all", "1", "7", "30", "last_24_hours", "last_7_days", "last_30_days"],
10827
+ "description": "all, 1, 7, 30, last_24_hours, last_7_days or last_30_days."
10828
+ },
10829
+ "availability": {
10830
+ "type": "string",
10831
+ "enum": ["available", "sold", "all"],
10832
+ "description": "available, sold or all."
10833
+ },
10834
+ "cursor": {
10835
+ "type": "string",
10836
+ "minLength": 1,
10837
+ "maxLength": 16000,
10838
+ "description": "Opaque continuation from this service. Preserve it exactly; cursors are source- and route-specific."
10839
+ },
10840
+ "slug": {
10841
+ "type": "string",
10842
+ "maxLength": 96,
10843
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
10844
+ "description": "Category slug from the category list, for example cell-phones: lowercase letters, digits and hyphens, at most 96 characters."
10845
+ }
10846
+ },
10847
+ "required": ["lat", "lng", "slug"],
10848
+ "additionalProperties": false,
10849
+ "x-runtime-refinement": true
10850
+ },
10851
+ "outputSchema": {
10852
+ "anyOf": [
10853
+ {
10854
+ "type": "object",
10855
+ "properties": {
10856
+ "data": {
10857
+ "type": "object",
10858
+ "propertyNames": { "type": "string" },
10859
+ "additionalProperties": {}
10860
+ },
10861
+ "hydration": {
10862
+ "type": "object",
10863
+ "properties": {
10864
+ "total": { "type": "integer" },
10865
+ "enriched": { "type": "integer" },
10866
+ "failed": { "type": "integer" }
10867
+ },
10868
+ "required": ["total", "enriched", "failed"],
10869
+ "additionalProperties": false
10870
+ },
10871
+ "success": { "type": "boolean", "const": true },
10872
+ "status": { "type": "string", "enum": ["success", "partial"] },
10873
+ "requestId": { "type": "string", "format": "uuid" },
10874
+ "sourceUrl": { "type": "string", "format": "uri" },
10875
+ "fetchedAt": { "type": "string", "format": "date-time" },
10876
+ "coverage": {
10877
+ "type": "object",
10878
+ "properties": {
10879
+ "source": { "type": "string", "const": "public_web" },
10880
+ "complete": { "type": "boolean" },
10881
+ "warnings": { "type": "array", "items": { "type": "string" } }
10882
+ },
10883
+ "required": ["source", "complete", "warnings"],
10884
+ "additionalProperties": false
10885
+ },
10886
+ "accounting": {
10887
+ "type": "object",
10888
+ "properties": {
10889
+ "upstreamRequests": { "type": "integer", "minimum": 0 },
10890
+ "responseBytes": { "type": "integer", "minimum": 0 },
10891
+ "durationMs": { "type": "integer", "minimum": 0 }
10892
+ },
10893
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
10894
+ "additionalProperties": false
10895
+ },
10896
+ "listings": {
10897
+ "type": "array",
10898
+ "items": {
10899
+ "type": "object",
10900
+ "propertyNames": { "type": "string" },
10901
+ "additionalProperties": {}
10902
+ },
10903
+ "maxItems": 100
10904
+ },
10905
+ "cursor": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
10906
+ "has_next_page": { "type": "boolean" }
10907
+ },
10908
+ "required": [
10909
+ "success",
10910
+ "status",
10911
+ "requestId",
10912
+ "sourceUrl",
10913
+ "fetchedAt",
10914
+ "coverage",
10915
+ "accounting",
10916
+ "listings",
10917
+ "cursor",
10918
+ "has_next_page"
10919
+ ],
10920
+ "additionalProperties": false
10921
+ },
10922
+ {
10923
+ "type": "object",
10924
+ "properties": {
10925
+ "success": { "type": "boolean", "const": false },
10926
+ "status": { "type": "string", "enum": ["failed", "challenged"] },
10927
+ "requestId": { "type": "string", "format": "uuid" },
10928
+ "failure": {
10929
+ "type": "object",
10930
+ "properties": {
10931
+ "code": {
10932
+ "type": "string",
10933
+ "enum": [
10934
+ "invalid_request",
10935
+ "unauthorized",
10936
+ "not_found",
10937
+ "restricted_page",
10938
+ "upstream_challenged",
10939
+ "upstream_rate_limited",
10940
+ "upstream_error",
10941
+ "unsupported_page",
10942
+ "response_too_large",
10943
+ "unsafe_redirect",
10944
+ "request_limit",
10945
+ "timeout",
10946
+ "payload_too_complex",
10947
+ "busy"
10948
+ ]
10949
+ },
10950
+ "message": { "type": "string" }
10951
+ },
10952
+ "required": ["code", "message"],
10953
+ "additionalProperties": false
10954
+ },
10955
+ "accounting": {
10956
+ "type": "object",
10957
+ "properties": {
10958
+ "upstreamRequests": { "type": "integer", "minimum": 0 },
10959
+ "responseBytes": { "type": "integer", "minimum": 0 },
10960
+ "durationMs": { "type": "integer", "minimum": 0 }
10961
+ },
10962
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
10963
+ "additionalProperties": false
10964
+ }
10965
+ },
10966
+ "required": ["success", "status", "requestId", "failure", "accounting"],
10967
+ "additionalProperties": false
10968
+ }
10969
+ ]
10970
+ }
10971
+ },
10269
10972
  {
10270
10973
  "platform": "facebook-marketplace",
10271
10974
  "action": "item",
10272
10975
  "operation": "facebookMarketplaceItem",
10273
10976
  "method": "GET",
10274
10977
  "path": "/v1/facebook/marketplace/item",
10275
- "description": "Retrieve one public listing with price, description, attributes, photos, seller fields and availability flags. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
10978
+ "description": "Retrieve one public listing with price, description, condition, category, attributes, photos, videos, hashtags and availability flags. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
10276
10979
  "inputSchema": {
10277
10980
  "type": "object",
10278
10981
  "properties": {
@@ -10337,6 +11040,24 @@
10337
11040
  ]
10338
11041
  },
10339
11042
  "category_id": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
11043
+ "category_name": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
11044
+ "category_path": {
11045
+ "type": "array",
11046
+ "items": {
11047
+ "type": "object",
11048
+ "properties": {
11049
+ "name": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
11050
+ "slug": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
11051
+ },
11052
+ "required": ["name", "slug"],
11053
+ "additionalProperties": false
11054
+ },
11055
+ "maxItems": 16
11056
+ },
11057
+ "condition": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
11058
+ "inventory_type": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
11059
+ "inventory_count": { "anyOf": [{ "type": "number" }, { "type": "null" }] },
11060
+ "hashtags": { "type": "array", "items": { "type": "string" }, "maxItems": 100 },
10340
11061
  "attributes": {
10341
11062
  "type": "array",
10342
11063
  "items": {
@@ -10355,6 +11076,19 @@
10355
11076
  },
10356
11077
  "maxItems": 100
10357
11078
  },
11079
+ "videos": {
11080
+ "type": "array",
11081
+ "items": {
11082
+ "type": "object",
11083
+ "properties": {
11084
+ "id": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
11085
+ "url": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
11086
+ },
11087
+ "required": ["id", "url"],
11088
+ "additionalProperties": false
11089
+ },
11090
+ "maxItems": 100
11091
+ },
10358
11092
  "is_hidden": { "anyOf": [{ "type": "boolean" }, { "type": "null" }] },
10359
11093
  "is_live": { "anyOf": [{ "type": "boolean" }, { "type": "null" }] },
10360
11094
  "is_pending": { "anyOf": [{ "type": "boolean" }, { "type": "null" }] },
@@ -10429,8 +11163,15 @@
10429
11163
  "price",
10430
11164
  "strikethrough_price",
10431
11165
  "category_id",
11166
+ "category_name",
11167
+ "category_path",
11168
+ "condition",
11169
+ "inventory_type",
11170
+ "inventory_count",
11171
+ "hashtags",
10432
11172
  "attributes",
10433
11173
  "photos",
11174
+ "videos",
10434
11175
  "is_hidden",
10435
11176
  "is_live",
10436
11177
  "is_pending",
@@ -10508,7 +11249,7 @@
10508
11249
  "operation": "facebookMarketplaceItems",
10509
11250
  "method": "GET",
10510
11251
  "path": "/v1/facebook/marketplace/items",
10511
- "description": "Retrieve one public listing with price, description, attributes, photos, seller fields and availability flags. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
11252
+ "description": "Retrieve one public listing with price, description, condition, category, attributes, photos, videos, hashtags and availability flags. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
10512
11253
  "inputSchema": {
10513
11254
  "type": "object",
10514
11255
  "properties": {
@@ -10638,23 +11379,21 @@
10638
11379
  },
10639
11380
  {
10640
11381
  "platform": "facebook-marketplace",
10641
- "action": "location-search",
10642
- "operation": "facebookMarketplaceLocationSearch",
11382
+ "action": "categories",
11383
+ "operation": "facebookMarketplaceCategories",
10643
11384
  "method": "GET",
10644
- "path": "/v1/facebook/marketplace/location/search",
10645
- "description": "Resolve a city or location query into public Marketplace search coordinates. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
11385
+ "path": "/v1/facebook/marketplace/categories",
11386
+ "description": "List the top-level Marketplace categories, or the children of one category, with the slug used to browse each category. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
10646
11387
  "inputSchema": {
10647
11388
  "type": "object",
10648
11389
  "properties": {
10649
- "query": {
11390
+ "parent_id": {
10650
11391
  "type": "string",
10651
- "minLength": 1,
10652
- "maxLength": 512,
10653
- "x-runtime-refinement": true,
10654
- "description": "Public keyword/location query, 1–512 characters."
11392
+ "pattern": "^\\d{1,32}$",
11393
+ "description": "Numeric category ID from a previous response. Omit for the top-level categories; send to list that category's children."
10655
11394
  }
10656
11395
  },
10657
- "required": ["query"],
11396
+ "required": [],
10658
11397
  "additionalProperties": false
10659
11398
  },
10660
11399
  "outputSchema": {
@@ -10702,15 +11441,25 @@
10702
11441
  "required": ["upstreamRequests", "responseBytes", "durationMs"],
10703
11442
  "additionalProperties": false
10704
11443
  },
10705
- "locations": {
11444
+ "categories": {
10706
11445
  "type": "array",
10707
11446
  "items": {
10708
11447
  "type": "object",
10709
- "propertyNames": { "type": "string" },
10710
- "additionalProperties": {}
11448
+ "properties": {
11449
+ "id": { "type": "string" },
11450
+ "name": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
11451
+ "slug": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
11452
+ "url": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
11453
+ "parent_id": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
11454
+ "level": { "type": "integer" },
11455
+ "children_count": { "type": "integer" }
11456
+ },
11457
+ "required": ["id", "name", "slug", "url", "parent_id", "level", "children_count"],
11458
+ "additionalProperties": false
10711
11459
  },
10712
- "maxItems": 100
10713
- }
11460
+ "maxItems": 1000
11461
+ },
11462
+ "total_count": { "type": "integer" }
10714
11463
  },
10715
11464
  "required": [
10716
11465
  "success",
@@ -10720,7 +11469,8 @@
10720
11469
  "fetchedAt",
10721
11470
  "coverage",
10722
11471
  "accounting",
10723
- "locations"
11472
+ "categories",
11473
+ "total_count"
10724
11474
  ],
10725
11475
  "additionalProperties": false
10726
11476
  },
@@ -10776,10 +11526,148 @@
10776
11526
  },
10777
11527
  {
10778
11528
  "platform": "facebook-marketplace",
10779
- "action": "locations-search",
10780
- "operation": "facebookMarketplaceLocationsSearch",
11529
+ "action": "location-search",
11530
+ "operation": "facebookMarketplaceLocationSearch",
10781
11531
  "method": "GET",
10782
- "path": "/v1/facebook/marketplace/locations/search",
11532
+ "path": "/v1/facebook/marketplace/location/search",
11533
+ "description": "Resolve a city or location query into public Marketplace search coordinates. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
11534
+ "inputSchema": {
11535
+ "type": "object",
11536
+ "properties": {
11537
+ "query": {
11538
+ "type": "string",
11539
+ "minLength": 1,
11540
+ "maxLength": 512,
11541
+ "x-runtime-refinement": true,
11542
+ "description": "Public keyword/location query, 1–512 characters."
11543
+ }
11544
+ },
11545
+ "required": ["query"],
11546
+ "additionalProperties": false
11547
+ },
11548
+ "outputSchema": {
11549
+ "anyOf": [
11550
+ {
11551
+ "type": "object",
11552
+ "properties": {
11553
+ "data": {
11554
+ "type": "object",
11555
+ "propertyNames": { "type": "string" },
11556
+ "additionalProperties": {}
11557
+ },
11558
+ "hydration": {
11559
+ "type": "object",
11560
+ "properties": {
11561
+ "total": { "type": "integer" },
11562
+ "enriched": { "type": "integer" },
11563
+ "failed": { "type": "integer" }
11564
+ },
11565
+ "required": ["total", "enriched", "failed"],
11566
+ "additionalProperties": false
11567
+ },
11568
+ "success": { "type": "boolean", "const": true },
11569
+ "status": { "type": "string", "enum": ["success", "partial"] },
11570
+ "requestId": { "type": "string", "format": "uuid" },
11571
+ "sourceUrl": { "type": "string", "format": "uri" },
11572
+ "fetchedAt": { "type": "string", "format": "date-time" },
11573
+ "coverage": {
11574
+ "type": "object",
11575
+ "properties": {
11576
+ "source": { "type": "string", "const": "public_web" },
11577
+ "complete": { "type": "boolean" },
11578
+ "warnings": { "type": "array", "items": { "type": "string" } }
11579
+ },
11580
+ "required": ["source", "complete", "warnings"],
11581
+ "additionalProperties": false
11582
+ },
11583
+ "accounting": {
11584
+ "type": "object",
11585
+ "properties": {
11586
+ "upstreamRequests": { "type": "integer", "minimum": 0 },
11587
+ "responseBytes": { "type": "integer", "minimum": 0 },
11588
+ "durationMs": { "type": "integer", "minimum": 0 }
11589
+ },
11590
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
11591
+ "additionalProperties": false
11592
+ },
11593
+ "locations": {
11594
+ "type": "array",
11595
+ "items": {
11596
+ "type": "object",
11597
+ "propertyNames": { "type": "string" },
11598
+ "additionalProperties": {}
11599
+ },
11600
+ "maxItems": 100
11601
+ }
11602
+ },
11603
+ "required": [
11604
+ "success",
11605
+ "status",
11606
+ "requestId",
11607
+ "sourceUrl",
11608
+ "fetchedAt",
11609
+ "coverage",
11610
+ "accounting",
11611
+ "locations"
11612
+ ],
11613
+ "additionalProperties": false
11614
+ },
11615
+ {
11616
+ "type": "object",
11617
+ "properties": {
11618
+ "success": { "type": "boolean", "const": false },
11619
+ "status": { "type": "string", "enum": ["failed", "challenged"] },
11620
+ "requestId": { "type": "string", "format": "uuid" },
11621
+ "failure": {
11622
+ "type": "object",
11623
+ "properties": {
11624
+ "code": {
11625
+ "type": "string",
11626
+ "enum": [
11627
+ "invalid_request",
11628
+ "unauthorized",
11629
+ "not_found",
11630
+ "restricted_page",
11631
+ "upstream_challenged",
11632
+ "upstream_rate_limited",
11633
+ "upstream_error",
11634
+ "unsupported_page",
11635
+ "response_too_large",
11636
+ "unsafe_redirect",
11637
+ "request_limit",
11638
+ "timeout",
11639
+ "payload_too_complex",
11640
+ "busy"
11641
+ ]
11642
+ },
11643
+ "message": { "type": "string" }
11644
+ },
11645
+ "required": ["code", "message"],
11646
+ "additionalProperties": false
11647
+ },
11648
+ "accounting": {
11649
+ "type": "object",
11650
+ "properties": {
11651
+ "upstreamRequests": { "type": "integer", "minimum": 0 },
11652
+ "responseBytes": { "type": "integer", "minimum": 0 },
11653
+ "durationMs": { "type": "integer", "minimum": 0 }
11654
+ },
11655
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
11656
+ "additionalProperties": false
11657
+ }
11658
+ },
11659
+ "required": ["success", "status", "requestId", "failure", "accounting"],
11660
+ "additionalProperties": false
11661
+ }
11662
+ ]
11663
+ }
11664
+ },
11665
+ {
11666
+ "platform": "facebook-marketplace",
11667
+ "action": "locations-search",
11668
+ "operation": "facebookMarketplaceLocationsSearch",
11669
+ "method": "GET",
11670
+ "path": "/v1/facebook/marketplace/locations/search",
10783
11671
  "description": "Resolve a city or location query into public Marketplace search coordinates. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
10784
11672
  "inputSchema": {
10785
11673
  "type": "object",
@@ -30625,6 +31513,7 @@
30625
31513
  "id": { "type": "string", "pattern": "^[1-9]\\d{0,19}$" },
30626
31514
  "shortcode": { "type": "string", "minLength": 1 },
30627
31515
  "is_video": { "type": "boolean" },
31516
+ "video_play_count": { "type": "integer", "minimum": 0 },
30628
31517
  "owner": {
30629
31518
  "type": "object",
30630
31519
  "properties": {
@@ -33501,7 +34390,7 @@
33501
34390
  "operation": "linkedinAdsSearch",
33502
34391
  "method": "GET",
33503
34392
  "path": "/v1/linkedin/ads/search",
33504
- "description": "Search one page by company, keyword, company ID, countries and date pair. Each card is enriched from its detail page. Pass the returned token with the same filters for continuation. Individual source failures are explicit partial results. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
34393
+ "description": "Search one page by company, payer, keyword, company ID, countries, date preset or date pair, impression range and targeting facets, sorted newest or oldest first. Each card is enriched from its detail page. Pass the returned token with the same filters for continuation. Individual source failures are explicit partial results. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
33505
34394
  "inputSchema": {
33506
34395
  "type": "object",
33507
34396
  "properties": {
@@ -33529,6 +34418,12 @@
33529
34418
  "pattern": "^[A-Z]{2}(?:,[A-Z]{2}){0,49}$",
33530
34419
  "description": "Comma-separated uppercase country codes, for example US,DE."
33531
34420
  },
34421
+ "payer": {
34422
+ "type": "string",
34423
+ "minLength": 1,
34424
+ "maxLength": 500,
34425
+ "x-runtime-refinement": true
34426
+ },
33532
34427
  "startDate": {
33533
34428
  "type": "string",
33534
34429
  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
@@ -33541,6 +34436,31 @@
33541
34436
  "x-runtime-refinement": true,
33542
34437
  "description": "Real YYYY-MM-DD date on or after startDate. LinkedIn applies its retained-ad date window."
33543
34438
  },
34439
+ "dateOption": {
34440
+ "type": "string",
34441
+ "enum": ["last-30-days", "current-month", "current-year", "last-year"]
34442
+ },
34443
+ "sortOrder": { "type": "string", "enum": ["DESCENDING", "ASCENDING"] },
34444
+ "minImpressions": {
34445
+ "type": "string",
34446
+ "pattern": "^(?:0|[1-9]\\d{0,11})$",
34447
+ "x-runtime-refinement": true
34448
+ },
34449
+ "maxImpressions": {
34450
+ "type": "string",
34451
+ "pattern": "^(?:0|[1-9]\\d{0,11})$",
34452
+ "x-runtime-refinement": true
34453
+ },
34454
+ "includedTargeting": {
34455
+ "type": "string",
34456
+ "pattern": "^[A-Z_]+(?:,[A-Z_]+){0,7}$",
34457
+ "x-runtime-refinement": true
34458
+ },
34459
+ "excludedTargeting": {
34460
+ "type": "string",
34461
+ "pattern": "^[A-Z_]+(?:,[A-Z_]+){0,7}$",
34462
+ "x-runtime-refinement": true
34463
+ },
33544
34464
  "paginationToken": {
33545
34465
  "type": "string",
33546
34466
  "pattern": "^[1-9]\\d{0,24}-\\d{10,16}$",
@@ -34625,7 +35545,7 @@
34625
35545
  "operation": "linkedinAdsLibrarySearch",
34626
35546
  "method": "GET",
34627
35547
  "path": "/v1/linkedin/ad-library/ads/search",
34628
- "description": "Search one page by company, keyword, company ID, countries and date pair. Each card is enriched from its detail page. Pass the returned token with the same filters for continuation. Individual source failures are explicit partial results. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
35548
+ "description": "Search one page by company, payer, keyword, company ID, countries, date preset or date pair, impression range and targeting facets, sorted newest or oldest first. Each card is enriched from its detail page. Pass the returned token with the same filters for continuation. Individual source failures are explicit partial results. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
34629
35549
  "inputSchema": {
34630
35550
  "type": "object",
34631
35551
  "properties": {
@@ -34653,6 +35573,12 @@
34653
35573
  "pattern": "^[A-Z]{2}(?:,[A-Z]{2}){0,49}$",
34654
35574
  "description": "Comma-separated uppercase country codes, for example US,DE."
34655
35575
  },
35576
+ "payer": {
35577
+ "type": "string",
35578
+ "minLength": 1,
35579
+ "maxLength": 500,
35580
+ "x-runtime-refinement": true
35581
+ },
34656
35582
  "startDate": {
34657
35583
  "type": "string",
34658
35584
  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
@@ -34665,6 +35591,31 @@
34665
35591
  "x-runtime-refinement": true,
34666
35592
  "description": "Real YYYY-MM-DD date on or after startDate. LinkedIn applies its retained-ad date window."
34667
35593
  },
35594
+ "dateOption": {
35595
+ "type": "string",
35596
+ "enum": ["last-30-days", "current-month", "current-year", "last-year"]
35597
+ },
35598
+ "sortOrder": { "type": "string", "enum": ["DESCENDING", "ASCENDING"] },
35599
+ "minImpressions": {
35600
+ "type": "string",
35601
+ "pattern": "^(?:0|[1-9]\\d{0,11})$",
35602
+ "x-runtime-refinement": true
35603
+ },
35604
+ "maxImpressions": {
35605
+ "type": "string",
35606
+ "pattern": "^(?:0|[1-9]\\d{0,11})$",
35607
+ "x-runtime-refinement": true
35608
+ },
35609
+ "includedTargeting": {
35610
+ "type": "string",
35611
+ "pattern": "^[A-Z_]+(?:,[A-Z_]+){0,7}$",
35612
+ "x-runtime-refinement": true
35613
+ },
35614
+ "excludedTargeting": {
35615
+ "type": "string",
35616
+ "pattern": "^[A-Z_]+(?:,[A-Z_]+){0,7}$",
35617
+ "x-runtime-refinement": true
35618
+ },
34668
35619
  "paginationToken": {
34669
35620
  "type": "string",
34670
35621
  "pattern": "^[1-9]\\d{0,24}-\\d{10,16}$",
@@ -41761,13 +42712,154 @@
41761
42712
  ]
41762
42713
  }
41763
42714
  },
42715
+ {
42716
+ "platform": "pinterest",
42717
+ "action": "url-stats",
42718
+ "operation": "pinterestUrlStats",
42719
+ "method": "GET",
42720
+ "path": "/v1/pinterest/url-stats",
42721
+ "description": "Count how many times web pages have been saved to Pinterest. Pass up to ten comma-separated addresses; each address is counted exactly as written, so http/https, trailing slashes and query strings are separate entries. A count of 0 means Pinterest reports no saves for that exact address. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
42722
+ "inputSchema": {
42723
+ "type": "object",
42724
+ "properties": {
42725
+ "urls": {
42726
+ "type": "string",
42727
+ "maxLength": 20490,
42728
+ "x-runtime-refinement": true,
42729
+ "description": "Required comma-separated list of 1–10 distinct absolute http(s) URLs, at most 2,048 characters each, without credentials or whitespace. Addresses are sent to Pinterest as written and are never visited."
42730
+ }
42731
+ },
42732
+ "required": ["urls"],
42733
+ "additionalProperties": false
42734
+ },
42735
+ "outputSchema": {
42736
+ "anyOf": [
42737
+ {
42738
+ "type": "object",
42739
+ "properties": {
42740
+ "success": { "type": "boolean", "const": true },
42741
+ "status": { "type": "string", "enum": ["success", "partial"] },
42742
+ "requestId": { "type": "string" },
42743
+ "sourceUrl": { "type": "string", "format": "uri" },
42744
+ "fetchedAt": { "type": "string", "format": "date-time" },
42745
+ "coverage": {
42746
+ "type": "object",
42747
+ "properties": {
42748
+ "source": {
42749
+ "type": "string",
42750
+ "enum": ["public_resource", "public_page", "public_graphql", "public_widget"]
42751
+ },
42752
+ "complete": { "type": "boolean" },
42753
+ "warnings": {
42754
+ "type": "array",
42755
+ "items": {
42756
+ "type": "string",
42757
+ "enum": [
42758
+ "restricted_records",
42759
+ "malformed_records",
42760
+ "record_limit",
42761
+ "pagination_unavailable",
42762
+ "missing_pin_counts"
42763
+ ]
42764
+ }
42765
+ }
42766
+ },
42767
+ "required": ["source", "complete", "warnings"],
42768
+ "additionalProperties": true
42769
+ },
42770
+ "accounting": {
42771
+ "type": "object",
42772
+ "properties": {
42773
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
42774
+ "responseBytes": { "type": "integer", "minimum": 0 },
42775
+ "durationMs": { "type": "number", "minimum": 0 }
42776
+ },
42777
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
42778
+ "additionalProperties": true
42779
+ },
42780
+ "results": {
42781
+ "type": "array",
42782
+ "items": {
42783
+ "type": "object",
42784
+ "properties": {
42785
+ "url": { "type": "string" },
42786
+ "count": { "type": "integer", "minimum": 0 }
42787
+ },
42788
+ "required": ["url", "count"],
42789
+ "additionalProperties": false
42790
+ },
42791
+ "maxItems": 10
42792
+ }
42793
+ },
42794
+ "required": [
42795
+ "success",
42796
+ "status",
42797
+ "requestId",
42798
+ "sourceUrl",
42799
+ "fetchedAt",
42800
+ "coverage",
42801
+ "accounting",
42802
+ "results"
42803
+ ],
42804
+ "additionalProperties": true
42805
+ },
42806
+ {
42807
+ "type": "object",
42808
+ "properties": {
42809
+ "success": { "type": "boolean", "const": false },
42810
+ "status": { "type": "string", "enum": ["failed", "challenged"] },
42811
+ "requestId": { "type": "string" },
42812
+ "accounting": {
42813
+ "type": "object",
42814
+ "properties": {
42815
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
42816
+ "responseBytes": { "type": "integer", "minimum": 0 },
42817
+ "durationMs": { "type": "number", "minimum": 0 }
42818
+ },
42819
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
42820
+ "additionalProperties": true
42821
+ },
42822
+ "failure": {
42823
+ "type": "object",
42824
+ "properties": {
42825
+ "code": {
42826
+ "type": "string",
42827
+ "enum": [
42828
+ "invalid_request",
42829
+ "unauthorized",
42830
+ "not_found",
42831
+ "upstream_challenged",
42832
+ "upstream_rate_limited",
42833
+ "upstream_error",
42834
+ "unsupported_page",
42835
+ "restricted_page",
42836
+ "response_too_large",
42837
+ "unsafe_redirect",
42838
+ "request_limit",
42839
+ "timeout",
42840
+ "payload_too_complex",
42841
+ "busy"
42842
+ ]
42843
+ },
42844
+ "message": { "type": "string" }
42845
+ },
42846
+ "required": ["code", "message"],
42847
+ "additionalProperties": true
42848
+ }
42849
+ },
42850
+ "required": ["success", "status", "requestId", "accounting", "failure"],
42851
+ "additionalProperties": true
42852
+ }
42853
+ ]
42854
+ }
42855
+ },
41764
42856
  {
41765
42857
  "platform": "pinterest",
41766
42858
  "action": "pin",
41767
42859
  "operation": "pinterestPin",
41768
42860
  "method": "GET",
41769
42861
  "path": "/v1/pinterest/pin",
41770
- "description": "Read a public pin’s page data without executing page scripts. Full responses expose Pinterest’s camelCase fields at the top level, preserving nested media and author data. imageSpec_orig aliases images_orig when needed. Trimmed fields: entityId, seoAltText, originPinner, pinner, imageSpec_orig, description, shareCount, nativeCreator, createdAt, repinCount and totalReactionCount. Counts are never guessed; missing required pin fields fail explicitly. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
42862
+ "description": "Retrieve a public pin’s full details: description, media, author, board, destination, save, share and reaction counts. Full responses expose Pinterest’s camelCase fields at the top level, preserving nested media and author data. imageSpec_orig aliases images_orig when needed. Trimmed fields: entityId, seoAltText, originPinner, pinner, imageSpec_orig, description, shareCount, nativeCreator, createdAt, repinCount and totalReactionCount. Counts are never guessed; missing required pin fields fail explicitly. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
41771
42863
  "inputSchema": {
41772
42864
  "type": "object",
41773
42865
  "properties": {
@@ -41826,7 +42918,10 @@
41826
42918
  "coverage": {
41827
42919
  "type": "object",
41828
42920
  "properties": {
41829
- "source": { "type": "string", "enum": ["public_resource", "public_page"] },
42921
+ "source": {
42922
+ "type": "string",
42923
+ "enum": ["public_resource", "public_page", "public_graphql", "public_widget"]
42924
+ },
41830
42925
  "complete": { "type": "boolean" },
41831
42926
  "warnings": {
41832
42927
  "type": "array",
@@ -41848,7 +42943,7 @@
41848
42943
  "accounting": {
41849
42944
  "type": "object",
41850
42945
  "properties": {
41851
- "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 3 },
42946
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
41852
42947
  "responseBytes": { "type": "integer", "minimum": 0 },
41853
42948
  "durationMs": { "type": "number", "minimum": 0 }
41854
42949
  },
@@ -41882,7 +42977,945 @@
41882
42977
  "accounting": {
41883
42978
  "type": "object",
41884
42979
  "properties": {
41885
- "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 3 },
42980
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
42981
+ "responseBytes": { "type": "integer", "minimum": 0 },
42982
+ "durationMs": { "type": "number", "minimum": 0 }
42983
+ },
42984
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
42985
+ "additionalProperties": true
42986
+ },
42987
+ "failure": {
42988
+ "type": "object",
42989
+ "properties": {
42990
+ "code": {
42991
+ "type": "string",
42992
+ "enum": [
42993
+ "invalid_request",
42994
+ "unauthorized",
42995
+ "not_found",
42996
+ "upstream_challenged",
42997
+ "upstream_rate_limited",
42998
+ "upstream_error",
42999
+ "unsupported_page",
43000
+ "restricted_page",
43001
+ "response_too_large",
43002
+ "unsafe_redirect",
43003
+ "request_limit",
43004
+ "timeout",
43005
+ "payload_too_complex",
43006
+ "busy"
43007
+ ]
43008
+ },
43009
+ "message": { "type": "string" }
43010
+ },
43011
+ "required": ["code", "message"],
43012
+ "additionalProperties": true
43013
+ }
43014
+ },
43015
+ "required": ["success", "status", "requestId", "accounting", "failure"],
43016
+ "additionalProperties": true
43017
+ }
43018
+ ]
43019
+ }
43020
+ },
43021
+ {
43022
+ "platform": "pinterest",
43023
+ "action": "profile",
43024
+ "operation": "pinterestProfile",
43025
+ "method": "GET",
43026
+ "path": "/v1/pinterest/profile",
43027
+ "description": "Retrieve a public Pinterest profile by username: display name, bio, avatar images, website, follower, following, pin and board counts, monthly profile views, verification and account flags. Source field names and nulls are preserved. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
43028
+ "inputSchema": {
43029
+ "type": "object",
43030
+ "properties": {
43031
+ "handle": {
43032
+ "type": "string",
43033
+ "pattern": "^[a-zA-Z0-9_]{1,60}$",
43034
+ "x-runtime-refinement": true,
43035
+ "description": "Required Pinterest username, 1–60 letters, digits or underscores; normalized to lowercase."
43036
+ }
43037
+ },
43038
+ "required": ["handle"],
43039
+ "additionalProperties": false
43040
+ },
43041
+ "outputSchema": {
43042
+ "anyOf": [
43043
+ {
43044
+ "type": "object",
43045
+ "properties": {
43046
+ "success": { "type": "boolean", "const": true },
43047
+ "status": { "type": "string", "enum": ["success", "partial"] },
43048
+ "requestId": { "type": "string" },
43049
+ "sourceUrl": { "type": "string", "format": "uri" },
43050
+ "fetchedAt": { "type": "string", "format": "date-time" },
43051
+ "coverage": {
43052
+ "type": "object",
43053
+ "properties": {
43054
+ "source": {
43055
+ "type": "string",
43056
+ "enum": ["public_resource", "public_page", "public_graphql", "public_widget"]
43057
+ },
43058
+ "complete": { "type": "boolean" },
43059
+ "warnings": {
43060
+ "type": "array",
43061
+ "items": {
43062
+ "type": "string",
43063
+ "enum": [
43064
+ "restricted_records",
43065
+ "malformed_records",
43066
+ "record_limit",
43067
+ "pagination_unavailable",
43068
+ "missing_pin_counts"
43069
+ ]
43070
+ }
43071
+ }
43072
+ },
43073
+ "required": ["source", "complete", "warnings"],
43074
+ "additionalProperties": true
43075
+ },
43076
+ "accounting": {
43077
+ "type": "object",
43078
+ "properties": {
43079
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
43080
+ "responseBytes": { "type": "integer", "minimum": 0 },
43081
+ "durationMs": { "type": "number", "minimum": 0 }
43082
+ },
43083
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
43084
+ "additionalProperties": true
43085
+ },
43086
+ "profile": {
43087
+ "type": "object",
43088
+ "properties": {
43089
+ "id": { "type": "string", "pattern": "^\\d+$" },
43090
+ "username": { "type": "string", "pattern": "^[a-zA-Z0-9_]{1,60}$" },
43091
+ "url": { "type": "string", "format": "uri" }
43092
+ },
43093
+ "required": ["id", "username", "url"],
43094
+ "additionalProperties": true
43095
+ }
43096
+ },
43097
+ "required": [
43098
+ "success",
43099
+ "status",
43100
+ "requestId",
43101
+ "sourceUrl",
43102
+ "fetchedAt",
43103
+ "coverage",
43104
+ "accounting",
43105
+ "profile"
43106
+ ],
43107
+ "additionalProperties": true
43108
+ },
43109
+ {
43110
+ "type": "object",
43111
+ "properties": {
43112
+ "success": { "type": "boolean", "const": false },
43113
+ "status": { "type": "string", "enum": ["failed", "challenged"] },
43114
+ "requestId": { "type": "string" },
43115
+ "accounting": {
43116
+ "type": "object",
43117
+ "properties": {
43118
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
43119
+ "responseBytes": { "type": "integer", "minimum": 0 },
43120
+ "durationMs": { "type": "number", "minimum": 0 }
43121
+ },
43122
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
43123
+ "additionalProperties": true
43124
+ },
43125
+ "failure": {
43126
+ "type": "object",
43127
+ "properties": {
43128
+ "code": {
43129
+ "type": "string",
43130
+ "enum": [
43131
+ "invalid_request",
43132
+ "unauthorized",
43133
+ "not_found",
43134
+ "upstream_challenged",
43135
+ "upstream_rate_limited",
43136
+ "upstream_error",
43137
+ "unsupported_page",
43138
+ "restricted_page",
43139
+ "response_too_large",
43140
+ "unsafe_redirect",
43141
+ "request_limit",
43142
+ "timeout",
43143
+ "payload_too_complex",
43144
+ "busy"
43145
+ ]
43146
+ },
43147
+ "message": { "type": "string" }
43148
+ },
43149
+ "required": ["code", "message"],
43150
+ "additionalProperties": true
43151
+ }
43152
+ },
43153
+ "required": ["success", "status", "requestId", "accounting", "failure"],
43154
+ "additionalProperties": true
43155
+ }
43156
+ ]
43157
+ }
43158
+ },
43159
+ {
43160
+ "platform": "pinterest",
43161
+ "action": "boards",
43162
+ "operation": "pinterestBoards",
43163
+ "method": "GET",
43164
+ "path": "/v1/pinterest/user/boards",
43165
+ "description": "List a page of public boards with counts, creation dates, cover images and cursor pagination. Use trim for compact records with identifiers, URLs, descriptions, counts, cover images and timestamps. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
43166
+ "inputSchema": {
43167
+ "type": "object",
43168
+ "properties": {
43169
+ "handle": {
43170
+ "type": "string",
43171
+ "pattern": "^[a-zA-Z0-9_]{1,60}$",
43172
+ "x-runtime-refinement": true,
43173
+ "description": "Required Pinterest username, 1–60 letters, digits or underscores; normalized to lowercase."
43174
+ },
43175
+ "cursor": {
43176
+ "type": "string",
43177
+ "minLength": 1,
43178
+ "maxLength": 16384,
43179
+ "pattern": "^[A-Za-z0-9_~+/=|.*%-]+$",
43180
+ "description": "Optional source bookmark returned by the previous response. Reuse with the same query, handle, or board. Null means end of results unless coverage warns pagination_unavailable. Source cursors can expire. Maximum 16,384 characters."
43181
+ },
43182
+ "trim": {
43183
+ "type": "string",
43184
+ "enum": ["true", "false"],
43185
+ "description": "Optional true or false (default false). True selects the documented compact fields; false preserves the public source record and nested extensions. Missing source fields remain absent."
43186
+ }
43187
+ },
43188
+ "required": ["handle"],
43189
+ "additionalProperties": false
43190
+ },
43191
+ "outputSchema": {
43192
+ "anyOf": [
43193
+ {
43194
+ "type": "object",
43195
+ "properties": {
43196
+ "success": { "type": "boolean", "const": true },
43197
+ "status": { "type": "string", "enum": ["success", "partial"] },
43198
+ "requestId": { "type": "string" },
43199
+ "sourceUrl": { "type": "string", "format": "uri" },
43200
+ "fetchedAt": { "type": "string", "format": "date-time" },
43201
+ "coverage": {
43202
+ "type": "object",
43203
+ "properties": {
43204
+ "source": {
43205
+ "type": "string",
43206
+ "enum": ["public_resource", "public_page", "public_graphql", "public_widget"]
43207
+ },
43208
+ "complete": { "type": "boolean" },
43209
+ "warnings": {
43210
+ "type": "array",
43211
+ "items": {
43212
+ "type": "string",
43213
+ "enum": [
43214
+ "restricted_records",
43215
+ "malformed_records",
43216
+ "record_limit",
43217
+ "pagination_unavailable",
43218
+ "missing_pin_counts"
43219
+ ]
43220
+ }
43221
+ }
43222
+ },
43223
+ "required": ["source", "complete", "warnings"],
43224
+ "additionalProperties": true
43225
+ },
43226
+ "accounting": {
43227
+ "type": "object",
43228
+ "properties": {
43229
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
43230
+ "responseBytes": { "type": "integer", "minimum": 0 },
43231
+ "durationMs": { "type": "number", "minimum": 0 }
43232
+ },
43233
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
43234
+ "additionalProperties": true
43235
+ },
43236
+ "boards": {
43237
+ "type": "array",
43238
+ "items": {
43239
+ "type": "object",
43240
+ "properties": {
43241
+ "id": { "type": "string", "pattern": "^\\d+$" },
43242
+ "name": { "type": "string" },
43243
+ "url": { "type": "string" },
43244
+ "description": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
43245
+ },
43246
+ "required": ["id", "name", "url", "description"],
43247
+ "additionalProperties": true
43248
+ },
43249
+ "maxItems": 100
43250
+ },
43251
+ "cursor": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
43252
+ },
43253
+ "required": [
43254
+ "success",
43255
+ "status",
43256
+ "requestId",
43257
+ "sourceUrl",
43258
+ "fetchedAt",
43259
+ "coverage",
43260
+ "accounting",
43261
+ "boards",
43262
+ "cursor"
43263
+ ],
43264
+ "additionalProperties": true
43265
+ },
43266
+ {
43267
+ "type": "object",
43268
+ "properties": {
43269
+ "success": { "type": "boolean", "const": false },
43270
+ "status": { "type": "string", "enum": ["failed", "challenged"] },
43271
+ "requestId": { "type": "string" },
43272
+ "accounting": {
43273
+ "type": "object",
43274
+ "properties": {
43275
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
43276
+ "responseBytes": { "type": "integer", "minimum": 0 },
43277
+ "durationMs": { "type": "number", "minimum": 0 }
43278
+ },
43279
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
43280
+ "additionalProperties": true
43281
+ },
43282
+ "failure": {
43283
+ "type": "object",
43284
+ "properties": {
43285
+ "code": {
43286
+ "type": "string",
43287
+ "enum": [
43288
+ "invalid_request",
43289
+ "unauthorized",
43290
+ "not_found",
43291
+ "upstream_challenged",
43292
+ "upstream_rate_limited",
43293
+ "upstream_error",
43294
+ "unsupported_page",
43295
+ "restricted_page",
43296
+ "response_too_large",
43297
+ "unsafe_redirect",
43298
+ "request_limit",
43299
+ "timeout",
43300
+ "payload_too_complex",
43301
+ "busy"
43302
+ ]
43303
+ },
43304
+ "message": { "type": "string" }
43305
+ },
43306
+ "required": ["code", "message"],
43307
+ "additionalProperties": true
43308
+ }
43309
+ },
43310
+ "required": ["success", "status", "requestId", "accounting", "failure"],
43311
+ "additionalProperties": true
43312
+ }
43313
+ ]
43314
+ }
43315
+ },
43316
+ {
43317
+ "platform": "pinterest",
43318
+ "action": "user-pins",
43319
+ "operation": "pinterestUserPins",
43320
+ "method": "GET",
43321
+ "path": "/v1/pinterest/user/pins",
43322
+ "description": "List a page of the public pins a user has saved, newest first, with images, titles, descriptions, destinations, boards and counters. Pass cursor to continue. Trimmed pins contain id, url, description, created_at, pinner and images when supplied. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
43323
+ "inputSchema": {
43324
+ "type": "object",
43325
+ "properties": {
43326
+ "handle": {
43327
+ "type": "string",
43328
+ "pattern": "^[a-zA-Z0-9_]{1,60}$",
43329
+ "x-runtime-refinement": true,
43330
+ "description": "Required Pinterest username, 1–60 letters, digits or underscores; normalized to lowercase."
43331
+ },
43332
+ "cursor": {
43333
+ "type": "string",
43334
+ "minLength": 1,
43335
+ "maxLength": 16384,
43336
+ "pattern": "^[A-Za-z0-9_~+/=|.*%-]+$",
43337
+ "description": "Optional source bookmark returned by the previous response. Reuse with the same query, handle, or board. Null means end of results unless coverage warns pagination_unavailable. Source cursors can expire. Maximum 16,384 characters."
43338
+ },
43339
+ "trim": {
43340
+ "type": "string",
43341
+ "enum": ["true", "false"],
43342
+ "description": "Optional true or false (default false). True selects the documented compact fields; false preserves the public source record and nested extensions. Missing source fields remain absent."
43343
+ }
43344
+ },
43345
+ "required": ["handle"],
43346
+ "additionalProperties": false
43347
+ },
43348
+ "outputSchema": {
43349
+ "anyOf": [
43350
+ {
43351
+ "type": "object",
43352
+ "properties": {
43353
+ "success": { "type": "boolean", "const": true },
43354
+ "status": { "type": "string", "enum": ["success", "partial"] },
43355
+ "requestId": { "type": "string" },
43356
+ "sourceUrl": { "type": "string", "format": "uri" },
43357
+ "fetchedAt": { "type": "string", "format": "date-time" },
43358
+ "coverage": {
43359
+ "type": "object",
43360
+ "properties": {
43361
+ "source": {
43362
+ "type": "string",
43363
+ "enum": ["public_resource", "public_page", "public_graphql", "public_widget"]
43364
+ },
43365
+ "complete": { "type": "boolean" },
43366
+ "warnings": {
43367
+ "type": "array",
43368
+ "items": {
43369
+ "type": "string",
43370
+ "enum": [
43371
+ "restricted_records",
43372
+ "malformed_records",
43373
+ "record_limit",
43374
+ "pagination_unavailable",
43375
+ "missing_pin_counts"
43376
+ ]
43377
+ }
43378
+ }
43379
+ },
43380
+ "required": ["source", "complete", "warnings"],
43381
+ "additionalProperties": true
43382
+ },
43383
+ "accounting": {
43384
+ "type": "object",
43385
+ "properties": {
43386
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
43387
+ "responseBytes": { "type": "integer", "minimum": 0 },
43388
+ "durationMs": { "type": "number", "minimum": 0 }
43389
+ },
43390
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
43391
+ "additionalProperties": true
43392
+ },
43393
+ "pins": {
43394
+ "type": "array",
43395
+ "items": {
43396
+ "type": "object",
43397
+ "properties": {
43398
+ "id": { "type": "string", "pattern": "^\\d+$" },
43399
+ "description": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
43400
+ "images": {
43401
+ "type": "object",
43402
+ "properties": {},
43403
+ "required": [],
43404
+ "additionalProperties": true
43405
+ },
43406
+ "pinner": {
43407
+ "anyOf": [
43408
+ {
43409
+ "type": "object",
43410
+ "properties": {},
43411
+ "required": [],
43412
+ "additionalProperties": true
43413
+ },
43414
+ { "type": "null" }
43415
+ ]
43416
+ }
43417
+ },
43418
+ "required": ["id", "description", "images", "pinner"],
43419
+ "additionalProperties": true
43420
+ },
43421
+ "maxItems": 100
43422
+ },
43423
+ "cursor": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
43424
+ },
43425
+ "required": [
43426
+ "success",
43427
+ "status",
43428
+ "requestId",
43429
+ "sourceUrl",
43430
+ "fetchedAt",
43431
+ "coverage",
43432
+ "accounting",
43433
+ "pins",
43434
+ "cursor"
43435
+ ],
43436
+ "additionalProperties": true
43437
+ },
43438
+ {
43439
+ "type": "object",
43440
+ "properties": {
43441
+ "success": { "type": "boolean", "const": false },
43442
+ "status": { "type": "string", "enum": ["failed", "challenged"] },
43443
+ "requestId": { "type": "string" },
43444
+ "accounting": {
43445
+ "type": "object",
43446
+ "properties": {
43447
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
43448
+ "responseBytes": { "type": "integer", "minimum": 0 },
43449
+ "durationMs": { "type": "number", "minimum": 0 }
43450
+ },
43451
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
43452
+ "additionalProperties": true
43453
+ },
43454
+ "failure": {
43455
+ "type": "object",
43456
+ "properties": {
43457
+ "code": {
43458
+ "type": "string",
43459
+ "enum": [
43460
+ "invalid_request",
43461
+ "unauthorized",
43462
+ "not_found",
43463
+ "upstream_challenged",
43464
+ "upstream_rate_limited",
43465
+ "upstream_error",
43466
+ "unsupported_page",
43467
+ "restricted_page",
43468
+ "response_too_large",
43469
+ "unsafe_redirect",
43470
+ "request_limit",
43471
+ "timeout",
43472
+ "payload_too_complex",
43473
+ "busy"
43474
+ ]
43475
+ },
43476
+ "message": { "type": "string" }
43477
+ },
43478
+ "required": ["code", "message"],
43479
+ "additionalProperties": true
43480
+ }
43481
+ },
43482
+ "required": ["success", "status", "requestId", "accounting", "failure"],
43483
+ "additionalProperties": true
43484
+ }
43485
+ ]
43486
+ }
43487
+ },
43488
+ {
43489
+ "platform": "pinterest",
43490
+ "action": "board-metadata",
43491
+ "operation": "pinterestBoardMetadata",
43492
+ "method": "GET",
43493
+ "path": "/v1/pinterest/board/metadata",
43494
+ "description": "Retrieve a public board’s details without its pins: name, description, owner, pin, follower, section and collaborator counts, cover images, category and SEO attributes. Source field names and nulls are preserved. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
43495
+ "inputSchema": {
43496
+ "type": "object",
43497
+ "properties": {
43498
+ "url": {
43499
+ "type": "string",
43500
+ "maxLength": 2048,
43501
+ "x-runtime-refinement": true,
43502
+ "description": "Required HTTPS pinterest.com or www.pinterest.com board URL (/<handle>/<slug>/). Board slugs accept ASCII letters, digits, underscores, hyphens and percent-escaped punctuation such as %2B. No credentials, explicit ports, short links, regional domains or encoded path segments. Tracking query parameters and fragments are removed."
43503
+ }
43504
+ },
43505
+ "required": ["url"],
43506
+ "additionalProperties": false
43507
+ },
43508
+ "outputSchema": {
43509
+ "anyOf": [
43510
+ {
43511
+ "type": "object",
43512
+ "properties": {
43513
+ "success": { "type": "boolean", "const": true },
43514
+ "status": { "type": "string", "enum": ["success", "partial"] },
43515
+ "requestId": { "type": "string" },
43516
+ "sourceUrl": { "type": "string", "format": "uri" },
43517
+ "fetchedAt": { "type": "string", "format": "date-time" },
43518
+ "coverage": {
43519
+ "type": "object",
43520
+ "properties": {
43521
+ "source": {
43522
+ "type": "string",
43523
+ "enum": ["public_resource", "public_page", "public_graphql", "public_widget"]
43524
+ },
43525
+ "complete": { "type": "boolean" },
43526
+ "warnings": {
43527
+ "type": "array",
43528
+ "items": {
43529
+ "type": "string",
43530
+ "enum": [
43531
+ "restricted_records",
43532
+ "malformed_records",
43533
+ "record_limit",
43534
+ "pagination_unavailable",
43535
+ "missing_pin_counts"
43536
+ ]
43537
+ }
43538
+ }
43539
+ },
43540
+ "required": ["source", "complete", "warnings"],
43541
+ "additionalProperties": true
43542
+ },
43543
+ "accounting": {
43544
+ "type": "object",
43545
+ "properties": {
43546
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
43547
+ "responseBytes": { "type": "integer", "minimum": 0 },
43548
+ "durationMs": { "type": "number", "minimum": 0 }
43549
+ },
43550
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
43551
+ "additionalProperties": true
43552
+ },
43553
+ "board": {
43554
+ "type": "object",
43555
+ "properties": {
43556
+ "id": { "type": "string", "pattern": "^\\d+$" },
43557
+ "name": { "type": "string" },
43558
+ "url": { "type": "string", "format": "uri" },
43559
+ "description": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
43560
+ },
43561
+ "required": ["id", "name", "url", "description"],
43562
+ "additionalProperties": true
43563
+ }
43564
+ },
43565
+ "required": [
43566
+ "success",
43567
+ "status",
43568
+ "requestId",
43569
+ "sourceUrl",
43570
+ "fetchedAt",
43571
+ "coverage",
43572
+ "accounting",
43573
+ "board"
43574
+ ],
43575
+ "additionalProperties": true
43576
+ },
43577
+ {
43578
+ "type": "object",
43579
+ "properties": {
43580
+ "success": { "type": "boolean", "const": false },
43581
+ "status": { "type": "string", "enum": ["failed", "challenged"] },
43582
+ "requestId": { "type": "string" },
43583
+ "accounting": {
43584
+ "type": "object",
43585
+ "properties": {
43586
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
43587
+ "responseBytes": { "type": "integer", "minimum": 0 },
43588
+ "durationMs": { "type": "number", "minimum": 0 }
43589
+ },
43590
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
43591
+ "additionalProperties": true
43592
+ },
43593
+ "failure": {
43594
+ "type": "object",
43595
+ "properties": {
43596
+ "code": {
43597
+ "type": "string",
43598
+ "enum": [
43599
+ "invalid_request",
43600
+ "unauthorized",
43601
+ "not_found",
43602
+ "upstream_challenged",
43603
+ "upstream_rate_limited",
43604
+ "upstream_error",
43605
+ "unsupported_page",
43606
+ "restricted_page",
43607
+ "response_too_large",
43608
+ "unsafe_redirect",
43609
+ "request_limit",
43610
+ "timeout",
43611
+ "payload_too_complex",
43612
+ "busy"
43613
+ ]
43614
+ },
43615
+ "message": { "type": "string" }
43616
+ },
43617
+ "required": ["code", "message"],
43618
+ "additionalProperties": true
43619
+ }
43620
+ },
43621
+ "required": ["success", "status", "requestId", "accounting", "failure"],
43622
+ "additionalProperties": true
43623
+ }
43624
+ ]
43625
+ }
43626
+ },
43627
+ {
43628
+ "platform": "pinterest",
43629
+ "action": "pin-metadata",
43630
+ "operation": "pinterestPinMetadata",
43631
+ "method": "GET",
43632
+ "path": "/v1/pinterest/pin/metadata",
43633
+ "description": "Retrieve a public pin’s metadata, including its description, images, media, destination, author, board and engagement fields. The pin object preserves Pinterest’s source field names and nested attributes. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
43634
+ "inputSchema": {
43635
+ "type": "object",
43636
+ "properties": {
43637
+ "url": {
43638
+ "type": "string",
43639
+ "maxLength": 2048,
43640
+ "x-runtime-refinement": true,
43641
+ "description": "Required Pinterest pin URL. The response includes its canonical public URL."
43642
+ }
43643
+ },
43644
+ "required": ["url"],
43645
+ "additionalProperties": false
43646
+ },
43647
+ "outputSchema": {
43648
+ "anyOf": [
43649
+ {
43650
+ "type": "object",
43651
+ "properties": {
43652
+ "success": { "type": "boolean", "const": true },
43653
+ "status": { "type": "string", "enum": ["success", "partial"] },
43654
+ "requestId": { "type": "string" },
43655
+ "sourceUrl": { "type": "string", "format": "uri" },
43656
+ "fetchedAt": { "type": "string", "format": "date-time" },
43657
+ "coverage": {
43658
+ "type": "object",
43659
+ "properties": {
43660
+ "source": {
43661
+ "type": "string",
43662
+ "enum": ["public_resource", "public_page", "public_graphql", "public_widget"]
43663
+ },
43664
+ "complete": { "type": "boolean" },
43665
+ "warnings": {
43666
+ "type": "array",
43667
+ "items": {
43668
+ "type": "string",
43669
+ "enum": [
43670
+ "restricted_records",
43671
+ "malformed_records",
43672
+ "record_limit",
43673
+ "pagination_unavailable",
43674
+ "missing_pin_counts"
43675
+ ]
43676
+ }
43677
+ }
43678
+ },
43679
+ "required": ["source", "complete", "warnings"],
43680
+ "additionalProperties": true
43681
+ },
43682
+ "accounting": {
43683
+ "type": "object",
43684
+ "properties": {
43685
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
43686
+ "responseBytes": { "type": "integer", "minimum": 0 },
43687
+ "durationMs": { "type": "number", "minimum": 0 }
43688
+ },
43689
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
43690
+ "additionalProperties": true
43691
+ },
43692
+ "pin": {
43693
+ "type": "object",
43694
+ "properties": {
43695
+ "id": { "type": "string", "pattern": "^\\d+$" },
43696
+ "description": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
43697
+ "images": {
43698
+ "type": "object",
43699
+ "properties": {},
43700
+ "required": [],
43701
+ "additionalProperties": true
43702
+ },
43703
+ "pinner": {
43704
+ "anyOf": [
43705
+ {
43706
+ "type": "object",
43707
+ "properties": {},
43708
+ "required": [],
43709
+ "additionalProperties": true
43710
+ },
43711
+ { "type": "null" }
43712
+ ]
43713
+ },
43714
+ "url": { "type": "string", "format": "uri" }
43715
+ },
43716
+ "required": ["id", "description", "images", "pinner", "url"],
43717
+ "additionalProperties": true
43718
+ }
43719
+ },
43720
+ "required": [
43721
+ "success",
43722
+ "status",
43723
+ "requestId",
43724
+ "sourceUrl",
43725
+ "fetchedAt",
43726
+ "coverage",
43727
+ "accounting",
43728
+ "pin"
43729
+ ],
43730
+ "additionalProperties": true
43731
+ },
43732
+ {
43733
+ "type": "object",
43734
+ "properties": {
43735
+ "success": { "type": "boolean", "const": false },
43736
+ "status": { "type": "string", "enum": ["failed", "challenged"] },
43737
+ "requestId": { "type": "string" },
43738
+ "accounting": {
43739
+ "type": "object",
43740
+ "properties": {
43741
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
43742
+ "responseBytes": { "type": "integer", "minimum": 0 },
43743
+ "durationMs": { "type": "number", "minimum": 0 }
43744
+ },
43745
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
43746
+ "additionalProperties": true
43747
+ },
43748
+ "failure": {
43749
+ "type": "object",
43750
+ "properties": {
43751
+ "code": {
43752
+ "type": "string",
43753
+ "enum": [
43754
+ "invalid_request",
43755
+ "unauthorized",
43756
+ "not_found",
43757
+ "upstream_challenged",
43758
+ "upstream_rate_limited",
43759
+ "upstream_error",
43760
+ "unsupported_page",
43761
+ "restricted_page",
43762
+ "response_too_large",
43763
+ "unsafe_redirect",
43764
+ "request_limit",
43765
+ "timeout",
43766
+ "payload_too_complex",
43767
+ "busy"
43768
+ ]
43769
+ },
43770
+ "message": { "type": "string" }
43771
+ },
43772
+ "required": ["code", "message"],
43773
+ "additionalProperties": true
43774
+ }
43775
+ },
43776
+ "required": ["success", "status", "requestId", "accounting", "failure"],
43777
+ "additionalProperties": true
43778
+ }
43779
+ ]
43780
+ }
43781
+ },
43782
+ {
43783
+ "platform": "pinterest",
43784
+ "action": "board",
43785
+ "operation": "pinterestBoard",
43786
+ "method": "GET",
43787
+ "path": "/v1/pinterest/board",
43788
+ "description": "Retrieve a page of pins from a public board, including the board information, destinations, rich summaries, annotations and reaction counts attached to each pin. Pass cursor and an optional board_id for the next page. Trimmed pins keep id, url, description, created_at, pinner, images, title, link, domain, alt_text, unified_user_note, board, rich_summary and reaction_counts when supplied. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
43789
+ "inputSchema": {
43790
+ "type": "object",
43791
+ "properties": {
43792
+ "url": {
43793
+ "type": "string",
43794
+ "maxLength": 2048,
43795
+ "x-runtime-refinement": true,
43796
+ "description": "Required HTTPS pinterest.com or www.pinterest.com board URL (/<handle>/<slug>/). Board slugs accept ASCII letters, digits, underscores, hyphens and percent-escaped punctuation such as %2B. No credentials, explicit ports, short links, regional domains or encoded path segments. Tracking query parameters and fragments are removed."
43797
+ },
43798
+ "cursor": {
43799
+ "type": "string",
43800
+ "minLength": 1,
43801
+ "maxLength": 16384,
43802
+ "pattern": "^[A-Za-z0-9_~+/=|.*%-]+$",
43803
+ "description": "Optional source bookmark returned by the previous response. Reuse with the same query, handle, or board. Null means end of results unless coverage warns pagination_unavailable. Source cursors can expire. Maximum 16,384 characters."
43804
+ },
43805
+ "board_id": {
43806
+ "type": "string",
43807
+ "pattern": "^\\d{1,30}$",
43808
+ "description": "Optional numeric board id (board.id on every returned pin). With cursor, the continuation reads the board feed directly and still checks every pin against this id; without cursor the board is resolved as on the first page."
43809
+ },
43810
+ "trim": {
43811
+ "type": "string",
43812
+ "enum": ["true", "false"],
43813
+ "description": "Optional true or false (default false). True selects the documented compact fields; false preserves the public source record and nested extensions. Missing source fields remain absent."
43814
+ }
43815
+ },
43816
+ "required": ["url"],
43817
+ "additionalProperties": false
43818
+ },
43819
+ "outputSchema": {
43820
+ "anyOf": [
43821
+ {
43822
+ "type": "object",
43823
+ "properties": {
43824
+ "success": { "type": "boolean", "const": true },
43825
+ "status": { "type": "string", "enum": ["success", "partial"] },
43826
+ "requestId": { "type": "string" },
43827
+ "sourceUrl": { "type": "string", "format": "uri" },
43828
+ "fetchedAt": { "type": "string", "format": "date-time" },
43829
+ "coverage": {
43830
+ "type": "object",
43831
+ "properties": {
43832
+ "source": {
43833
+ "type": "string",
43834
+ "enum": ["public_resource", "public_page", "public_graphql", "public_widget"]
43835
+ },
43836
+ "complete": { "type": "boolean" },
43837
+ "warnings": {
43838
+ "type": "array",
43839
+ "items": {
43840
+ "type": "string",
43841
+ "enum": [
43842
+ "restricted_records",
43843
+ "malformed_records",
43844
+ "record_limit",
43845
+ "pagination_unavailable",
43846
+ "missing_pin_counts"
43847
+ ]
43848
+ }
43849
+ }
43850
+ },
43851
+ "required": ["source", "complete", "warnings"],
43852
+ "additionalProperties": true
43853
+ },
43854
+ "accounting": {
43855
+ "type": "object",
43856
+ "properties": {
43857
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
43858
+ "responseBytes": { "type": "integer", "minimum": 0 },
43859
+ "durationMs": { "type": "number", "minimum": 0 }
43860
+ },
43861
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
43862
+ "additionalProperties": true
43863
+ },
43864
+ "pins": {
43865
+ "type": "array",
43866
+ "items": {
43867
+ "type": "object",
43868
+ "properties": {
43869
+ "id": { "type": "string", "pattern": "^\\d+$" },
43870
+ "description": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
43871
+ "images": {
43872
+ "type": "object",
43873
+ "properties": {},
43874
+ "required": [],
43875
+ "additionalProperties": true
43876
+ },
43877
+ "pinner": {
43878
+ "anyOf": [
43879
+ {
43880
+ "type": "object",
43881
+ "properties": {},
43882
+ "required": [],
43883
+ "additionalProperties": true
43884
+ },
43885
+ { "type": "null" }
43886
+ ]
43887
+ }
43888
+ },
43889
+ "required": ["id", "description", "images", "pinner"],
43890
+ "additionalProperties": true
43891
+ },
43892
+ "maxItems": 100
43893
+ },
43894
+ "cursor": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
43895
+ },
43896
+ "required": [
43897
+ "success",
43898
+ "status",
43899
+ "requestId",
43900
+ "sourceUrl",
43901
+ "fetchedAt",
43902
+ "coverage",
43903
+ "accounting",
43904
+ "pins",
43905
+ "cursor"
43906
+ ],
43907
+ "additionalProperties": true
43908
+ },
43909
+ {
43910
+ "type": "object",
43911
+ "properties": {
43912
+ "success": { "type": "boolean", "const": false },
43913
+ "status": { "type": "string", "enum": ["failed", "challenged"] },
43914
+ "requestId": { "type": "string" },
43915
+ "accounting": {
43916
+ "type": "object",
43917
+ "properties": {
43918
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
41886
43919
  "responseBytes": { "type": "integer", "minimum": 0 },
41887
43920
  "durationMs": { "type": "number", "minimum": 0 }
41888
43921
  },
@@ -41925,19 +43958,19 @@
41925
43958
  },
41926
43959
  {
41927
43960
  "platform": "pinterest",
41928
- "action": "boards",
41929
- "operation": "pinterestBoards",
43961
+ "action": "pin-related",
43962
+ "operation": "pinterestPinRelated",
41930
43963
  "method": "GET",
41931
- "path": "/v1/pinterest/user/boards",
41932
- "description": "List a page of public boards with counts, metadata and cursor pagination. Use trim for compact records with identifiers, URLs, descriptions, counts, cover images and timestamps. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
43964
+ "path": "/v1/pinterest/pin/related",
43965
+ "description": "Retrieve the pins Pinterest recommends alongside a public pin (“More like this”) with images, titles, descriptions, destinations, authors, boards and counters. Pass cursor to continue. Trimmed pins contain id, url, description, created_at, pinner and images when supplied. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
41933
43966
  "inputSchema": {
41934
43967
  "type": "object",
41935
43968
  "properties": {
41936
- "handle": {
43969
+ "url": {
41937
43970
  "type": "string",
41938
- "pattern": "^[a-zA-Z0-9_]{1,60}$",
43971
+ "maxLength": 2048,
41939
43972
  "x-runtime-refinement": true,
41940
- "description": "Required Pinterest username, 1–60 letters, digits or underscores; normalized to lowercase."
43973
+ "description": "Required HTTPS pinterest.com or www.pinterest.com pin URL (/pin/<numeric-id>/). No credentials, explicit ports, short links, regional domains or encoded path segments. Tracking query parameters and fragments are removed."
41941
43974
  },
41942
43975
  "cursor": {
41943
43976
  "type": "string",
@@ -41952,7 +43985,7 @@
41952
43985
  "description": "Optional true or false (default false). True selects the documented compact fields; false preserves the public source record and nested extensions. Missing source fields remain absent."
41953
43986
  }
41954
43987
  },
41955
- "required": ["handle"],
43988
+ "required": ["url"],
41956
43989
  "additionalProperties": false
41957
43990
  },
41958
43991
  "outputSchema": {
@@ -41968,7 +44001,10 @@
41968
44001
  "coverage": {
41969
44002
  "type": "object",
41970
44003
  "properties": {
41971
- "source": { "type": "string", "enum": ["public_resource", "public_page"] },
44004
+ "source": {
44005
+ "type": "string",
44006
+ "enum": ["public_resource", "public_page", "public_graphql", "public_widget"]
44007
+ },
41972
44008
  "complete": { "type": "boolean" },
41973
44009
  "warnings": {
41974
44010
  "type": "array",
@@ -41990,24 +44026,39 @@
41990
44026
  "accounting": {
41991
44027
  "type": "object",
41992
44028
  "properties": {
41993
- "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 3 },
44029
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
41994
44030
  "responseBytes": { "type": "integer", "minimum": 0 },
41995
44031
  "durationMs": { "type": "number", "minimum": 0 }
41996
44032
  },
41997
44033
  "required": ["upstreamRequests", "responseBytes", "durationMs"],
41998
44034
  "additionalProperties": true
41999
44035
  },
42000
- "boards": {
44036
+ "pins": {
42001
44037
  "type": "array",
42002
44038
  "items": {
42003
44039
  "type": "object",
42004
44040
  "properties": {
42005
44041
  "id": { "type": "string", "pattern": "^\\d+$" },
42006
- "name": { "type": "string" },
42007
- "url": { "type": "string" },
42008
- "description": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
44042
+ "description": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
44043
+ "images": {
44044
+ "type": "object",
44045
+ "properties": {},
44046
+ "required": [],
44047
+ "additionalProperties": true
44048
+ },
44049
+ "pinner": {
44050
+ "anyOf": [
44051
+ {
44052
+ "type": "object",
44053
+ "properties": {},
44054
+ "required": [],
44055
+ "additionalProperties": true
44056
+ },
44057
+ { "type": "null" }
44058
+ ]
44059
+ }
42009
44060
  },
42010
- "required": ["id", "name", "url", "description"],
44061
+ "required": ["id", "description", "images", "pinner"],
42011
44062
  "additionalProperties": true
42012
44063
  },
42013
44064
  "maxItems": 100
@@ -42022,7 +44073,7 @@
42022
44073
  "fetchedAt",
42023
44074
  "coverage",
42024
44075
  "accounting",
42025
- "boards",
44076
+ "pins",
42026
44077
  "cursor"
42027
44078
  ],
42028
44079
  "additionalProperties": true
@@ -42036,7 +44087,7 @@
42036
44087
  "accounting": {
42037
44088
  "type": "object",
42038
44089
  "properties": {
42039
- "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 3 },
44090
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
42040
44091
  "responseBytes": { "type": "integer", "minimum": 0 },
42041
44092
  "durationMs": { "type": "number", "minimum": 0 }
42042
44093
  },
@@ -42079,22 +44130,22 @@
42079
44130
  },
42080
44131
  {
42081
44132
  "platform": "pinterest",
42082
- "action": "pin-metadata",
42083
- "operation": "pinterestPinMetadata",
44133
+ "action": "search-suggestions",
44134
+ "operation": "pinterestSearchSuggestions",
42084
44135
  "method": "GET",
42085
- "path": "/v1/pinterest/pin/metadata",
42086
- "description": "Retrieve a public pin’s metadata, including its description, images, media, destination, author, board and engagement fields. The pin object preserves Pinterest’s source field names and nested attributes. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
44136
+ "path": "/v1/pinterest/search/suggestions",
44137
+ "description": "Autocomplete a partial keyword with Pinterest’s own search suggestions: suggested queries with their search links, plus suggested accounts where Pinterest includes them. Suggestions keep Pinterest’s order and source fields. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
42087
44138
  "inputSchema": {
42088
44139
  "type": "object",
42089
44140
  "properties": {
42090
- "url": {
44141
+ "query": {
42091
44142
  "type": "string",
42092
- "maxLength": 2048,
42093
- "x-runtime-refinement": true,
42094
- "description": "Required Pinterest pin URL. The response includes its canonical public URL."
44143
+ "minLength": 1,
44144
+ "maxLength": 100,
44145
+ "description": "Required partial keyword, 1–100 characters after trimming."
42095
44146
  }
42096
44147
  },
42097
- "required": ["url"],
44148
+ "required": ["query"],
42098
44149
  "additionalProperties": false
42099
44150
  },
42100
44151
  "outputSchema": {
@@ -42110,7 +44161,10 @@
42110
44161
  "coverage": {
42111
44162
  "type": "object",
42112
44163
  "properties": {
42113
- "source": { "type": "string", "enum": ["public_resource", "public_page"] },
44164
+ "source": {
44165
+ "type": "string",
44166
+ "enum": ["public_resource", "public_page", "public_graphql", "public_widget"]
44167
+ },
42114
44168
  "complete": { "type": "boolean" },
42115
44169
  "warnings": {
42116
44170
  "type": "array",
@@ -42132,39 +44186,25 @@
42132
44186
  "accounting": {
42133
44187
  "type": "object",
42134
44188
  "properties": {
42135
- "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 3 },
44189
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
42136
44190
  "responseBytes": { "type": "integer", "minimum": 0 },
42137
44191
  "durationMs": { "type": "number", "minimum": 0 }
42138
44192
  },
42139
44193
  "required": ["upstreamRequests", "responseBytes", "durationMs"],
42140
44194
  "additionalProperties": true
42141
44195
  },
42142
- "pin": {
42143
- "type": "object",
42144
- "properties": {
42145
- "id": { "type": "string", "pattern": "^\\d+$" },
42146
- "description": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
42147
- "images": {
42148
- "type": "object",
42149
- "properties": {},
42150
- "required": [],
42151
- "additionalProperties": true
42152
- },
42153
- "pinner": {
42154
- "anyOf": [
42155
- {
42156
- "type": "object",
42157
- "properties": {},
42158
- "required": [],
42159
- "additionalProperties": true
42160
- },
42161
- { "type": "null" }
42162
- ]
44196
+ "suggestions": {
44197
+ "type": "array",
44198
+ "items": {
44199
+ "type": "object",
44200
+ "properties": {
44201
+ "type": { "type": "string", "minLength": 1 },
44202
+ "label": { "type": "string" }
42163
44203
  },
42164
- "url": { "type": "string", "format": "uri" }
44204
+ "required": ["type", "label"],
44205
+ "additionalProperties": true
42165
44206
  },
42166
- "required": ["id", "description", "images", "pinner", "url"],
42167
- "additionalProperties": true
44207
+ "maxItems": 100
42168
44208
  }
42169
44209
  },
42170
44210
  "required": [
@@ -42175,7 +44215,7 @@
42175
44215
  "fetchedAt",
42176
44216
  "coverage",
42177
44217
  "accounting",
42178
- "pin"
44218
+ "suggestions"
42179
44219
  ],
42180
44220
  "additionalProperties": true
42181
44221
  },
@@ -42188,7 +44228,7 @@
42188
44228
  "accounting": {
42189
44229
  "type": "object",
42190
44230
  "properties": {
42191
- "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 3 },
44231
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
42192
44232
  "responseBytes": { "type": "integer", "minimum": 0 },
42193
44233
  "durationMs": { "type": "number", "minimum": 0 }
42194
44234
  },
@@ -42231,19 +44271,19 @@
42231
44271
  },
42232
44272
  {
42233
44273
  "platform": "pinterest",
42234
- "action": "board",
42235
- "operation": "pinterestBoard",
44274
+ "action": "search-boards",
44275
+ "operation": "pinterestSearchBoards",
42236
44276
  "method": "GET",
42237
- "path": "/v1/pinterest/board",
42238
- "description": "Retrieve a page of pins from a public board, including the board information attached to each pin. Pass cursor and an optional board_id for the next page and use trim for compact pin records. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
44277
+ "path": "/v1/pinterest/search/boards",
44278
+ "description": "Discover public boards for a keyword with names, descriptions, owners, pin and follower counts, cover images and thumbnails. Pinterest controls ranking and page size; pass cursor to continue. Trimmed boards contain id, url, description, follower_count, pin_count, name, image_cover_hd_url and created_at when supplied. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
42239
44279
  "inputSchema": {
42240
44280
  "type": "object",
42241
44281
  "properties": {
42242
- "url": {
44282
+ "query": {
42243
44283
  "type": "string",
42244
- "maxLength": 2048,
42245
- "x-runtime-refinement": true,
42246
- "description": "Required HTTPS pinterest.com or www.pinterest.com board URL (/<handle>/<slug>/). Board slugs currently accept ASCII letters, digits, underscores and hyphens. No credentials, explicit ports, short links, regional domains or encoded path segments. Tracking query parameters and fragments are removed."
44284
+ "minLength": 1,
44285
+ "maxLength": 500,
44286
+ "description": "Required keyword, 1–500 characters after trimming."
42247
44287
  },
42248
44288
  "cursor": {
42249
44289
  "type": "string",
@@ -42252,18 +44292,13 @@
42252
44292
  "pattern": "^[A-Za-z0-9_~+/=|.*%-]+$",
42253
44293
  "description": "Optional source bookmark returned by the previous response. Reuse with the same query, handle, or board. Null means end of results unless coverage warns pagination_unavailable. Source cursors can expire. Maximum 16,384 characters."
42254
44294
  },
42255
- "board_id": {
42256
- "type": "string",
42257
- "pattern": "^\\d{1,30}$",
42258
- "description": "Optional numeric board id (board.id on every returned pin). With cursor, the continuation reads the board feed directly and still checks every pin against this id; without cursor the board is resolved as on the first page."
42259
- },
42260
44295
  "trim": {
42261
44296
  "type": "string",
42262
44297
  "enum": ["true", "false"],
42263
44298
  "description": "Optional true or false (default false). True selects the documented compact fields; false preserves the public source record and nested extensions. Missing source fields remain absent."
42264
44299
  }
42265
44300
  },
42266
- "required": ["url"],
44301
+ "required": ["query"],
42267
44302
  "additionalProperties": false
42268
44303
  },
42269
44304
  "outputSchema": {
@@ -42279,7 +44314,10 @@
42279
44314
  "coverage": {
42280
44315
  "type": "object",
42281
44316
  "properties": {
42282
- "source": { "type": "string", "enum": ["public_resource", "public_page"] },
44317
+ "source": {
44318
+ "type": "string",
44319
+ "enum": ["public_resource", "public_page", "public_graphql", "public_widget"]
44320
+ },
42283
44321
  "complete": { "type": "boolean" },
42284
44322
  "warnings": {
42285
44323
  "type": "array",
@@ -42301,39 +44339,24 @@
42301
44339
  "accounting": {
42302
44340
  "type": "object",
42303
44341
  "properties": {
42304
- "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 3 },
44342
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
42305
44343
  "responseBytes": { "type": "integer", "minimum": 0 },
42306
44344
  "durationMs": { "type": "number", "minimum": 0 }
42307
44345
  },
42308
44346
  "required": ["upstreamRequests", "responseBytes", "durationMs"],
42309
44347
  "additionalProperties": true
42310
44348
  },
42311
- "pins": {
44349
+ "boards": {
42312
44350
  "type": "array",
42313
44351
  "items": {
42314
44352
  "type": "object",
42315
44353
  "properties": {
42316
44354
  "id": { "type": "string", "pattern": "^\\d+$" },
42317
- "description": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
42318
- "images": {
42319
- "type": "object",
42320
- "properties": {},
42321
- "required": [],
42322
- "additionalProperties": true
42323
- },
42324
- "pinner": {
42325
- "anyOf": [
42326
- {
42327
- "type": "object",
42328
- "properties": {},
42329
- "required": [],
42330
- "additionalProperties": true
42331
- },
42332
- { "type": "null" }
42333
- ]
42334
- }
44355
+ "name": { "type": "string" },
44356
+ "url": { "type": "string" },
44357
+ "description": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
42335
44358
  },
42336
- "required": ["id", "description", "images", "pinner"],
44359
+ "required": ["id", "name", "url", "description"],
42337
44360
  "additionalProperties": true
42338
44361
  },
42339
44362
  "maxItems": 100
@@ -42348,7 +44371,7 @@
42348
44371
  "fetchedAt",
42349
44372
  "coverage",
42350
44373
  "accounting",
42351
- "pins",
44374
+ "boards",
42352
44375
  "cursor"
42353
44376
  ],
42354
44377
  "additionalProperties": true
@@ -42362,7 +44385,7 @@
42362
44385
  "accounting": {
42363
44386
  "type": "object",
42364
44387
  "properties": {
42365
- "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 3 },
44388
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
42366
44389
  "responseBytes": { "type": "integer", "minimum": 0 },
42367
44390
  "durationMs": { "type": "number", "minimum": 0 }
42368
44391
  },
@@ -42448,7 +44471,10 @@
42448
44471
  "coverage": {
42449
44472
  "type": "object",
42450
44473
  "properties": {
42451
- "source": { "type": "string", "enum": ["public_resource", "public_page"] },
44474
+ "source": {
44475
+ "type": "string",
44476
+ "enum": ["public_resource", "public_page", "public_graphql", "public_widget"]
44477
+ },
42452
44478
  "complete": { "type": "boolean" },
42453
44479
  "warnings": {
42454
44480
  "type": "array",
@@ -42470,7 +44496,7 @@
42470
44496
  "accounting": {
42471
44497
  "type": "object",
42472
44498
  "properties": {
42473
- "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 3 },
44499
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
42474
44500
  "responseBytes": { "type": "integer", "minimum": 0 },
42475
44501
  "durationMs": { "type": "number", "minimum": 0 }
42476
44502
  },
@@ -42531,7 +44557,162 @@
42531
44557
  "accounting": {
42532
44558
  "type": "object",
42533
44559
  "properties": {
42534
- "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 3 },
44560
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
44561
+ "responseBytes": { "type": "integer", "minimum": 0 },
44562
+ "durationMs": { "type": "number", "minimum": 0 }
44563
+ },
44564
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
44565
+ "additionalProperties": true
44566
+ },
44567
+ "failure": {
44568
+ "type": "object",
44569
+ "properties": {
44570
+ "code": {
44571
+ "type": "string",
44572
+ "enum": [
44573
+ "invalid_request",
44574
+ "unauthorized",
44575
+ "not_found",
44576
+ "upstream_challenged",
44577
+ "upstream_rate_limited",
44578
+ "upstream_error",
44579
+ "unsupported_page",
44580
+ "restricted_page",
44581
+ "response_too_large",
44582
+ "unsafe_redirect",
44583
+ "request_limit",
44584
+ "timeout",
44585
+ "payload_too_complex",
44586
+ "busy"
44587
+ ]
44588
+ },
44589
+ "message": { "type": "string" }
44590
+ },
44591
+ "required": ["code", "message"],
44592
+ "additionalProperties": true
44593
+ }
44594
+ },
44595
+ "required": ["success", "status", "requestId", "accounting", "failure"],
44596
+ "additionalProperties": true
44597
+ }
44598
+ ]
44599
+ }
44600
+ },
44601
+ {
44602
+ "platform": "pinterest",
44603
+ "action": "search-users",
44604
+ "operation": "pinterestSearchUsers",
44605
+ "method": "GET",
44606
+ "path": "/v1/pinterest/search/users",
44607
+ "description": "Find public Pinterest accounts for a keyword with usernames, display names, avatars, follower, pin and board counts, verification and recent pin thumbnails. Pass cursor to continue. Trimmed users contain id, username, url, full_name, image_medium_url, follower_count, pin_count, board_count and verified_identity when supplied. Each successful request costs 1 account credit, including partial results. Failures cost 0. HTTP 402 means insufficient credits. Responses preserve status, coverage, null values and pagination tokens.",
44608
+ "inputSchema": {
44609
+ "type": "object",
44610
+ "properties": {
44611
+ "query": {
44612
+ "type": "string",
44613
+ "minLength": 1,
44614
+ "maxLength": 500,
44615
+ "description": "Required keyword, 1–500 characters after trimming."
44616
+ },
44617
+ "cursor": {
44618
+ "type": "string",
44619
+ "minLength": 1,
44620
+ "maxLength": 16384,
44621
+ "pattern": "^[A-Za-z0-9_~+/=|.*%-]+$",
44622
+ "description": "Optional source bookmark returned by the previous response. Reuse with the same query, handle, or board. Null means end of results unless coverage warns pagination_unavailable. Source cursors can expire. Maximum 16,384 characters."
44623
+ },
44624
+ "trim": {
44625
+ "type": "string",
44626
+ "enum": ["true", "false"],
44627
+ "description": "Optional true or false (default false). True selects the documented compact fields; false preserves the public source record and nested extensions. Missing source fields remain absent."
44628
+ }
44629
+ },
44630
+ "required": ["query"],
44631
+ "additionalProperties": false
44632
+ },
44633
+ "outputSchema": {
44634
+ "anyOf": [
44635
+ {
44636
+ "type": "object",
44637
+ "properties": {
44638
+ "success": { "type": "boolean", "const": true },
44639
+ "status": { "type": "string", "enum": ["success", "partial"] },
44640
+ "requestId": { "type": "string" },
44641
+ "sourceUrl": { "type": "string", "format": "uri" },
44642
+ "fetchedAt": { "type": "string", "format": "date-time" },
44643
+ "coverage": {
44644
+ "type": "object",
44645
+ "properties": {
44646
+ "source": {
44647
+ "type": "string",
44648
+ "enum": ["public_resource", "public_page", "public_graphql", "public_widget"]
44649
+ },
44650
+ "complete": { "type": "boolean" },
44651
+ "warnings": {
44652
+ "type": "array",
44653
+ "items": {
44654
+ "type": "string",
44655
+ "enum": [
44656
+ "restricted_records",
44657
+ "malformed_records",
44658
+ "record_limit",
44659
+ "pagination_unavailable",
44660
+ "missing_pin_counts"
44661
+ ]
44662
+ }
44663
+ }
44664
+ },
44665
+ "required": ["source", "complete", "warnings"],
44666
+ "additionalProperties": true
44667
+ },
44668
+ "accounting": {
44669
+ "type": "object",
44670
+ "properties": {
44671
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
44672
+ "responseBytes": { "type": "integer", "minimum": 0 },
44673
+ "durationMs": { "type": "number", "minimum": 0 }
44674
+ },
44675
+ "required": ["upstreamRequests", "responseBytes", "durationMs"],
44676
+ "additionalProperties": true
44677
+ },
44678
+ "users": {
44679
+ "type": "array",
44680
+ "items": {
44681
+ "type": "object",
44682
+ "properties": {
44683
+ "id": { "type": "string", "pattern": "^\\d+$" },
44684
+ "username": { "type": "string", "pattern": "^[a-zA-Z0-9_]{1,60}$" }
44685
+ },
44686
+ "required": ["id", "username"],
44687
+ "additionalProperties": true
44688
+ },
44689
+ "maxItems": 100
44690
+ },
44691
+ "cursor": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
44692
+ },
44693
+ "required": [
44694
+ "success",
44695
+ "status",
44696
+ "requestId",
44697
+ "sourceUrl",
44698
+ "fetchedAt",
44699
+ "coverage",
44700
+ "accounting",
44701
+ "users",
44702
+ "cursor"
44703
+ ],
44704
+ "additionalProperties": true
44705
+ },
44706
+ {
44707
+ "type": "object",
44708
+ "properties": {
44709
+ "success": { "type": "boolean", "const": false },
44710
+ "status": { "type": "string", "enum": ["failed", "challenged"] },
44711
+ "requestId": { "type": "string" },
44712
+ "accounting": {
44713
+ "type": "object",
44714
+ "properties": {
44715
+ "upstreamRequests": { "type": "integer", "minimum": 0, "maximum": 11 },
42535
44716
  "responseBytes": { "type": "integer", "minimum": 0 },
42536
44717
  "durationMs": { "type": "number", "minimum": 0 }
42537
44718
  },