POST /api/therealreal/products
Price: 1 credit
Get one TheRealReal item by product alias or URL: price, retail price, condition, designer or artist, categories, attributes and measurements, photos, availability, return policy, size guide and obsession count
Fetch the full TheRealReal item for one product alias, as returned in alias by the TheRealReal product search. Sold items still resolve, with availability SOLD. Prices are in USD.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)product string required — TheRealReal product alias or product page URL (examples: "chanel-daily-supple-backpack-wmvp7", "https://www.therealreal.com/products/women/handbags/backpacks/chanel-daily-supple-backpack-wmvp7"; minLength: 1)@type string (default: "TherealrealProduct")id string requiredalias string nullablesku string nullablevariant_id string nullablename string nullableurl string nullableavailability string nullablecondition string nullablequantity integer nullableprice number nullableoriginal_price number nullableretail_price number nullablecurrency string nullablediscount_label string nullablepromo_code string nullablepromo_label string nullablepromo_price number nullabledesigner object nullable@type string (default: "TherealrealBrand")id string requiredname string nullablealias string nullableurl string nullabledescription string nullableartist object nullable@type string (default: "TherealrealBrand")id string requiredname string nullablealias string nullableurl string nullabledescription string nullabledepartment object nullable@type string (default: "TherealrealDepartment")id string requiredname string nullablecategories array (default: [])@type string (default: "TherealrealCategory")id string requiredname string nullablepermalink string nullableurl string nullableparent_id string nullablelevel integer nullableproduct_count integer nullableattributes array (default: [])@type string (default: "TherealrealAttribute")name string requiredcode string nullablevalues array (default: [])is_measurement boolean nullableimages array (default: [])badge string nullableobsession_count integer nullableis_editors_pick boolean nullableis_first_look boolean nullableis_buy_now_eligible boolean nullabledescription string nullablecomponent_attributes array (default: [])@type string (default: "TherealrealAttribute")name string requiredcode string nullablevalues array (default: [])is_measurement boolean nullablebadge_description string nullabledisclaimers array (default: [])authentication_text string nullableis_returnable boolean nullablereturn_policy string nullablereturn_policy_id string nullablereturn_guarantee_price number nullablepolicies array (default: [])@type string (default: "TherealrealPolicy")name string nullablecode string nullablesku string nullableprice number nullablestore object nullable@type string (default: "TherealrealStoreContact")name string nullableurl string nullableaddress string nullablehours string nullablesize_guide object nullable@type string (default: "TherealrealSizeGuide")column_names array (default: [])rows array (default: [])@type string (default: "TherealrealSizeGuideRow")name string nullablevalues array (default: [])text string nullabledocument_url string nullableimage string nullablemeasurement_guide array (default: [])@type string (default: "TherealrealMeasurementNote")name string requireddescription string nullablemeasurement_guide_image string nullablecarbon_saved_kg number nullablewater_saved_liters number nullablevaluation_report_url string nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — No TheRealReal item has this product alias Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.