# Morizon Agency Profile API Documentation

Scrappa's `GET /api/morizon/agency` returns the public profile of one agency and a page of its listings.

## Input

`company_id` is the id from the `contact.company` block of a search result or listing.

## What you get

`agency.company` has the id, name, type, address, phones, websites and logo. `agency.profile` has what the agency page adds: licence number, description, number of listings and the names of its agents. The profile is best effort: when it is not available, `meta.profile_available` is `false` and the rest is still returned.

## Listings

`listings` is one page of the agency's listings in the same shape as search. Use `transaction`, `type`, `sort` and `page` to choose which ones. The agency filter is applied by Morizon, and a listing of another company is never returned.

## Agents

Agent profile pages are not available, so there is no agent endpoint. Private owners are never returned.

- **Documentation:** [https://scrappa.co/docs/morizon-api/morizon_agency](https://scrappa.co/docs/morizon-api/morizon_agency)
- **API group:** Morizon API
- **Endpoint:** `GET https://scrappa.co/api/morizon/agency`

## 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 |
| --- | --- | --- | --- |
| `company_id` | integer | Yes | Company id from the contact block of a listing. |
| `transaction` | string | No | sale (default) or rent listings. |
| `type` | string | No | flat (default), house, plot, commercial, garage or room. |
| `sort` | string | No | Same values as the search sort. |
| `page` | integer | No | Listings page, 1-based. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/morizon/agency?company_id=15352&transaction=sale&type=house"
```

## Example response

```json
{
    "success": true,
    "agency": {
        "company_id": 15352,
        "company": {
            "id": 15352,
            "name": "Example Nieruchomo\u015bci",
            "type": "AGENCY",
            "address": [
                "Kapelanka 1A / 1",
                "30-347 Krak\u00f3w"
            ],
            "phones": [
                "12 311 01 88"
            ],
            "websites": [
                "http://www.example.pl"
            ],
            "logo": null
        },
        "profile": {
            "name": "Example Nieruchomo\u015bci",
            "profile_url": "https://www.morizon.pl/biuro-nieruchomosci/example-nieruchomosci-15352",
            "address": [
                "Kapelanka 1A / 1",
                "30-347 Krak\u00f3w"
            ],
            "description_html": "<p>Biuro nieruchomo\u015bci ...</p>",
            "description_text": "Biuro nieruchomo\u015bci ...",
            "license_number": "803",
            "listings_count": 2388,
            "agents": [
                "Anna Example"
            ]
        }
    },
    "total": 1270,
    "returned": 1,
    "pagination": {
        "page": 1,
        "limit": 35,
        "pages_count": 37,
        "has_next_page": true,
        "has_previous_page": false
    },
    "applied_filters": {
        "transaction": "sale",
        "type": "house",
        "agency_id": 15352,
        "sort": "default"
    },
    "listings": [
        {
            "id": "mzn2045462366",
            "numeric_id": 1540411861,
            "url": "/oferta/sprzedaz-mieszkanie-krakow-podgorze-duchackie-bialoruska-69-46m2-mzn2045462366",
            "full_url": "https://www.morizon.pl/oferta/sprzedaz-mieszkanie-krakow-podgorze-duchackie-bialoruska-69-46m2-mzn2045462366",
            "title": "mieszkanie na sprzeda\u017c",
            "description": "Najwa\u017cniejsze atuty: szybki dojazd do centrum i autostrady A4 ...",
            "price": {
                "amount": 764796,
                "currency": "PLN",
                "formatted": "764 796 z\u0142"
            },
            "price_per_m2": {
                "amount": 16300,
                "currency": "PLN",
                "formatted": "16 300 z\u0142/m\u00b2"
            },
            "omnibus": {
                "previous_sale_price": null,
                "previous_lowest_price": null
            },
            "area_m2": 46.92,
            "rooms": {
                "count": 2,
                "text": "2 pokoje"
            },
            "floor": {
                "number": 3,
                "text": "pi\u0119tro 3"
            },
            "address": {
                "country_code": null,
                "parts": [
                    "Krak\u00f3w",
                    "Podg\u00f3rze Duchackie"
                ],
                "street": "Bia\u0142oruska 69",
                "number": null,
                "county": null,
                "commune": null
            },
            "latitude": 50.0207,
            "longitude": 19.963,
            "added_at": "2025-04-10",
            "refreshed_at": null,
            "development": "Osiedle przy Malborskiej",
            "flags": {
                "top_promoted": false,
                "highlighted": false,
                "recommended": false,
                "has_3d_view": false,
                "has_video": false
            },
            "photos_count": 8,
            "photos": [
                {
                    "url": "https://media.domy.pl/img/zdjecia/example/1/example_1.jpg",
                    "alt": "Mieszkanie na sprzeda\u017c 46m2 Krak\u00f3w - zdj\u0119cie 1",
                    "name": "mieszkanie-na-sprzedaz-krakow"
                }
            ],
            "plans": [],
            "contact": {
                "private_owner": false,
                "company": {
                    "id": 15352,
                    "name": "Example Nieruchomo\u015bci",
                    "type": "AGENCY",
                    "address": [
                        "Kapelanka 1A / 1",
                        "30-347 Krak\u00f3w"
                    ],
                    "phones": [
                        "12 311 01 88"
                    ],
                    "websites": [
                        "http://www.example.pl"
                    ],
                    "logo": null
                },
                "person": {
                    "name": "Anna Example",
                    "type": "AGENT",
                    "phones": [
                        "+48 500 000 000"
                    ],
                    "profile_path": null,
                    "photo": null
                },
                "comment": []
            }
        }
    ],
    "meta": {
        "endpoint_family": "agency",
        "billable": true,
        "attempts": 3,
        "profile_available": true
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | Nothing exists with that identifier on Morizon, for example a removed listing (`not_found`). Non-billable. |
| 422 | Validation Error | A query parameter is missing, unknown or unusable. Unknown parameters are rejected, never ignored. Non-billable. |
| 503 | Upstream Unavailable | Morizon could not be reached after retries, answered with an error, or returned an unexpected answer (`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)
