---
title: "Analysis"
method: POST
path: "/market-analytics-api/analysis"
tags: ["market-analytics-api---analysis"]
---

# Analysis

`POST /market-analytics-api/analysis`

## Request

- Base URL: `https://api.casafari.com`
- URL: `https://api.casafari.com/market-analytics-api/analysis`
- Auth: HTTP bearer

Market analysis based on the requested property parameters.

## Request body

- MarketAnalyticsApiAnalysisRequest
  - `custom_location_boundary` MarketAnalyticsApiLocationBoundarySchema, required
    - `location_ids` integer[]: List of location IDs.
    - `polygon` MarketAnalyticsApiGeoPoint[]: List of geo-points to search within. Polygon must contain at least 4 points. First and last points must match.
      - `latitude` number, required
      - `longitude` number, required
    - `circle` MarketAnalyticsApiCircleBoundarySchema
      - `distance` integer, required: Maximum distance in meters from the requested `target_point` to the properties.
      - `target_point` MarketAnalyticsApiGeoPoint, required
        - `latitude` number, required
        - `longitude` number, required
  - `business_type` 'sale' | 'rent', required
  - `types` MarketAnalyticsApiExternalEstateTypeEnum[], required: The list of property types by type groups:<br/><strong>apartment: </strong>["apartment", "studio", "duplex", "penthouse", "dachgeschosswohnung", "etagenwohnung", "erdgeschosswohnung"]<br/><strong>house: </strong>["country_house", "house", "palace", "townhouse", "villa", "country_estate", "chalet", "bungalow", "family_house", "reihenhaus", "reihenendhaus", "reihenmittelhaus", "einfamilienhaus", "zweifamilienhaus", "landwirtschaftliche_betriebe"]<br/><strong>room: </strong>["room"]<br/><strong>building: </strong>["apartment_building", "office_building", "mix_use_building"]<br/><strong>investment: </strong>["retail", "office", "industrial", "warehouse", "hotel", "building", "other_commercial", "restaurant", "werkstatt"]<br/><strong>development: </strong>["apartment_development", "house_development"]<br/><strong>plot: </strong>["urban_plot", "rural_plot"]<br/><strong>other: </strong>["parking", "garage", "other"]<br/><br/><i>Note that you can select multiple types only from one property type group.</i><br><br><span style="color:red">The list of property types specific to certain countries</span>:<br/><strong>apartment:</strong><br/>&#9675; dachgeschosswohnung: <strong>Germany</strong><br/>&#9675; etagenwohnung: <strong>Germany</strong><br/>&#9675; erdgeschosswohnung: <strong>Germany</strong><br/><strong>house:</strong><br/>&#9675; family_house: <strong>Germany</strong><br/>&#9675; reihenhaus: <strong>Germany</strong><br/>&#9675; reihenendhaus: <strong>Germany</strong><br/>&#9675; reihenmittelhaus: <strong>Germany</strong><br/>&#9675; einfamilienhaus: <strong>Germany</strong><br/>&#9675; zweifamilienhaus: <strong>Germany</strong><br/>&#9675; landwirtschaftliche_betriebe: <strong>Germany</strong><br/><strong>investment:</strong><br/>&#9675; restaurant: <strong>Germany</strong><br/>&#9675; werkstatt: <strong>Germany</strong><br/><strong>plot:</strong><br/>&#9675; urban_plot: <strong>Italy, Germany, Portugal, Spain, France</strong><br/>&#9675; rural_plot: <strong>Italy, Germany, Portugal, Spain, France</strong>
  - `conditions` MarketAnalyticsApiExternalConditionEnum[], nullable: Property conditions, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint.
  - `energy_ratings` MarketAnalyticsApiExternalEnergyRatingEnum[], nullable: List of energy ratings that attests to the energy efficiency of the property.
  - `orientations` MarketAnalyticsApiExternalOrientationEnum[], nullable: Property view orientation.
  - `views` MarketAnalyticsApiExternalViewEnum[], nullable: List of views from the property.
  - `directions` MarketAnalyticsApiExternalDirectionEnum[], nullable: List of cardinal directions the property faces.
  - `floors` MarketAnalyticsApiExternalFloorEnum[], nullable: List of floor types.
  - `price_range` MarketAnalyticsApiapiSchemaRangesIntRangeSchema1
    - `min` integer, nullable
    - `max` integer, nullable
  - `rooms_range` MarketAnalyticsApiapiSchemaRangesIntRangeSchema2
    - `min` integer, nullable
    - `max` integer, nullable
  - `bedrooms_range` MarketAnalyticsApiapiSchemaRangesIntRangeSchema3
    - `min` integer, nullable
    - `max` integer, nullable
  - `bathrooms_range` MarketAnalyticsApiapiSchemaRangesIntRangeSchema4
    - `min` integer, nullable
    - `max` integer, nullable
  - `total_area_range` MarketAnalyticsApiapiSchemaRangesIntRangeSchema5
    - `min` integer, nullable
    - `max` integer, nullable
  - `plot_area_range` MarketAnalyticsApiapiSchemaRangesIntRangeSchema6
    - `min` integer, nullable
    - `max` integer, nullable
  - `construction_year_range` MarketAnalyticsApiapiSchemaRangesIntRangeSchema7
    - `min` integer, nullable
    - `max` integer, nullable
  - `characteristics` MarketAnalyticsApiCharacteristicsRequestSchema
    - `must_have` MarketAnalyticsApiExternalCharacteristicEnum[]: Include only properties that have all these characteristics.
    - `exclude` MarketAnalyticsApiExternalCharacteristicEnum[]: Exclude properties that contain any of these characteristics.

