# Bproperty Listing Details API Documentation

Scrappa's `GET /api/bproperty/listing` returns the full record of one Bproperty listing by `slug` or by `id`. Take both from search.

## What you get

The same fields as one search listing, with the full description as plain text, up to 50 image URLs, all features, the area with its city, the category, `attributes` (bedrooms, bathrooms, kitchens, living rooms, balconies, parking spaces, floors, size, furnishing, face, road access, completion status) and the agent. The agent phone is shown only when the lister chose to show it on the site. No email is returned.

## Notes

A hidden price is `null` with `price_hidden` true, never 0. `attributes.size_raw` keeps the text the lister typed, for example `4000 +_`, and `attributes.size` is the number read from it. Expired or removed listings return `404`, which is never billed. Send either `slug` or `id`, not both.

- **Documentation:** [https://scrappa.co/docs/bproperty-api/bproperty_listing](https://scrappa.co/docs/bproperty-api/bproperty_listing)
- **API group:** Bproperty API
- **Endpoint:** `GET https://scrappa.co/api/bproperty/listing`

## 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 |
| --- | --- | --- | --- |
| `slug` | string | No | Listing slug from search. Use slug or id. |
| `id` | string | No | Listing id from search. Use slug or id. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/bproperty/listing?slug=premium-3-bedroom-residence-in-baridhara-diplomatic-zone-29172"
```

## Example response

```json
{
    "success": true,
    "listing": {
        "id": "b2yt0jncuz0teyg",
        "slug": "premium-3-bedroom-residence-in-baridhara-diplomatic-zone-29172",
        "bn_id": 29172,
        "url": "https://www.bproperty.com/property/premium-3-bedroom-residence-in-baridhara-diplomatic-zone-29172",
        "title": "Premium 3-Bedroom Residence in Baridhara Diplomatic Zone",
        "description": "Strategic 3,000 sqft semi-furnished apartment for rent in Baridhara.",
        "status": "Rent",
        "type": "Residential",
        "price": 120000,
        "price_postfix": "Per Month",
        "negotiable": true,
        "address": "Dhaka",
        "area": {
            "id": "ia0k6ykx1x0j9gn",
            "name": "Baridhara Diplomatic Zone",
            "city_id": "eyz5vhrduc9tsk0",
            "city": "Dhaka"
        },
        "category": {
            "id": "1fn9ieyhdl7vgya",
            "name": "Apartment",
            "slug": "apartment",
            "property_type": "Residential"
        },
        "features": [
            {
                "id": "7ni7mtte612sj9i",
                "name": "Garage"
            },
            {
                "id": "fcxyt7qo4bs9u9e",
                "name": "Parking"
            }
        ],
        "thumbnail": "https://api.bproperty.com/api/files/a4alnectuppemjo/b2yt0jncuz0teyg/img_20261006_115448_028_bunbkzami2.webp?thumb=310x0",
        "images": [
            "https://api.bproperty.com/api/files/a4alnectuppemjo/b2yt0jncuz0teyg/img_20261006_115554_859_iip7nlkegs.webp",
            "https://api.bproperty.com/api/files/a4alnectuppemjo/b2yt0jncuz0teyg/img_20261006_115539_782_z4lk30hfhv.webp"
        ],
        "image_count": 12,
        "attributes": {
            "bedrooms": 3,
            "bathrooms": 3,
            "size_raw": "3000",
            "size": 3000,
            "size_unit": "sqft",
            "furnishing": "Semi Furnished"
        },
        "featured": true,
        "premium": true,
        "verified": true,
        "is_project": false,
        "agent": {
            "id": "9tbx5mt7au0r2qp",
            "name": "BestBari",
            "role": "buyer",
            "verified": true
        },
        "created_at": "2026-10-17 18:59:05.922Z",
        "expires_at": "2027-04-17 18:59:47.381Z"
    },
    "meta": {
        "endpoint_family": "listing",
        "billable": true,
        "attempts": 1
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | Nothing exists with that identifier on Bproperty (`not_found`). Non-billable. |
| 422 | Validation Error | A query parameter is missing, unknown or unusable. Unknown parameters and unknown values are rejected, never ignored. Non-billable. |
| 503 | Upstream Unavailable | Bproperty could not be reached after one retry, answered with an error or changed its format (`upstream_unavailable`, `upstream_blocked`, `parser_drift`). Retryable and never billed. Clients are never rate limited. |

## 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)
