{
  "openapi": "3.0.1",
  "info": {
    "title": "TheRealReal Data | Luxury Resale & Thrift Comps",
    "description": "Find underpriced luxury fast. TheRealReal Real-Time Data gives you designer listing search, price and markdown history, condition grades, full product details, designer inventory and real sold comps — streamed live to your dataset with Slack webhooks. Free trial: 2 results.",
    "version": "0.0",
    "x-build-id": "g4xSALZwb2SAVsZbR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/b2b_leads~TheRealReal-Real-Time-Data-Scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-b2b_leads-TheRealReal-Real-Time-Data-Scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/b2b_leads~TheRealReal-Real-Time-Data-Scraper/runs": {
      "post": {
        "operationId": "runs-sync-b2b_leads-TheRealReal-Real-Time-Data-Scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/b2b_leads~TheRealReal-Real-Time-Data-Scraper/run-sync": {
      "post": {
        "operationId": "run-sync-b2b_leads-TheRealReal-Real-Time-Data-Scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "enableListingSearch": {
            "title": "Listing Search",
            "type": "boolean",
            "description": "Search TheRealReal by keyword. On by default — prefilled so you can click Start and get results in seconds. Output size = your keyword count x the per-keyword cap below.",
            "default": true
          },
          "searchKeywords": {
            "title": "Search keywords",
            "type": "array",
            "description": "One or more search terms (e.g. gucci marmont, chanel flap bag, hermes scarf). Each keyword contributes its own rows, so output grows with the number of keywords.",
            "default": [
              "gucci marmont",
              "chanel flap bag",
              "hermes scarf"
            ],
            "items": {
              "type": "string"
            }
          },
          "searchMaxResults": {
            "title": "Records per keyword",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How many listings to collect for each keyword. Total output = keywords x this number, bounded by the run limit. Leave the optional filters empty and this number is what you actually get.",
            "default": 10
          },
          "searchFetchFullDetails": {
            "title": "Enrich with full listing details",
            "type": "boolean",
            "description": "When on, each search result is the SAME row enriched with full product fields (description, material and care notes, measurements, condition report, complete image gallery). Still featureType listing_search with detailsFetched=true — never a second row, and nothing is filtered out for being incomplete. Adds a little extra time per listing. Enrichment never changes how many records you get.",
            "default": false
          },
          "searchSort": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "newest",
              "price_low_to_high",
              "price_high_to_low"
            ],
            "type": "string",
            "description": "How to order search results. Does not change how many rows you get.",
            "default": "relevance"
          },
          "searchBrand": {
            "title": "Designer (optional)",
            "type": "string",
            "description": "Optional designer filter by name or slug, e.g. Gucci or gucci. Narrows which listings exist, so your output can be smaller than the record count you asked for. Unknown designer names are reported and the filter is skipped — nothing is faked.",
            "default": ""
          },
          "searchCategory": {
            "title": "Category (optional)",
            "type": "string",
            "description": "Optional category scope as this marketplace names it, e.g. women/handbags, men/shoes, jewelry/rings, watches/bracelet. Unknown categories are reported and the filter is skipped.",
            "default": ""
          },
          "enableListingDetails": {
            "title": "Listing Details",
            "type": "boolean",
            "description": "Fetch the full record for specific TheRealReal listings by product URL, product id, or SKU.",
            "default": false
          },
          "listingIds": {
            "title": "Product ids or SKUs",
            "type": "array",
            "description": "TheRealReal product ids (e.g. 54592052) or SKUs (e.g. GUC2147434). Required when Listing Details is on and no URLs are given.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "listingUrls": {
            "title": "Listing URLs",
            "type": "array",
            "description": "Full TheRealReal product URLs (https://www.therealreal.com/products/...).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "enableClosetListings": {
            "title": "Designer Inventory",
            "type": "boolean",
            "description": "Collect a designer's full live inventory to track stock depth and price positioning. TheRealReal is a designer-operated consignment house rather than a peer closet marketplace, so the designer is the inventory identity here.",
            "default": false
          },
          "sellerUsernames": {
            "title": "Designers",
            "type": "array",
            "description": "Designer names or slugs, e.g. gucci, chanel, hermes, louis-vuitton. Shared by Designer Inventory, Designer Profile, and Sold Comps.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sellerMaxListings": {
            "title": "Max listings per designer",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How many live listings to collect for each designer.",
            "default": 30
          },
          "enableSellerProfile": {
            "title": "Designer Profile",
            "type": "boolean",
            "description": "Designer-level profile: live inventory depth plus published sold-archive depth, so you can size supply and resale velocity per designer. Uses the designer list above.",
            "default": false
          },
          "enableSoldHistory": {
            "title": "Sold Comps",
            "type": "boolean",
            "description": "Collect completed (sold) listings for comps, margins and sell-through. TheRealReal publishes a site-wide sold archive, so comps can be scoped by keyword, by designer, or both.",
            "default": false
          },
          "soldMaxItems": {
            "title": "Max sold items per scope",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many completed listings to collect for each keyword and each designer.",
            "default": 30
          },
          "enableScrapeByUrl": {
            "title": "Scrape By URL",
            "type": "boolean",
            "description": "Paste any TheRealReal URL — search results, category or shop page, designer page, or a single listing. The page type is detected automatically.",
            "default": false
          },
          "scrapeUrls": {
            "title": "TheRealReal URLs",
            "type": "array",
            "description": "Any TheRealReal search, category, designer, shop or listing URL. URLs from other sites are rejected.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Run limit (total rows)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum rows to export for the whole run, across every enabled feature. 0 = no run limit (collect everything the enabled features match). Use it to bound cost on large bulk runs, e.g. 1000 for a price-research sweep. The free-tier trial and any Apify spending limit still apply.",
            "default": 0
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "Optional. Every record is always saved to the run dataset — this webhook is an ADDITIONAL real-time push. Each new row is also POSTed to this URL (Slack, Discord, Zapier, Make, n8n, custom pricing bot).",
            "default": ""
          },
          "webhookFormat": {
            "title": "Webhook format",
            "enum": [
              "json",
              "slack"
            ],
            "type": "string",
            "description": "JSON sends the full record. Slack sends a ready-to-read message.",
            "default": "json"
          },
          "proxyConfiguration": {
            "title": "Proxy settings",
            "type": "object",
            "description": "Residential proxy required for reliable results. TheRealReal is a US storefront, so keep the country on United States.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}