## Response `200`

Successful Response

- MarketAnalyticsApiAnalysisResponse
  - `price_statistics` MarketAnalyticsApiPriceStatistics, required
    - `average_price` integer, required
    - `average_price_per_sqm` integer, required
  - `price_estimation` MarketAnalyticsApiPriceEstimation, required
    - `fast_market_price` integer, required
    - `out_of_market_price` integer, required
  - `price_evolution` MarketAnalyticsApiPriceEvolution, required
    - `avg_price` MarketAnalyticsApiStatisticsByMonths, required
      - `for_the_last_1_month` integer, required
      - `for_the_last_3_month` integer, required
      - `for_the_last_6_month` integer, required
      - `for_the_last_9_month` integer, required
      - `for_the_last_12_month` integer, required
    - `avg_price_per_sqm` MarketAnalyticsApiStatisticsByMonths, required
      - `for_the_last_1_month` integer, required
      - `for_the_last_3_month` integer, required
      - `for_the_last_6_month` integer, required
      - `for_the_last_9_month` integer, required
      - `for_the_last_12_month` integer, required
  - `summary_price_evolution` MarketAnalyticsApiPriceEvolution, required
    - `avg_price` MarketAnalyticsApiStatisticsByMonths, required
      - `for_the_last_1_month` integer, required
      - `for_the_last_3_month` integer, required
      - `for_the_last_6_month` integer, required
      - `for_the_last_9_month` integer, required
      - `for_the_last_12_month` integer, required
    - `avg_price_per_sqm` MarketAnalyticsApiStatisticsByMonths, required
      - `for_the_last_1_month` integer, required
      - `for_the_last_3_month` integer, required
      - `for_the_last_6_month` integer, required
      - `for_the_last_9_month` integer, required
      - `for_the_last_12_month` integer, required
  - `average_days_on_the_market` integer, required: Indicates the average number of days properties remain listed on the market before being sold or removed.

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `422`: Validation Error

---

[API](https://skmtc.dev/casafari/apis/casafari-api.md) · [All operations](https://skmtc.dev/casafari/apis/casafari-api/llms.txt) · [OpenAPI document](https://skmtc.dev/casafari/apis/casafari-api/revisions/6743b99d4bf9?raw)
