# OfferUp Item Details API Documentation

Scrappa's `GET /api/offerup/item-details` endpoint returns the complete public record for one OfferUp listing, including the fields that OfferUp's search resolver does not carry.

## What this endpoint adds over search

`condition`, `post_date`, `category_id`, and the full `fulfillment_details` block are only available here. `fulfillment_details` reports whether a seller offers local pickup, shipping, or Buy It Now, along with who pays shipping — the closest available substitute for the delivery filtering OfferUp's search does not support.

Vehicle listings return a `vehicle` object with make, model, year, mileage, VIN, title status, and drivetrain details.

## Reading the condition code

OfferUp sends condition as an integer, not a label: 0 OTHER, 20 BROKEN, 40 USED, 60 OPEN_BOX, 80 REFURBISHED, 100 NEW.

## Two fields that are often empty

`price_drop_percentage` is returned by OfferUp as an empty string on most listings, so this endpoint normalises it to `null` and never presents a number that is not there.

OfferUp has no completed-sale feed. The `state` field is set by the seller, so a listing marked as sold is a claim rather than a confirmed transaction — never treat an OfferUp price as a sale price.

The seller block carries the numeric `user_id` needed by [Seller Profile](/docs/offerup-api/offerup_seller_profile). No phone number, address, or contact flag is requested or returned.

- **Documentation:** [https://scrappa.co/docs/offerup-api/offerup_item_details](https://scrappa.co/docs/offerup-api/offerup_item_details)
- **API group:** OfferUp API
- **Endpoint:** `GET https://scrappa.co/api/offerup/item-details`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `listing_id` | string | Yes | OfferUp listing id, taken from a search result. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/offerup/item-details?listing_id=9c1f6a2e-4b7d-4a51-9f0e-1d2c3b4a5e6f"
```

## Example response

```json
{
    "success": true,
    "listing": {
        "listing_id": "9c1f6a2e-4b7d-4a51-9f0e-1d2c3b4a5e6f",
        "title": "iPhone 13 128GB Blue",
        "price": 320,
        "condition": 60,
        "post_date": 1754548800,
        "price_drop_percentage": null,
        "fulfillment_details": {
            "buy_it_now_enabled": true,
            "can_ship_to_buyer": false,
            "shipping_enabled": false,
            "seller_pays_shipping": null
        },
        "vehicle": null
    }
}
```

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
