openapi: 3.2.0 info: title: Monocrawl Etsy API version: 0.1.0 description: One key, one envelope, one credit meter across social, search, commerce and web data. contact: name: Monocrawl support url: https://www.monocrawl.com/contact termsOfService: https://www.monocrawl.com/legal/terms-and-conditions servers: - url: https://www.monocrawl.com security: - ApiKeyHeader: [] tags: - name: Etsy paths: /v1/etsy/categories: get: operationId: etsy_categories tags: - Etsy summary: Etsy categories description: The Etsy category tree, or one branch of it. Costs 4 credits per successful live response. parameters: - name: parent_id in: query required: false schema: type: string example: '' description: Parent category id for its children - name: depth in: query required: false schema: type: string example: '1' description: Tree depth, 1-3 - name: query in: query required: false schema: type: string example: '' description: Category name search - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/etsy/categories.json title: etsy/categories data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: count: description: Number of records in this response, not lifetime or total matches. type: - number - 'null' has_more: description: Source continuation indicator; null means unknown. type: - boolean - 'null' items: description: Returned records. Source coverage and completeness vary. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: object properties: children: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array - 'null' items: {} children_count: description: Optional children count supplied by this operation. Null means unknown. type: - number - 'null' children_ids: description: Optional children ids supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' level: description: Optional level supplied by this operation. Null means unknown. type: - number - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' path: description: Optional path supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - children properties: children: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array items: {} - required: - children_count properties: children_count: description: Optional children count supplied by this operation. Null means unknown. type: - number - required: - children_ids properties: children_ids: description: Optional children ids supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - id properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string minLength: 1 - required: - level properties: level: description: Optional level supplied by this operation. Null means unknown. type: - number - required: - name properties: name: description: Optional name supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - path properties: path: description: Optional path supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - url properties: url: description: Original source URL when supplied. type: - string minLength: 1 additionalProperties: true required: - items x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - count: 0 has_more: false items: - children: [] children_count: 0 children_ids: - example id: example level: 0 name: example path: example url: https://example.com/example default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/etsy/category-products: get: operationId: etsy_category_products tags: - Etsy summary: Etsy category listings description: Listings in an Etsy category, 64 per page. Costs 4 credits per successful live response. parameters: - name: path in: query required: true schema: type: string example: jewelry/necklaces description: Category path, or its etsy.com/c/ URL - name: page in: query required: false schema: type: string example: '1' description: Page number (64 per page) - name: sort in: query required: false schema: type: string enum: - relevancy - most_recent - price_asc - price_desc - highest_reviews example: '' description: 'relevancy, most_recent, price_asc, price_desc or highest_reviews Accepted values: relevancy, most_recent, price_asc, price_desc, highest_reviews. Case, spaces, hyphens and underscores are interchangeable.' - name: min_price in: query required: false schema: type: string example: '' description: Minimum price - name: max_price in: query required: false schema: type: string example: '' description: Maximum price - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/etsy/category-products.json title: etsy/category-products data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: count: description: Number of records in this response, not lifetime or total matches. type: - number - 'null' cursor: description: Opaque next-page token; pass it back unchanged. Null does not prove complete history. type: - string - 'null' has_more: description: Source continuation indicator; null means unknown. type: - boolean - 'null' items: description: Returned records. Source coverage and completeness vary. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: object properties: bestseller: description: Optional bestseller supplied by this operation. Null means unknown. type: - boolean - 'null' currency: description: Optional currency supplied by this operation. Null means unknown. type: - string - 'null' discount_percent: description: Optional discount percent supplied by this operation. Null means unknown. type: - number - 'null' etsys_pick: description: Optional etsys pick supplied by this operation. Null means unknown. type: - boolean - 'null' free_shipping: description: Optional free shipping supplied by this operation. Null means unknown. type: - boolean - 'null' has_video: description: Optional has video supplied by this operation. Null means unknown. type: - boolean - 'null' id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' image: description: Optional image supplied by this operation. Null means unknown. type: - string - 'null' images: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array - 'null' items: {} is_ad: description: Optional is ad supplied by this operation. Null means unknown. type: - boolean - 'null' original_price: description: Optional original price supplied by this operation. Null means unknown. type: - number - 'null' platform: description: Optional platform supplied by this operation. Null means unknown. type: - string - 'null' popular_now: description: Optional popular now supplied by this operation. Null means unknown. type: - boolean - 'null' price: description: Source price. Currency, taxes and availability depend on the listing. type: - number - 'null' reviews_count: description: Optional reviews count supplied by this operation. Null means unknown. type: - number - 'null' shop: description: Optional shop supplied by this operation. Null means unknown. type: - object - 'null' properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true star_seller: description: Optional star seller supplied by this operation. Null means unknown. type: - boolean - 'null' thumbnail: description: Optional thumbnail supplied by this operation. Null means unknown. type: - string - 'null' title: description: Source title when supplied. type: - string - 'null' type: description: Optional type supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - bestseller properties: bestseller: description: Optional bestseller supplied by this operation. Null means unknown. type: - boolean - required: - currency properties: currency: description: Optional currency supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - discount_percent properties: discount_percent: description: Optional discount percent supplied by this operation. Null means unknown. type: - number - required: - etsys_pick properties: etsys_pick: description: Optional etsys pick supplied by this operation. Null means unknown. type: - boolean - required: - free_shipping properties: free_shipping: description: Optional free shipping supplied by this operation. Null means unknown. type: - boolean - required: - has_video properties: has_video: description: Optional has video supplied by this operation. Null means unknown. type: - boolean - required: - id properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string minLength: 1 - required: - image properties: image: description: Optional image supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - images properties: images: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array items: {} - required: - is_ad properties: is_ad: description: Optional is ad supplied by this operation. Null means unknown. type: - boolean - required: - original_price properties: original_price: description: Optional original price supplied by this operation. Null means unknown. type: - number - required: - popular_now properties: popular_now: description: Optional popular now supplied by this operation. Null means unknown. type: - boolean - required: - price properties: price: description: Source price. Currency, taxes and availability depend on the listing. type: - number - required: - reviews_count properties: reviews_count: description: Optional reviews count supplied by this operation. Null means unknown. type: - number - required: - shop properties: shop: description: Optional shop supplied by this operation. Null means unknown. type: - object properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true - required: - star_seller properties: star_seller: description: Optional star seller supplied by this operation. Null means unknown. type: - boolean - required: - thumbnail properties: thumbnail: description: Optional thumbnail supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - title properties: title: description: Source title when supplied. type: - string minLength: 1 - required: - url properties: url: description: Original source URL when supplied. type: - string minLength: 1 page: description: Optional page supplied by this operation. Null means unknown. type: - number - 'null' path: description: Optional path supplied by this operation. Null means unknown. type: - string - 'null' total: description: Source-reported total; null is unknown. type: - number - 'null' additionalProperties: true required: - items x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - count: 0 cursor: null has_more: false items: - bestseller: false currency: example discount_percent: 0 etsys_pick: false free_shipping: false has_video: false id: example image: https://example.com/example images: [] is_ad: false original_price: 0 platform: example popular_now: false price: 0 reviews_count: 0 shop: id: example name: example url: https://example.com/example star_seller: false thumbnail: example title: example type: example url: https://example.com/example page: 0 path: example total: 0 default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/etsy/product: get: operationId: etsy_product tags: - Etsy summary: Etsy listing description: 'One Etsy listing: title, description, price, availability, images, tags, materials, category, shop, favourites, views and recent reviews. Costs 4 credits per successful live response.' parameters: - name: id in: query required: true schema: type: string example: '4429284280' description: Etsy listing id, or its URL - name: currency in: query required: false schema: type: string example: USD description: Currency code - name: region in: query required: false schema: type: string example: US description: Two-letter region - name: language in: query required: false schema: type: string example: en-US description: Language - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/etsy/product.json title: etsy/product data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: available: description: Optional available supplied by this operation. Null means unknown. type: - boolean - 'null' bestseller: description: Optional bestseller supplied by this operation. Null means unknown. type: - boolean - 'null' category: description: Optional category supplied by this operation. Null means unknown. type: - object - 'null' properties: taxonomy: description: Optional taxonomy supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true created_at: description: Source creation time, not the API retrieval time. type: - string - 'null' currency: description: Optional currency supplied by this operation. Null means unknown. type: - string - 'null' customizable: description: Optional customizable supplied by this operation. Null means unknown. type: - boolean - 'null' description: description: Source description; null or absent means not supplied. type: - string - 'null' digital: description: Optional digital supplied by this operation. Null means unknown. type: - boolean - 'null' favorites: description: Optional favorites supplied by this operation. Null means unknown. type: - number - 'null' id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' image: description: Optional image supplied by this operation. Null means unknown. type: - string - 'null' images: description: Optional images supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' made_to_order: description: Optional made to order supplied by this operation. Null means unknown. type: - boolean - 'null' materials: description: Optional materials supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' platform: description: Optional platform supplied by this operation. Null means unknown. type: - string - 'null' price: description: Source price. Currency, taxes and availability depend on the listing. type: - number - 'null' price_usd: description: Optional price usd supplied by this operation. Null means unknown. type: - number - 'null' quantity: description: Optional quantity supplied by this operation. Null means unknown. type: - number - 'null' recent_reviews: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array - 'null' items: {} reviews_summary: description: Optional reviews summary supplied by this operation. Null means unknown. type: - object - 'null' properties: average_rating: description: Optional average rating supplied by this operation. Null means unknown. type: - number - 'null' rating_counts: description: Optional rating counts supplied by this operation. Null means unknown. type: - object - 'null' properties: All: description: Optional All supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true tags: description: Optional tags supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' negative: description: Optional negative supplied by this operation. Null means unknown. type: - number - 'null' positive: description: Optional positive supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true total_reviews: description: Optional total reviews supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true section: description: Optional section supplied by this operation. Null means unknown. type: - string - 'null' ships_from: description: Optional ships from supplied by this operation. Null means unknown. type: - string - 'null' shop: description: Optional shop supplied by this operation. Null means unknown. type: - object - 'null' properties: avatar: description: Optional avatar supplied by this operation. Null means unknown. type: - string - 'null' id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true similar: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array - 'null' items: {} sold_out: description: Optional sold out supplied by this operation. Null means unknown. type: - boolean - 'null' state: description: Optional state supplied by this operation. Null means unknown. type: - string - 'null' tags: description: Optional tags supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' title: description: Source title when supplied. type: - string - 'null' top_rated: description: Optional top rated supplied by this operation. Null means unknown. type: - boolean - 'null' type: description: Optional type supplied by this operation. Null means unknown. type: - string - 'null' updated_at: description: Optional updated at supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' variation_pricing: description: Optional variation pricing supplied by this operation. Null means unknown. type: - boolean - 'null' views: description: Optional views supplied by this operation. Null means unknown. type: - number - 'null' vintage: description: Optional vintage supplied by this operation. Null means unknown. type: - boolean - 'null' when_made: description: Optional when made supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - available properties: available: description: Optional available supplied by this operation. Null means unknown. type: - boolean - required: - bestseller properties: bestseller: description: Optional bestseller supplied by this operation. Null means unknown. type: - boolean - required: - category properties: category: description: Optional category supplied by this operation. Null means unknown. type: - object properties: taxonomy: description: Optional taxonomy supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true - required: - created_at properties: created_at: description: Source creation time, not the API retrieval time. type: - string minLength: 1 - required: - currency properties: currency: description: Optional currency supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - customizable properties: customizable: description: Optional customizable supplied by this operation. Null means unknown. type: - boolean - required: - description properties: description: description: Source description; null or absent means not supplied. type: - string minLength: 1 - required: - digital properties: digital: description: Optional digital supplied by this operation. Null means unknown. type: - boolean - required: - favorites properties: favorites: description: Optional favorites supplied by this operation. Null means unknown. type: - number - required: - id properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string minLength: 1 - required: - image properties: image: description: Optional image supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - images properties: images: description: Optional images supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - made_to_order properties: made_to_order: description: Optional made to order supplied by this operation. Null means unknown. type: - boolean - required: - materials properties: materials: description: Optional materials supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - price properties: price: description: Source price. Currency, taxes and availability depend on the listing. type: - number - required: - price_usd properties: price_usd: description: Optional price usd supplied by this operation. Null means unknown. type: - number - required: - quantity properties: quantity: description: Optional quantity supplied by this operation. Null means unknown. type: - number - required: - recent_reviews properties: recent_reviews: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array items: {} - required: - reviews_summary properties: reviews_summary: description: Optional reviews summary supplied by this operation. Null means unknown. type: - object properties: average_rating: description: Optional average rating supplied by this operation. Null means unknown. type: - number - 'null' rating_counts: description: Optional rating counts supplied by this operation. Null means unknown. type: - object - 'null' properties: All: description: Optional All supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true tags: description: Optional tags supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' negative: description: Optional negative supplied by this operation. Null means unknown. type: - number - 'null' positive: description: Optional positive supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true total_reviews: description: Optional total reviews supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true - required: - section properties: section: description: Optional section supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - ships_from properties: ships_from: description: Optional ships from supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - shop properties: shop: description: Optional shop supplied by this operation. Null means unknown. type: - object properties: avatar: description: Optional avatar supplied by this operation. Null means unknown. type: - string - 'null' id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true - required: - similar properties: similar: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array items: {} - required: - sold_out properties: sold_out: description: Optional sold out supplied by this operation. Null means unknown. type: - boolean - required: - state properties: state: description: Optional state supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - tags properties: tags: description: Optional tags supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - title properties: title: description: Source title when supplied. type: - string minLength: 1 - required: - top_rated properties: top_rated: description: Optional top rated supplied by this operation. Null means unknown. type: - boolean - required: - updated_at properties: updated_at: description: Optional updated at supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - url properties: url: description: Original source URL when supplied. type: - string minLength: 1 - required: - variation_pricing properties: variation_pricing: description: Optional variation pricing supplied by this operation. Null means unknown. type: - boolean - required: - views properties: views: description: Optional views supplied by this operation. Null means unknown. type: - number - required: - vintage properties: vintage: description: Optional vintage supplied by this operation. Null means unknown. type: - boolean - required: - when_made properties: when_made: description: Optional when made supplied by this operation. Null means unknown. type: - string minLength: 1 x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - available: false bestseller: false category: taxonomy: example created_at: '2026-09-01T12:00:00Z' currency: example customizable: false description: example digital: false favorites: 0 id: example image: https://example.com/example images: - example made_to_order: false materials: - example platform: example price: 0 price_usd: 0 quantity: 0 recent_reviews: [] reviews_summary: average_rating: 0 rating_counts: All: 0 tags: - name: example negative: 0 positive: 0 total_reviews: 0 section: example ships_from: example shop: avatar: https://example.com/example id: example name: example url: https://example.com/example similar: [] sold_out: false state: example tags: - example title: example top_rated: false type: example updated_at: '2026-09-01T12:00:00Z' url: https://example.com/example variation_pricing: false views: 0 vintage: false when_made: example default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/etsy/reviews: get: operationId: etsy_reviews tags: - Etsy summary: Etsy listing reviews description: Reviews of an Etsy listing, eight per page, with the rating distribution and review themes. Costs 4 credits per successful live response. parameters: - name: id in: query required: true schema: type: string example: '4429284280' description: Etsy listing id, or its URL - name: page in: query required: false schema: type: string example: '1' description: Page number (8 per page) - name: scope in: query required: false schema: type: string enum: - listing - shop example: listing description: 'listing or shop Accepted values: listing, shop. Case, spaces, hyphens and underscores are interchangeable.' - name: sort in: query required: false schema: type: string enum: - relevancy - recency - highest - lowest example: relevancy description: 'relevancy, recency, highest or lowest Accepted values: relevancy, recency, highest, lowest. Case, spaces, hyphens and underscores are interchangeable.' - name: rating in: query required: false schema: type: string example: '' description: Only this star rating (1-5) - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/etsy/reviews.json title: etsy/reviews data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: count: description: Number of records in this response, not lifetime or total matches. type: - number - 'null' cursor: description: Opaque next-page token; pass it back unchanged. Null does not prove complete history. type: - string - 'null' has_more: description: Source continuation indicator; null means unknown. type: - boolean - 'null' items: description: Returned records. Source coverage and completeness vary. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: object properties: author: description: Public author information supplied with this record. type: - object - 'null' properties: avatar: description: Optional avatar supplied by this operation. Null means unknown. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' listing: description: Optional listing supplied by this operation. Null means unknown. type: - object - 'null' properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' title: description: Source title when supplied. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true platform: description: Optional platform supplied by this operation. Null means unknown. type: - string - 'null' posted_at: description: Optional posted at supplied by this operation. Null means unknown. type: - string - 'null' rating: description: Source rating; read its accompanying scale and vote count. type: - number - 'null' recommended: description: Optional recommended supplied by this operation. Null means unknown. type: - boolean - 'null' text: description: Source text when supplied. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - author properties: author: description: Public author information supplied with this record. type: - object properties: avatar: description: Optional avatar supplied by this operation. Null means unknown. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true - required: - id properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string minLength: 1 - required: - listing properties: listing: description: Optional listing supplied by this operation. Null means unknown. type: - object properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' title: description: Source title when supplied. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true - required: - posted_at properties: posted_at: description: Optional posted at supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - rating properties: rating: description: Source rating; read its accompanying scale and vote count. type: - number - required: - recommended properties: recommended: description: Optional recommended supplied by this operation. Null means unknown. type: - boolean - required: - text properties: text: description: Source text when supplied. type: - string minLength: 1 listing_id: description: Optional listing id supplied by this operation. Null means unknown. type: - string - 'null' page: description: Optional page supplied by this operation. Null means unknown. type: - number - 'null' photos: description: Optional photos supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' rating: description: Source rating; read its accompanying scale and vote count. type: - object - 'null' properties: max: description: Optional max supplied by this operation. Null means unknown. type: - number - 'null' value: description: Optional value supplied by this operation. Null means unknown. type: - number - 'null' votes: description: Optional votes supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true rating_distribution: description: Optional rating distribution supplied by this operation. Null means unknown. type: - object - 'null' properties: All: description: Optional All supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true themes: description: Optional themes supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' negative: description: Optional negative supplied by this operation. Null means unknown. type: - number - 'null' positive: description: Optional positive supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true total: description: Source-reported total; null is unknown. type: - number - 'null' total_pages: description: Optional total pages supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true required: - items x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - count: 0 cursor: null has_more: false items: - author: avatar: https://example.com/example name: example url: https://example.com/example id: example listing: id: example title: example url: https://example.com/example platform: example posted_at: '2026-09-01T12:00:00Z' rating: 0 recommended: false text: example listing_id: example page: 0 photos: - example rating: max: 0 value: 0 votes: 0 rating_distribution: All: 0 themes: - name: example negative: 0 positive: 0 total: 0 total_pages: 0 default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/etsy/search: get: operationId: etsy_search tags: - Etsy summary: Etsy listing search description: Listings matching a keyword, twelve per page, with price, discount, shop, rating and badges. Costs 4 credits per successful live response. parameters: - name: query in: query required: true schema: type: string example: wool socks description: Search keyword - name: page in: query required: false schema: type: string example: '1' description: Page number (12 per page) - name: sort in: query required: false schema: type: string enum: - relevancy - most_recent - price_asc - price_desc - highest_reviews example: relevancy description: 'relevancy, most_recent, price_asc, price_desc or highest_reviews Accepted values: relevancy, most_recent, price_asc, price_desc, highest_reviews. Case, spaces, hyphens and underscores are interchangeable.' - name: min_price in: query required: false schema: type: string example: '' description: Minimum price - name: max_price in: query required: false schema: type: string example: '' description: Maximum price - name: ship_to in: query required: false schema: type: string example: '' description: Two-letter country - name: currency in: query required: false schema: type: string example: USD description: Currency code - name: region in: query required: false schema: type: string example: US description: Two-letter region - name: language in: query required: false schema: type: string example: en-US description: Language - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/etsy/search.json title: etsy/search data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: count: description: Number of records in this response, not lifetime or total matches. type: - number - 'null' cursor: description: Opaque next-page token; pass it back unchanged. Null does not prove complete history. type: - string - 'null' has_more: description: Source continuation indicator; null means unknown. type: - boolean - 'null' items: description: Returned records. Source coverage and completeness vary. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: object properties: bestseller: description: Optional bestseller supplied by this operation. Null means unknown. type: - boolean - 'null' color_options: description: Optional color options supplied by this operation. Null means unknown. type: - number - 'null' currency: description: Optional currency supplied by this operation. Null means unknown. type: - string - 'null' discount_percent: description: Optional discount percent supplied by this operation. Null means unknown. type: - number - 'null' etsys_pick: description: Optional etsys pick supplied by this operation. Null means unknown. type: - boolean - 'null' free_shipping: description: Optional free shipping supplied by this operation. Null means unknown. type: - boolean - 'null' has_video: description: Optional has video supplied by this operation. Null means unknown. type: - boolean - 'null' id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' image: description: Optional image supplied by this operation. Null means unknown. type: - string - 'null' images: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array - 'null' items: {} is_ad: description: Optional is ad supplied by this operation. Null means unknown. type: - boolean - 'null' original_price: description: Optional original price supplied by this operation. Null means unknown. type: - number - 'null' platform: description: Optional platform supplied by this operation. Null means unknown. type: - string - 'null' popular_now: description: Optional popular now supplied by this operation. Null means unknown. type: - boolean - 'null' price: description: Source price. Currency, taxes and availability depend on the listing. type: - number - 'null' rating: description: Source rating; read its accompanying scale and vote count. type: - object - 'null' properties: max: description: Optional max supplied by this operation. Null means unknown. type: - number - 'null' value: description: Optional value supplied by this operation. Null means unknown. type: - number - 'null' votes: description: Optional votes supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true reviews_count: description: Optional reviews count supplied by this operation. Null means unknown. type: - number - 'null' shop: description: Optional shop supplied by this operation. Null means unknown. type: - object - 'null' properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true star_seller: description: Optional star seller supplied by this operation. Null means unknown. type: - boolean - 'null' thumbnail: description: Optional thumbnail supplied by this operation. Null means unknown. type: - string - 'null' title: description: Source title when supplied. type: - string - 'null' type: description: Optional type supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - bestseller properties: bestseller: description: Optional bestseller supplied by this operation. Null means unknown. type: - boolean - required: - color_options properties: color_options: description: Optional color options supplied by this operation. Null means unknown. type: - number - required: - currency properties: currency: description: Optional currency supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - discount_percent properties: discount_percent: description: Optional discount percent supplied by this operation. Null means unknown. type: - number - required: - etsys_pick properties: etsys_pick: description: Optional etsys pick supplied by this operation. Null means unknown. type: - boolean - required: - free_shipping properties: free_shipping: description: Optional free shipping supplied by this operation. Null means unknown. type: - boolean - required: - has_video properties: has_video: description: Optional has video supplied by this operation. Null means unknown. type: - boolean - required: - id properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string minLength: 1 - required: - image properties: image: description: Optional image supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - images properties: images: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array items: {} - required: - is_ad properties: is_ad: description: Optional is ad supplied by this operation. Null means unknown. type: - boolean - required: - original_price properties: original_price: description: Optional original price supplied by this operation. Null means unknown. type: - number - required: - popular_now properties: popular_now: description: Optional popular now supplied by this operation. Null means unknown. type: - boolean - required: - price properties: price: description: Source price. Currency, taxes and availability depend on the listing. type: - number - required: - rating properties: rating: description: Source rating; read its accompanying scale and vote count. type: - object properties: max: description: Optional max supplied by this operation. Null means unknown. type: - number - 'null' value: description: Optional value supplied by this operation. Null means unknown. type: - number - 'null' votes: description: Optional votes supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true - required: - reviews_count properties: reviews_count: description: Optional reviews count supplied by this operation. Null means unknown. type: - number - required: - shop properties: shop: description: Optional shop supplied by this operation. Null means unknown. type: - object properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true - required: - star_seller properties: star_seller: description: Optional star seller supplied by this operation. Null means unknown. type: - boolean - required: - thumbnail properties: thumbnail: description: Optional thumbnail supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - title properties: title: description: Source title when supplied. type: - string minLength: 1 - required: - url properties: url: description: Original source URL when supplied. type: - string minLength: 1 page: description: Optional page supplied by this operation. Null means unknown. type: - number - 'null' query: description: Optional query supplied by this operation. Null means unknown. type: - string - 'null' sort: description: Optional sort supplied by this operation. Null means unknown. type: - string - 'null' total: description: Source-reported total; null is unknown. type: - number - 'null' additionalProperties: true required: - items x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - count: 0 cursor: null has_more: false items: - bestseller: false color_options: 0 currency: example discount_percent: 0 etsys_pick: false free_shipping: false has_video: false id: example image: https://example.com/example images: [] is_ad: false original_price: 0 platform: example popular_now: false price: 0 rating: max: 0 value: 0 votes: 0 reviews_count: 0 shop: id: example name: example url: https://example.com/example star_seller: false thumbnail: example title: example type: example url: https://example.com/example page: 0 query: example sort: example total: 0 default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/etsy/shop: get: operationId: etsy_shop tags: - Etsy summary: Etsy shop description: 'One Etsy shop: sales, rating, seller, location, listing counts and sections. Costs 4 credits per successful live response.' parameters: - name: shop in: query required: true schema: type: string example: Qorux description: Shop name, numeric id or URL - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/etsy/shop.json title: etsy/shop data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: created_at: description: Source creation time, not the API retrieval time. type: - string - 'null' currency: description: Optional currency supplied by this operation. Null means unknown. type: - string - 'null' digital_listings_count: description: Optional digital listings count supplied by this operation. Null means unknown. type: - number - 'null' id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' listings_count: description: Optional listings count supplied by this operation. Null means unknown. type: - number - 'null' location: description: Optional location supplied by this operation. Null means unknown. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' on_vacation: description: Optional on vacation supplied by this operation. Null means unknown. type: - boolean - 'null' open: description: Optional open supplied by this operation. Null means unknown. type: - boolean - 'null' platform: description: Optional platform supplied by this operation. Null means unknown. type: - string - 'null' rating: description: Source rating; read its accompanying scale and vote count. type: - object - 'null' properties: max: description: Optional max supplied by this operation. Null means unknown. type: - number - 'null' value: description: Optional value supplied by this operation. Null means unknown. type: - number - 'null' votes: description: Optional votes supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true reviews_count: description: Optional reviews count supplied by this operation. Null means unknown. type: - number - 'null' sales: description: Optional sales supplied by this operation. Null means unknown. type: - number - 'null' sections: description: Optional sections supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' listings_count: description: Optional listings count supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true seller: description: Optional seller supplied by this operation. Null means unknown. type: - object - 'null' properties: avatar: description: Optional avatar supplied by this operation. Null means unknown. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' since: description: Optional since supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true type: description: Optional type supplied by this operation. Null means unknown. type: - string - 'null' updated_at: description: Optional updated at supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - created_at properties: created_at: description: Source creation time, not the API retrieval time. type: - string minLength: 1 - required: - currency properties: currency: description: Optional currency supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - digital_listings_count properties: digital_listings_count: description: Optional digital listings count supplied by this operation. Null means unknown. type: - number - required: - id properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string minLength: 1 - required: - listings_count properties: listings_count: description: Optional listings count supplied by this operation. Null means unknown. type: - number - required: - location properties: location: description: Optional location supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - name properties: name: description: Optional name supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - on_vacation properties: on_vacation: description: Optional on vacation supplied by this operation. Null means unknown. type: - boolean - required: - open properties: open: description: Optional open supplied by this operation. Null means unknown. type: - boolean - required: - rating properties: rating: description: Source rating; read its accompanying scale and vote count. type: - object properties: max: description: Optional max supplied by this operation. Null means unknown. type: - number - 'null' value: description: Optional value supplied by this operation. Null means unknown. type: - number - 'null' votes: description: Optional votes supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true - required: - reviews_count properties: reviews_count: description: Optional reviews count supplied by this operation. Null means unknown. type: - number - required: - sales properties: sales: description: Optional sales supplied by this operation. Null means unknown. type: - number - required: - sections properties: sections: description: Optional sections supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' listings_count: description: Optional listings count supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true - required: - seller properties: seller: description: Optional seller supplied by this operation. Null means unknown. type: - object properties: avatar: description: Optional avatar supplied by this operation. Null means unknown. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' since: description: Optional since supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true - required: - updated_at properties: updated_at: description: Optional updated at supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - url properties: url: description: Original source URL when supplied. type: - string minLength: 1 x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - created_at: '2026-09-01T12:00:00Z' currency: example digital_listings_count: 0 id: example listings_count: 0 location: example name: example on_vacation: false open: false platform: example rating: max: 0 value: 0 votes: 0 reviews_count: 0 sales: 0 sections: - id: example listings_count: 0 seller: avatar: https://example.com/example name: example since: example type: example updated_at: '2026-09-01T12:00:00Z' url: https://example.com/example default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/etsy/shop-products: get: operationId: etsy_shop_products tags: - Etsy summary: Etsy shop listings description: The listings of an Etsy shop, with price, discount, badges and processing time. Costs 4 credits per successful live response. parameters: - name: shop in: query required: true schema: type: string example: Qorux description: Shop name, numeric id or URL - name: page in: query required: false schema: type: string example: '1' description: Page number - name: limit in: query required: false schema: type: string example: '24' description: Up to 48 per page - name: section_id in: query required: false schema: type: string example: '' description: A section id from etsy/shop - name: sort in: query required: false schema: type: string enum: - created - price_asc - price_desc - score example: created description: 'created, price_asc, price_desc or score Accepted values: created, price_asc, price_desc, score. Case, spaces, hyphens and underscores are interchangeable.' - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/etsy/shop-products.json title: etsy/shop-products data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: count: description: Number of records in this response, not lifetime or total matches. type: - number - 'null' cursor: description: Opaque next-page token; pass it back unchanged. Null does not prove complete history. type: - string - 'null' has_more: description: Source continuation indicator; null means unknown. type: - boolean - 'null' items: description: Returned records. Source coverage and completeness vary. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: object properties: available: description: Optional available supplied by this operation. Null means unknown. type: - boolean - 'null' bestseller: description: Optional bestseller supplied by this operation. Null means unknown. type: - boolean - 'null' created_at: description: Source creation time, not the API retrieval time. type: - string - 'null' currency: description: Optional currency supplied by this operation. Null means unknown. type: - string - 'null' customizable: description: Optional customizable supplied by this operation. Null means unknown. type: - boolean - 'null' digital: description: Optional digital supplied by this operation. Null means unknown. type: - boolean - 'null' has_video: description: Optional has video supplied by this operation. Null means unknown. type: - boolean - 'null' id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' image: description: Optional image supplied by this operation. Null means unknown. type: - string - 'null' images: description: Optional images supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' made_to_order: description: Optional made to order supplied by this operation. Null means unknown. type: - boolean - 'null' materials: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array - 'null' items: {} platform: description: Optional platform supplied by this operation. Null means unknown. type: - string - 'null' price: description: Source price. Currency, taxes and availability depend on the listing. type: - number - 'null' quantity: description: Optional quantity supplied by this operation. Null means unknown. type: - number - 'null' shop: description: Optional shop supplied by this operation. Null means unknown. type: - object - 'null' properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true sold_out: description: Optional sold out supplied by this operation. Null means unknown. type: - boolean - 'null' star_seller: description: Optional star seller supplied by this operation. Null means unknown. type: - boolean - 'null' tags: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array - 'null' items: {} thumbnail: description: Optional thumbnail supplied by this operation. Null means unknown. type: - string - 'null' title: description: Source title when supplied. type: - string - 'null' type: description: Optional type supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' vintage: description: Optional vintage supplied by this operation. Null means unknown. type: - boolean - 'null' additionalProperties: true allOf: - anyOf: - required: - available properties: available: description: Optional available supplied by this operation. Null means unknown. type: - boolean - required: - bestseller properties: bestseller: description: Optional bestseller supplied by this operation. Null means unknown. type: - boolean - required: - created_at properties: created_at: description: Source creation time, not the API retrieval time. type: - string minLength: 1 - required: - currency properties: currency: description: Optional currency supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - customizable properties: customizable: description: Optional customizable supplied by this operation. Null means unknown. type: - boolean - required: - digital properties: digital: description: Optional digital supplied by this operation. Null means unknown. type: - boolean - required: - has_video properties: has_video: description: Optional has video supplied by this operation. Null means unknown. type: - boolean - required: - id properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string minLength: 1 - required: - image properties: image: description: Optional image supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - images properties: images: description: Optional images supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - made_to_order properties: made_to_order: description: Optional made to order supplied by this operation. Null means unknown. type: - boolean - required: - materials properties: materials: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array items: {} - required: - price properties: price: description: Source price. Currency, taxes and availability depend on the listing. type: - number - required: - quantity properties: quantity: description: Optional quantity supplied by this operation. Null means unknown. type: - number - required: - shop properties: shop: description: Optional shop supplied by this operation. Null means unknown. type: - object properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true - required: - sold_out properties: sold_out: description: Optional sold out supplied by this operation. Null means unknown. type: - boolean - required: - star_seller properties: star_seller: description: Optional star seller supplied by this operation. Null means unknown. type: - boolean - required: - tags properties: tags: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array items: {} - required: - thumbnail properties: thumbnail: description: Optional thumbnail supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - title properties: title: description: Source title when supplied. type: - string minLength: 1 - required: - url properties: url: description: Original source URL when supplied. type: - string minLength: 1 - required: - vintage properties: vintage: description: Optional vintage supplied by this operation. Null means unknown. type: - boolean page: description: Optional page supplied by this operation. Null means unknown. type: - number - 'null' shop: description: Optional shop supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true required: - items x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - count: 0 cursor: null has_more: false items: - available: false bestseller: false created_at: '2026-09-01T12:00:00Z' currency: example customizable: false digital: false has_video: false id: example image: https://example.com/example images: - example made_to_order: false materials: [] platform: example price: 0 quantity: 0 shop: id: example name: example url: https://example.com/example sold_out: false star_seller: false tags: [] thumbnail: example title: example type: example url: https://example.com/example vintage: false page: 0 shop: example default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/etsy/shop-reviews: get: operationId: etsy_shop_reviews tags: - Etsy summary: Etsy shop reviews description: Reviews of an Etsy shop across its listings, eight per page. Costs 4 credits per successful live response. parameters: - name: shop in: query required: true schema: type: string example: Qorux description: Shop name, numeric id or URL - name: page in: query required: false schema: type: string example: '1' description: Page number (8 per page) - name: sort in: query required: false schema: type: string enum: - relevancy - recency - highest - lowest example: recency description: 'recency, relevancy, highest or lowest Accepted values: relevancy, recency, highest, lowest. Case, spaces, hyphens and underscores are interchangeable.' - name: rating in: query required: false schema: type: string example: '' description: Only this star rating (1-5) - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/etsy/shop-reviews.json title: etsy/shop-reviews data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: count: description: Number of records in this response, not lifetime or total matches. type: - number - 'null' cursor: description: Opaque next-page token; pass it back unchanged. Null does not prove complete history. type: - string - 'null' has_more: description: Source continuation indicator; null means unknown. type: - boolean - 'null' items: description: Returned records. Source coverage and completeness vary. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: object properties: author: description: Public author information supplied with this record. type: - object - 'null' properties: avatar: description: Optional avatar supplied by this operation. Null means unknown. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' listing: description: Optional listing supplied by this operation. Null means unknown. type: - object - 'null' properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' title: description: Source title when supplied. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true photo: description: Optional photo supplied by this operation. Null means unknown. type: - string - 'null' platform: description: Optional platform supplied by this operation. Null means unknown. type: - string - 'null' posted_at: description: Optional posted at supplied by this operation. Null means unknown. type: - string - 'null' rating: description: Source rating; read its accompanying scale and vote count. type: - number - 'null' recommended: description: Optional recommended supplied by this operation. Null means unknown. type: - boolean - 'null' text: description: Source text when supplied. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - author properties: author: description: Public author information supplied with this record. type: - object properties: avatar: description: Optional avatar supplied by this operation. Null means unknown. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true - required: - id properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string minLength: 1 - required: - listing properties: listing: description: Optional listing supplied by this operation. Null means unknown. type: - object properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' title: description: Source title when supplied. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true - required: - photo properties: photo: description: Optional photo supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - posted_at properties: posted_at: description: Optional posted at supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - rating properties: rating: description: Source rating; read its accompanying scale and vote count. type: - number - required: - recommended properties: recommended: description: Optional recommended supplied by this operation. Null means unknown. type: - boolean - required: - text properties: text: description: Source text when supplied. type: - string minLength: 1 page: description: Optional page supplied by this operation. Null means unknown. type: - number - 'null' photos: description: Optional photos supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' rating: description: Source rating; read its accompanying scale and vote count. type: - object - 'null' properties: max: description: Optional max supplied by this operation. Null means unknown. type: - number - 'null' value: description: Optional value supplied by this operation. Null means unknown. type: - number - 'null' votes: description: Optional votes supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true rating_distribution: description: Optional rating distribution supplied by this operation. Null means unknown. type: - object - 'null' properties: All: description: Optional All supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true shop: description: Optional shop supplied by this operation. Null means unknown. type: - string - 'null' themes: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array - 'null' items: {} total: description: Source-reported total; null is unknown. type: - number - 'null' total_pages: description: Optional total pages supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true required: - items x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - count: 0 cursor: null has_more: false items: - author: avatar: https://example.com/example name: example url: https://example.com/example id: example listing: id: example title: example url: https://example.com/example photo: example platform: example posted_at: '2026-09-01T12:00:00Z' rating: 0 recommended: false text: example page: 0 photos: - example rating: max: 0 value: 0 votes: 0 rating_distribution: All: 0 shop: example themes: [] total: 0 total_pages: 0 default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/etsy/shops: get: operationId: etsy_shops tags: - Etsy summary: Etsy shop search description: Shops matching a keyword, twelve per page. Costs 4 credits per successful live response. parameters: - name: query in: query required: true schema: type: string example: ceramic description: Search keyword - name: page in: query required: false schema: type: string example: '1' description: Page number (12 per page) - name: sort in: query required: false schema: type: string enum: - most_relevant - most_recent - alphabetical example: most_relevant description: 'most_relevant, most_recent or alphabetical Accepted values: most_relevant, most_recent, alphabetical. Case, spaces, hyphens and underscores are interchangeable.' - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/etsy/shops.json title: etsy/shops data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: count: description: Number of records in this response, not lifetime or total matches. type: - number - 'null' cursor: description: Opaque next-page token; pass it back unchanged. Null does not prove complete history. type: - string - 'null' has_more: description: Source continuation indicator; null means unknown. type: - boolean - 'null' items: description: Returned records. Source coverage and completeness vary. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: object properties: icon: description: Optional icon supplied by this operation. Null means unknown. type: - string - 'null' images: description: Optional images supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' listings_count: description: Optional listings count supplied by this operation. Null means unknown. type: - number - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' platform: description: Optional platform supplied by this operation. Null means unknown. type: - string - 'null' title: description: Source title when supplied. type: - string - 'null' type: description: Optional type supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - icon properties: icon: description: Optional icon supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - images properties: images: description: Optional images supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - listings_count properties: listings_count: description: Optional listings count supplied by this operation. Null means unknown. type: - number - required: - name properties: name: description: Optional name supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - title properties: title: description: Source title when supplied. type: - string minLength: 1 - required: - url properties: url: description: Original source URL when supplied. type: - string minLength: 1 page: description: Optional page supplied by this operation. Null means unknown. type: - number - 'null' query: description: Optional query supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true required: - items x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - count: 0 cursor: null has_more: false items: - icon: example images: - example listings_count: 0 name: example platform: example title: example type: example url: https://example.com/example page: 0 query: example default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/etsy/similar: get: operationId: etsy_similar tags: - Etsy summary: Etsy similar listings description: Listings similar to one listing. Costs 4 credits per successful live response. parameters: - name: id in: query required: true schema: type: string example: '4429284280' description: Etsy listing id, or its URL - name: limit in: query required: false schema: type: string example: '5' description: Requested rows per response, 1–1000. The source may return fewer. Remaining rows from an already purchased page use a saved cursor and cost zero to retrieve for up to one hour; further native source pages use this endpoint’s normal price. - name: cursor in: query required: false schema: type: string example: '' description: Use the returned cursor unchanged, retaining the original query, filters and limit. Saved mlo1. cursors retrieve already purchased rows at zero credits for up to one hour. A native source cursor, when supplied, starts a normally priced source page. Quote with dry_run before continuing. - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/etsy/similar.json title: etsy/similar data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: count: description: Number of records in this response, not lifetime or total matches. type: - number - 'null' has_more: description: Source continuation indicator; null means unknown. type: - boolean - 'null' items: description: Returned records. Source coverage and completeness vary. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: object properties: available: description: Optional available supplied by this operation. Null means unknown. type: - boolean - 'null' bestseller: description: Optional bestseller supplied by this operation. Null means unknown. type: - boolean - 'null' category: description: Optional category supplied by this operation. Null means unknown. type: - object - 'null' properties: taxonomy: description: Optional taxonomy supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true created_at: description: Source creation time, not the API retrieval time. type: - string - 'null' currency: description: Optional currency supplied by this operation. Null means unknown. type: - string - 'null' customizable: description: Optional customizable supplied by this operation. Null means unknown. type: - boolean - 'null' description: description: Source description; null or absent means not supplied. type: - string - 'null' digital: description: Optional digital supplied by this operation. Null means unknown. type: - boolean - 'null' favorites: description: Optional favorites supplied by this operation. Null means unknown. type: - number - 'null' id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' image: description: Optional image supplied by this operation. Null means unknown. type: - string - 'null' images: description: Optional images supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' made_to_order: description: Optional made to order supplied by this operation. Null means unknown. type: - boolean - 'null' materials: description: Optional materials supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' platform: description: Optional platform supplied by this operation. Null means unknown. type: - string - 'null' price: description: Source price. Currency, taxes and availability depend on the listing. type: - number - 'null' price_usd: description: Optional price usd supplied by this operation. Null means unknown. type: - number - 'null' quantity: description: Optional quantity supplied by this operation. Null means unknown. type: - number - 'null' section: description: Optional section supplied by this operation. Null means unknown. type: - string - 'null' ships_from: description: Optional ships from supplied by this operation. Null means unknown. type: - string - 'null' shop: description: Optional shop supplied by this operation. Null means unknown. type: - object - 'null' properties: avatar: description: Optional avatar supplied by this operation. Null means unknown. type: - string - 'null' id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true sold_out: description: Optional sold out supplied by this operation. Null means unknown. type: - boolean - 'null' state: description: Optional state supplied by this operation. Null means unknown. type: - string - 'null' tags: description: Optional tags supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' title: description: Source title when supplied. type: - string - 'null' top_rated: description: Optional top rated supplied by this operation. Null means unknown. type: - boolean - 'null' type: description: Optional type supplied by this operation. Null means unknown. type: - string - 'null' updated_at: description: Optional updated at supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' variation_pricing: description: Optional variation pricing supplied by this operation. Null means unknown. type: - boolean - 'null' views: description: Optional views supplied by this operation. Null means unknown. type: - number - 'null' vintage: description: Optional vintage supplied by this operation. Null means unknown. type: - boolean - 'null' when_made: description: Optional when made supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - available properties: available: description: Optional available supplied by this operation. Null means unknown. type: - boolean - required: - bestseller properties: bestseller: description: Optional bestseller supplied by this operation. Null means unknown. type: - boolean - required: - category properties: category: description: Optional category supplied by this operation. Null means unknown. type: - object properties: taxonomy: description: Optional taxonomy supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true - required: - created_at properties: created_at: description: Source creation time, not the API retrieval time. type: - string minLength: 1 - required: - currency properties: currency: description: Optional currency supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - customizable properties: customizable: description: Optional customizable supplied by this operation. Null means unknown. type: - boolean - required: - description properties: description: description: Source description; null or absent means not supplied. type: - string minLength: 1 - required: - digital properties: digital: description: Optional digital supplied by this operation. Null means unknown. type: - boolean - required: - favorites properties: favorites: description: Optional favorites supplied by this operation. Null means unknown. type: - number - required: - id properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string minLength: 1 - required: - image properties: image: description: Optional image supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - images properties: images: description: Optional images supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - made_to_order properties: made_to_order: description: Optional made to order supplied by this operation. Null means unknown. type: - boolean - required: - materials properties: materials: description: Optional materials supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - price properties: price: description: Source price. Currency, taxes and availability depend on the listing. type: - number - required: - price_usd properties: price_usd: description: Optional price usd supplied by this operation. Null means unknown. type: - number - required: - quantity properties: quantity: description: Optional quantity supplied by this operation. Null means unknown. type: - number - required: - section properties: section: description: Optional section supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - ships_from properties: ships_from: description: Optional ships from supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - shop properties: shop: description: Optional shop supplied by this operation. Null means unknown. type: - object properties: avatar: description: Optional avatar supplied by this operation. Null means unknown. type: - string - 'null' id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true - required: - sold_out properties: sold_out: description: Optional sold out supplied by this operation. Null means unknown. type: - boolean - required: - state properties: state: description: Optional state supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - tags properties: tags: description: Optional tags supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - title properties: title: description: Source title when supplied. type: - string minLength: 1 - required: - top_rated properties: top_rated: description: Optional top rated supplied by this operation. Null means unknown. type: - boolean - required: - updated_at properties: updated_at: description: Optional updated at supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - url properties: url: description: Original source URL when supplied. type: - string minLength: 1 - required: - variation_pricing properties: variation_pricing: description: Optional variation pricing supplied by this operation. Null means unknown. type: - boolean - required: - views properties: views: description: Optional views supplied by this operation. Null means unknown. type: - number - required: - vintage properties: vintage: description: Optional vintage supplied by this operation. Null means unknown. type: - boolean - required: - when_made properties: when_made: description: Optional when made supplied by this operation. Null means unknown. type: - string minLength: 1 listing_id: description: Optional listing id supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true required: - items x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - count: 0 has_more: false items: - available: false bestseller: false category: taxonomy: example created_at: '2026-09-01T12:00:00Z' currency: example customizable: false description: example digital: false favorites: 0 id: example image: https://example.com/example images: - example made_to_order: false materials: - example platform: example price: 0 price_usd: 0 quantity: 0 section: example ships_from: example shop: avatar: https://example.com/example id: example name: example url: https://example.com/example sold_out: false state: example tags: - example title: example top_rated: false type: example updated_at: '2026-09-01T12:00:00Z' url: https://example.com/example variation_pricing: false views: 0 vintage: false when_made: example listing_id: example default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/etsy/suggestions: get: operationId: etsy_suggestions tags: - Etsy summary: Etsy search suggestions description: Search suggestions for a partial query, with the categories each suggests. Costs 4 credits per successful live response. parameters: - name: query in: query required: true schema: type: string example: gift description: Partial search text - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/etsy/suggestions.json title: etsy/suggestions data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: count: description: Number of records in this response, not lifetime or total matches. type: - number - 'null' has_more: description: Source continuation indicator; null means unknown. type: - boolean - 'null' items: description: Returned records. Source coverage and completeness vary. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: object properties: categories: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array - 'null' items: {} query: description: Optional query supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - categories properties: categories: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array items: {} - required: - query properties: query: description: Optional query supplied by this operation. Null means unknown. type: - string minLength: 1 query: description: Optional query supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true required: - items x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - count: 0 has_more: false items: - categories: [] query: example query: example default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true components: schemas: Error: type: object required: - success - error - credits_used - request_id properties: success: const: false error: type: object required: - type - message - status properties: type: type: string enum: - UNAUTHORIZED - KEY_REVOKED - KEY_LIMIT_EXCEEDED - RATE_LIMITED - INSUFFICIENT_CREDITS - RESOURCE_NOT_FOUND - INVALID_PARAMETERS - TARGET_ACCESS_DENIED - UPSTREAM_ERROR - UPSTREAM_TIMEOUT - FREE_CAPACITY_UNAVAILABLE - CAPACITY_UNAVAILABLE - ENDPOINT_NOT_FOUND - ENDPOINT_NOT_AVAILABLE - FAIR_USE_EXCEEDED - INTERNAL_ERROR message: type: string status: type: integer doc_url: type: string description: Deep link to the exact section of the errors guide for this type. details: type: object credits_used: type: - integer - 'null' description: Confirmed net charge; null when billing is pending reconciliation. Inspect error.details.billing_status and retain request_id. credits_remaining: type: integer request_id: type: string Success: type: object required: - success - platform - endpoint - data - credits_used - credits_remaining - request_id properties: _completeness: type: object description: Reported response completeness, not a guarantee of complete platform history. Missing source assertions remain unknown. properties: state: type: string enum: - complete - partial - unknown scope: type: string inspection_limited: type: boolean success: const: true platform: type: string endpoint: type: string description: The resolved path, e.g. `/v1/github/profile`. data: description: Amazon responses include marketplace.country and marketplace.domain (resolved request marketplace, UK by default). X profiles preserve location, bio_link and cover_url when supplied. TikTok profiles preserve commerce_user, seller, region, location and business_category when supplied; region identifies the account region rather than personal residence. TikTok comments use platform_default selection, which can change between fetches; keep the same video and options when following cursors. Amazon review variant is readable text. Facebook profiles preserve cover_url, following and created_at when supplied; likes_count and followers are distinct and follower totals may be rounded. Endpoint-specific normalized payload, not one universal post/profile schema. Many lists use items/count/cursor; a null cursor means no usable next cursor was supplied, not proof that all history was retrieved. Check has_more and warnings where present. Social full-profile bundles use posts_cursor and posts_pagination.next_params; retain all returned next parameters. YouTube channel bundles instead use recent_videos, cursor and recent_videos_pagination. Inspect complete/partial/legs where supplied for bounded or failed components. Optional model-derived fields are labelled, not source facts. credits_used: type: integer credits_remaining: type: integer request_id: type: string cached: type: boolean stale: type: boolean description: True only for an explicitly labelled, zero-credit reference snapshot served after a temporary upstream failure. age_seconds: type: integer minimum: 0 description: Age of a stale snapshot since its original retrieval; not reset by outage recovery. fetched_at: type: string format: date-time description: Original retrieval time of a stale snapshot, in UTC. synthetic: type: boolean description: Present and true only on the explicitly requested /sandbox surface. Synthetic responses are representative and charged 0 credits; production /v1 never returns them. degraded: type: boolean description: Reserved for sandbox compatibility. Production /v1 reports upstream failure as an error and never serves a representative fallback. securitySchemes: ApiKeyHeader: type: apiKey in: header name: x-api-key description: Your API key (`mn_…`), from the console. The recommended style. BearerKey: type: http scheme: bearer description: The same key as a Bearer token, for clients that only expose an Authorization field. Keys are never accepted in the query string — URLs leak into logs and referrers. x-provenance: method: harvested publisher: Monocrawl source: https://www.monocrawl.com/openapi.json note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json); stamped by stamp-openapi-provenance.py (roadmap#793)