SocialCrawl Wayfair API

Wayfair endpoints

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/socialcrawl-wayfair-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

socialcrawl-wayfair-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SocialCrawl Wayfair API
  version: 1.0.0
  description: 'Unified social media data API - one API key, one consistent response format, 50 platforms, 400 endpoints. Power AI agents with clean social data.


    Slim variant: inline examples removed and the shared error responses hoisted into components. The full annotated spec is at https://www.socialcrawl.dev/openapi.json.'
  contact:
    name: SocialCrawl
    url: https://www.socialcrawl.dev
    email: support@socialcrawl.dev
servers:
- url: https://www.socialcrawl.dev/v1
  description: Production
security:
- ApiKeyAuth: []
tags:
- name: wayfair
  description: Wayfair endpoints
paths:
  /wayfair/search:
    get:
      summary: Search Wayfair products
      description: 'Returns Wayfair products matching a keyword, 48 per page by default, each with its SKU, name, brand, current and list price, star rating, review count, product URL, image, a short product description, and attribute highlights such as swivel or adjustable height. Feed a returned SKU into GET /v1/wayfair/product for full detail or GET /v1/wayfair/reviews for customer reviews. Two things to expect when crawling: consecutive pages repeat roughly a quarter of their rows because Wayfair reorders results between calls, so de-duplicate on product.id; and the result total Wayfair reports drifts between pages, so it is not returned here. Paginate until a page comes back empty.'
      tags:
      - wayfair
      operationId: get_wayfair_search
      security:
      - ApiKeyAuth: []
      x-credit-tier: advanced
      x-credit-cost: 5
      parameters:
      - name: query
        in: query
        required: true
        description: Free-text product search, for example office chair or velvet sofa.
        schema:
          type: string
      - name: country
        in: query
        required: false
        description: 'Wayfair marketplace as a two-letter country code: US (wayfair.com, default), CA, GB, IE, or DE. A SKU from one marketplace will not always resolve in another.'
        schema:
          type: string
          enum:
          - US
          - CA
          - GB
          - IE
          - DE
      - name: page
        in: query
        required: false
        description: 'Page number, starting at 1. Prefer the universal cursor parameter. Native upstream cursor param. Send the universal `cursor` instead: the API maps it to this name for you.'
        deprecated: true
        schema:
          type: integer
          minimum: 1
          maximum: 750
      - name: items_per_page
        in: query
        required: false
        description: 'Rows per page: 24, 48 (default), or 96.'
        schema:
          type: string
          enum:
          - '24'
          - '48'
          - '96'
      - name: sort_by
        in: query
        required: false
        description: 'Result ordering: relevance (default), price_low, price_high, top_rated, or newest.'
        schema:
          type: string
          enum:
          - relevance
          - price_low
          - price_high
          - top_rated
          - newest
      - name: min_price
        in: query
        required: false
        description: Lowest price to include. Applied by Wayfair and approximate, so filter on product.price.current if you need a hard bound.
        schema:
          type: string
      - name: max_price
        in: query
        required: false
        description: Highest price to include. Applied by Wayfair and approximate, so filter on product.price.current if you need a hard bound.
        schema:
          type: string
      - name: color
        in: query
        required: false
        description: Restrict results to one colour family, for example grey.
        schema:
          type: string
      - name: in_stock
        in: query
        required: false
        description: Set true to return only products Wayfair can ship now.
        schema:
          type: boolean
      - name: cursor
        in: query
        required: false
        description: 'Universal pagination cursor. Send `pagination.next_cursor` from the previous response back verbatim: the API maps it to this endpoint''s native `page` (page style). You never construct, decode, or look up a cursor. Omit it for page 1.'
        schema:
          type: string
      - name: Cache-Control
        in: header
        required: false
        description: Send `no-cache` to bypass the response cache and force a live fetch. Billed at the normal endpoint cost; the fresh result is written back to cache for the next caller. Only the `no-cache` directive triggers this. See the Response Schema guide for details.
        schema:
          type: string
      - name: Idempotency-Key
        in: header
        required: false
        description: 'Optional UUID that makes the request safely retriable. A replay keeps the cached payload immutable except for billing metadata: `credits_used` becomes 0, `idempotent_replay` becomes true, and `credits_remaining` is refreshed to the current balance. A known current balance appears in both the body and `X-Credits-Remaining` header; no balance row resolves to 0. On a transient lookup failure, body `credits_remaining` is null and `X-Credits-Remaining` is omitted. Scoped per account with a 24-hour TTL.'
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          headers:
            X-Credits-Used:
              description: Net credits charged for this response. Idempotency replays report 0.
              schema:
                type: integer
                minimum: 0
            X-Credits-Remaining:
              description: Current balance when known. On an idempotency replay, this header is omitted when the balance lookup fails; body `credits_remaining` is null instead.
              schema:
                type: integer
                minimum: 0
            X-Idempotent-Replay:
              description: Present with value `true` only when this response replays a settled idempotency record.
              schema:
                type: string
                enum:
                - 'true'
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Whether the request succeeded
                  platform:
                    type: string
                    description: Platform name
                  endpoint:
                    type: string
                    description: API endpoint path
                  data:
                    type: object
                    description: Platform-specific response data
                    properties:
                      items:
                        type: array
                        description: Array of canonical product wrappers ({ product })
                        items:
                          type: object
                          description: Canonical product wrapper
                          properties:
                            product:
                              type: object
                              description: Canonical Product object (unified across commerce platforms)
                              properties:
                                id:
                                  type: string
                                  description: Platform product ID (Amazon ASIN / Google Shopping product id)
                                url:
                                  type:
                                  - string
                                  - 'null'
                                  description: Direct URL to the product page
                                title:
                                  type:
                                  - string
                                  - 'null'
                                  description: Product title
                                description:
                                  type:
                                  - string
                                  - 'null'
                                  description: String at product.description
                                seller:
                                  type:
                                  - string
                                  - 'null'
                                  description: String at product.seller
                                brand:
                                  type:
                                  - string
                                  - 'null'
                                  description: Brand name (cleaned). Null when the platform exposes a seller instead.
                                price:
                                  type: object
                                  description: Price block (current, original/list, currency)
                                  properties:
                                    current:
                                      type:
                                      - integer
                                      - 'null'
                                      description: Numeric at product.price.current
                                    original:
                                      type:
                                      - integer
                                      - 'null'
                                      description: Numeric at product.price.original
                                    currency:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at product.price.currency
                                rating:
                                  type: object
                                  description: Aggregate rating (average + number of ratings)
                                  properties:
                                    average:
                                      type:
                                      - integer
                                      - 'null'
                                      description: Numeric at product.rating.average
                                    count:
                                      type:
                                      - integer
                                      - 'null'
                                      description: Numeric at product.rating.count
                                image_urls:
                                  type:
                                  - string
                                  - array
                                  - 'null'
                                  description: Primary image URL, or an array of image URLs for products with a gallery.
                                  items:
                                    type: string
                                    description: Primary image URL, or an array of image URLs for products with a gallery.
                                availability:
                                  type:
                                  - string
                                  - 'null'
                                  description: Stock/availability string when surfaced
                                reviews_count:
                                  type:
                                  - integer
                                  - 'null'
                                  description: Numeric at product.reviews_count
                                features:
                                  type:
                                  - array
                                  - 'null'
                                  description: Array at product.features
                                  items:
                                    type: string
                                    description: String at product.features
                                specifications:
                                  type:
                                  - array
                                  - 'null'
                                  description: Array at product.specifications
                                  items:
                                    type: object
                                    description: 'Nested object: product.specifications'
                                    properties:
                                      group:
                                        type:
                                        - string
                                        - 'null'
                                        description: String at product.specifications.group
                                      name:
                                        type:
                                        - string
                                        - 'null'
                                        description: String at product.specifications.name
                                      value:
                                        type:
                                        - string
                                        - 'null'
                                        description: String at product.specifications.value
                                variations:
                                  type:
                                  - array
                                  - 'null'
                                  description: Array at product.variations
                                  items:
                                    type: object
                                    description: 'Nested object: product.variations'
                                    properties:
                                      id:
                                        type:
                                        - string
                                        - 'null'
                                        description: String at product.variations.id
                                      title:
                                        type:
                                        - string
                                        - 'null'
                                        description: String at product.variations.title
                                      url:
                                        type:
                                        - string
                                        - 'null'
                                        description: String at product.variations.url
                                      category:
                                        type:
                                        - string
                                        - 'null'
                                        description: String at product.variations.category
                                ext:
                                  type:
                                  - object
                                  - 'null'
                                  description: 'Nested object: product.ext'
                                  properties:
                                    gid:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at product.ext.gid
                                    data_docid:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at product.ext.data_docid
                                    pvf:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at product.ext.pvf
                                    seller_id:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at product.ext.seller_id
                                    sold_count:
                                      type:
                                      - integer
                                      - 'null'
                                      description: Numeric at product.ext.sold_count
                                    catalog_id:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at product.ext.catalog_id
                                    requested_id:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at product.ext.requested_id
                                    rating_distribution:
                                      type:
                                      - object
                                      - 'null'
                                      description: 'Nested object: product.ext.rating_distribution'
                                      properties:
                                        star_1:
                                          type:
                                          - integer
                                          - 'null'
                                          description: Numeric at product.ext.rating_distribution.star_1
                                        star_2:
                                          type:
                                          - integer
                                          - 'null'
                                          description: Numeric at product.ext.rating_distribution.star_2
                                        star_3:
                                          type:
                                          - integer
                                          - 'null'
                                          description: Numeric at product.ext.rating_distribution.star_3
                                        star_4:
                                          type:
                                          - integer
                                          - 'null'
                                          description: Numeric at product.ext.rating_distribution.star_4
                                        star_5:
                                          type:
                                          - integer
                                          - 'null'
                                          description: Numeric at product.ext.rating_distribution.star_5
                                    store_inventory:
                                      type:
                                      - array
                                      - 'null'
                                      description: Array at product.ext.store_inventory
                                      items:
                                        type: object
                                        description: 'Nested object: product.ext.store_inventory'
                                        properties:
                                          store_id:
                                            type:
                                            - string
                                            - 'null'
                                            description: String at product.ext.store_inventory.store_id
                                          store_name:
                                            type:
                                            - string
                                            - 'null'
                                            description: String at product.ext.store_inventory.store_name
                                          state:
                                            type:
                                            - string
                                            - 'null'
                                            description: String at product.ext.store_inventory.state
                                          in_stock:
                                            type:
                                            - boolean
                                            - 'null'
                                            description: Boolean at product.ext.store_inventory.in_stock
                                          quantity:
                                            type:
                                            - integer
                                            - 'null'
                                            description: Numeric at product.ext.store_inventory.quantity
                                    condition:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at product.ext.condition
                                    available_quantity:
                                      type:
                                      - integer
                                      - 'null'
                                      description: Numeric at product.ext.available_quantity
                                    watchers:
                                      type:
                                      - integer
                                      - 'null'
                                      description: Numeric at product.ext.watchers
                                    sold_at:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at product.ext.sold_at
                                    sold_caption:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at product.ext.sold_caption
                                    buying_format:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at product.ext.buying_format
                                    seller_reputation:
                                      type:
                                      - object
                                      - 'null'
                                      description: 'Nested object: product.ext.seller_reputation'
                                      properties:
                                        feedback_percentage:
                                          type:
                                          - integer
                                          - 'null'
                                          description: Numeric at product.ext.seller_reputation.feedback_percentage
                                        feedback_count:
                                          type:
                                          - integer
                                          - 'null'
                                          description: Numeric at product.ext.seller_reputation.feedback_count
                                        top_rated:
                                          type:
                                          - boolean
                                          - 'null'
                                          description: Boolean at product.ext.seller_reputation.top_rated
                                        items_sold:
                                          type:
                                          - integer
                                          - 'null'
                                          description: Numeric at product.ext.seller_reputation.items_sold
                                        joined:
                                          type:
                                          - string
                                          - 'null'
                                          description: String at product.ext.seller_reputation.joined
                                        url:
                                          type:
                                          - string
                                          - 'null'
                                          description: String at product.ext.seller_reputation.url
                                        detailed_ratings:
                                          type:
                                          - object
                                          - 'null'
                                          description: 'Nested object: product.ext.seller_reputation.detailed_ratings'
                                          properties:
                                            accurate_description:
                                              type:
                                              - integer
                                              - 'null'
                                              description: Numeric at product.ext.seller_reputation.detailed_ratings.accurate_description
                                            reasonable_shipping_cost:
                                              type:
                                              - integer
                                              - 'null'
                                              description: Numeric at product.ext.seller_reputation.detailed_ratings.reasonable_shipping_cost
                                            shipping_speed:
                                              type:
                                              - integer
                                              - 'null'
                                              description: Numeric at product.ext.seller_reputation.detailed_ratings.shipping_speed
                                            communication:
                                              type:
                                              - integer
                                              - 'null'
                                              description: Numeric at product.ext.seller_reputation.detailed_ratings.communication
                      next_cursor:
                        type:
                        - string
                        - 'null'
                        description: Opaque cursor for the next page. Pass it back as a query parameter on endpoints that support pagination. Present only when the upstream reports more results.
                      total:
                        type:
                        - integer
                        - 'null'
                        description: Total number of matching results, when the upstream provides a count. Omitted otherwise.
                      dropped:
                        type: integer
                        description: Number of upstream list items dropped because they could not be repaired to the endpoint schema. Valid list responses include 0.
                      _warnings:
                        type: array
                        description: 'Non-fatal notices about this response (field-map drift, clamped computed values). Advisory only: its presence never means the request failed. Omitted entirely when there is nothing to report, so treat absent as ''no warnings''.'
                        items:
                          type: string
                          description: One advisory notice.
                    required:
                    - dropped
                  credits_used:
                    type: integer
                    description: Number of credits consumed
                  credits_remaining:
                    type:
                    - integer
                    - 'null'
                    description: Current account balance. Null only when an idempotency replay succeeds but its transient balance lookup fails.
                  request_id:
                    type: string
                    description: Unique request identifier for support
                  cached:
                    type: boolean
                    description: Whether the response was served from cache
                  idempotent_replay:
                    type: boolean
                    description: True only when this response is an idempotency replay
                  pagination:
                    type: object
                    description: Cursor state for this page. Present on every list response.
                    properties:
                      next_cursor:
                        type:
                        - string
                        - 'null'
                        description: Opaque token to send back as `cursor` for the next page, or null at end-of-list. Pass it back verbatim; never decode or trim it.
                      has_more:
                        type: boolean
                        description: Explicit stop signal. Prefer this over inspecting next_cursor or comparing against total.
                      page_size:
                        type: integer
                        description: Number of items in THIS page.
                    required:
                    - next_cursor
                    - has_more
                    - page_size
                required:
                - success
                - platform
                - endpoint
                - data
                - credits_used
                - credits_remaining
                - request_id
                - cached
                - pagination
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '402':
          $ref: '#/components/responses/Error402'
        '404':
          $ref: '#/components/responses/Error404'
        '405':
          $ref: '#/components/responses/Error405'
        '409':
          $ref: '#/components/responses/Error409'
        '413':
          $ref: '#/components/responses/Error413'
        '422':
          $ref: '#/components/responses/Error422'
        '429':
          $ref: '#/components/responses/Error429'
        '500':
          $ref: '#/components/responses/Error500'
        '502':
          $ref: '#/components/responses/Error502'
        '503':
          $ref: '#/components/responses/Error503'
  /wayfair/product:
    get:
      summary: Get a Wayfair product by SKU
      description: 'Returns full product detail for a Wayfair item: name, brand, manufacturer, current price, star rating, written-review count, stock status, the image gallery, colour and size variants, shipping estimate, return window, and a specification table combining Wayfair''s highlights with its full dimension list. Note that the review count here counts the selected variant while the count on GET /v1/wayfair/search counts the whole catalogue entry, so the two legitimately differ for the same SKU. For the review text itself call GET /v1/wayfair/reviews.'
      tags:
      - wayfair
      operationId: get_wayfair_product
      security:
      - ApiKeyAuth: []
      x-credit-tier: advanced
      x-credit-cost: 5
      parameters:
      - name: sku
        in: query
        required: true
        description: 'Wayfair product SKU, the alphanumeric id at the end of a wayfair.com product URL: wayfair.com/furniture/pdp/<name>-w003564166.html is SKU W003564166. SKUs also come back on every row of GET /v1/wayfair/search.'
        schema:
          type: string
      - name: country
        in: query
        required: false
        description: 'Wayfair marketplace as a two-letter country code: US (wayfair.com, default), CA, GB, IE, or DE. A SKU from one marketplace will not always resolve in another.'
        schema:
          type: string
          enum:
          - US
          - CA
          - GB
          - IE
          - DE
      - name: Cache-Control
        in: header
        required: false
        description: Send `no-cache` to bypass the response cache and force a live fetch. Billed at the normal endpoint cost; the fresh result is written back to cache for the next caller. Only the `no-cache` directive triggers this. See the Response Schema guide for details.
        schem

# --- truncated at 32 KB (77 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/socialcrawl/refs/heads/main/openapi/socialcrawl-wayfair-api-openapi.yml