Discover/imot API
live

imot APIimot.bg ↗

Search Bulgarian property listings for sale and rent, retrieve full listing details, and access district-level average prices and historical market stats from imot.bg.

Endpoint health
verified 2d ago
get_market_history
get_listing_details
get_average_prices
get_search_form_options
search_listings_for_sale
7/7 passing latest checkself-healing
Endpoints
7
Updated
16d ago

What is the imot API?

The imot.bg API exposes 7 endpoints covering Bulgaria's largest real estate portal: search listings for sale or rent, fetch full property details via get_listing_details, query weekly average price snapshots by district going back to 1995, and pull historical market statistics for individual districts and property types. Each search endpoint returns paginated summaries with IDs, prices, and titles; detail endpoints add photos, floor, construction type, and contact phone.

This call costs1 credit / call— charged only on success
Try it
Page number for pagination.
Currency for prices.
Location filter in Bulgarian (e.g. 'град София', 'Пловдив').
Maximum area in square meters.
Minimum area in square meters.
Maximum price in the specified currency.
Minimum price in the specified currency.
Sort order for results. 2 = newest first.
Comma-separated property type names in Bulgarian. Accepted values: 1-СТАЕН, 2-СТАЕН, 3-СТАЕН, 4-СТАЕН, МНОГОСТАЕН, МЕЗОНЕТ, АТЕЛИЕ/ТАВАН, ОФИС, МАГАЗИН, ЗАВЕДЕНИЕ, СКЛАД, ХОТЕЛ, ПРОМ.ПОМЕЩЕНИЕ, ЕТАЖ ОТ КЪЩА, КЪЩА, ВИЛА, ПАРЦЕЛ, ГАРАЖ/ПАРКОМЯСТО, ЗЕМЕДЕЛСКА ЗЕМЯ, БИЗНЕС ИМОТ.
→ api.parse.bot/scraper/fcccf2c5-b878-42f1-a63a-1d246dfba689/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/fcccf2c5-b878-42f1-a63a-1d246dfba689/search_listings_for_sale?page=1&currency=EUR&location=%D0%B3%D1%80%D0%B0%D0%B4+%D0%A1%D0%BE%D1%84%D0%B8%D1%8F&max_area=200&min_area=40&max_price=200000&min_price=50000&sort_order=2&property_types=1-%D0%A1%D0%A2%D0%90%D0%95%D0%9D' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 7 totalmissing one? ·

Search for property listings for sale on imot.bg. Supports filtering by location, price range, area, property type, and pagination. Returns a paginated list of matching listings sorted by newest first by default. Each listing includes an id usable with get_listing_details for full property information.

Input
ParamTypeDescription
pageintegerPage number for pagination.
currencystringCurrency for prices.
locationstringLocation filter in Bulgarian (e.g. 'град София', 'Пловдив').
max_areaintegerMaximum area in square meters.
min_areaintegerMinimum area in square meters.
max_priceintegerMaximum price in the specified currency.
min_priceintegerMinimum price in the specified currency.
sort_orderintegerSort order for results. 2 = newest first.
property_typesstringComma-separated property type names in Bulgarian. Accepted values: 1-СТАЕН, 2-СТАЕН, 3-СТАЕН, 4-СТАЕН, МНОГОСТАЕН, МЕЗОНЕТ, АТЕЛИЕ/ТАВАН, ОФИС, МАГАЗИН, ЗАВЕДЕНИЕ, СКЛАД, ХОТЕЛ, ПРОМ.ПОМЕЩЕНИЕ, ЕТАЖ ОТ КЪЩА, КЪЩА, ВИЛА, ПАРЦЕЛ, ГАРАЖ/ПАРКОМЯСТО, ЗЕМЕДЕЛСКА ЗЕМЯ, БИЗНЕС ИМОТ.
Response
{
  "type": "object",
  "fields": {
    "page": "current page number as string",
    "count": "integer total number of listings on this page",
    "listings": "array of listing summary objects with id, title, url, price, info"
  },
  "sample": {
    "data": {
      "page": "1",
      "count": 41,
      "listings": [
        {
          "id": "1a177764345916850",
          "url": "https://www.imot.bg/obiava-1a177764345916850-prodava-ednostaen-apartament-grad-sofiya-vrabnitsa-2",
          "info": "42 кв.м, 1-ви ет. от 9, ТЕЦ",
          "price": "107 000 €209 273.81 лв.",
          "title": "Продава 1-СТАЕНград София, Връбница 2"
        }
      ]
    },
    "status": "success"
  }
}

About the imot API

Listing Search and Detail

search_listings_for_sale and search_listings_for_rent accept location strings in Bulgarian (e.g. 'град София'), price bounds (min_price, max_price), area bounds (min_area, max_area), currency, and page number. Each returns a listings array of summary objects carrying id, title, url, price, and info, plus a count of items on that page. Pass any id or url from those results to get_listing_details to receive the full record: parameters (area, floor, construction type), description, photos array, price_per_sqm, VAT status via price_info, and a phone contact string.

Average Prices and Market History

get_average_prices returns one row per district for a chosen Bulgarian city, transaction type (sale, rent, or land), and weekly snapshot date. The columns field describes each value column as a {category, measure} pair; available_dates lists every snapshot the source offers for the requested year, newest first — the site holds weekly data going back to 1995. get_market_history narrows to a single district × property-type combination and returns chronological points (each with date in D.M.YYYY and date_iso) across all metrics the source tracks, such as 'Цена на имота', 'Цена на кв.м.', and 'Брой оферти'. The period parameter maps to the site's chart windows: 1 = 1 month through 5 = all time.

Bulk History and Vocabulary Endpoints

get_market_history_bulk batches up to 40 district × property-type combinations per call for a single city and market segment. Pagination is handled via offset and next_offset; the summary field reports counts for successful, skipped, and failed combinations. get_search_form_options requires no inputs and returns the authoritative filter vocabularies: towns, years, property_types, districts (keyed by city), history_periods, history_metrics, history_property_types, and statistics_types. Use this endpoint to build dynamic filter UIs or validate inputs before calling any other endpoint.

Reliability & maintenanceVerified

The imot API is a managed, monitored endpoint for imot.bg — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when imot.bg changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official imot.bg API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2d ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate weekly district-level price-per-sqm trends for Sofia going back to 1995 using get_average_prices with varying year and date inputs.
  • Build a rental price comparison tool for Plovdiv by querying search_listings_for_rent filtered by area bounds and retrieving full details for each result.
  • Monitor new-to-market sale listings in a specific Bulgarian city by polling search_listings_for_sale with sort_order=2 and tracking IDs across runs.
  • Generate per-district price history charts by combining get_market_history_bulk results for all districts of a city with a 5-year period.
  • Validate search form inputs programmatically by calling get_search_form_options to retrieve exact Bulgarian property type labels and district names before running queries.
  • Extract contact phones and photo URLs for property leads by chaining search results into get_listing_details calls.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does imot.bg offer an official developer API?+
imot.bg does not publish a documented public developer API or data feed for third-party use.
What does get_average_prices return, and how far back does the data go?+
It returns one row per district for a chosen city, transaction type (sale, rent, or land), and a specific weekly snapshot date. The columns array labels each value column with a category and measure. The available_dates field lists every snapshot date the source offers for the requested year. The source publishes weekly snapshots going back to 1995, accessible by combining the year and date parameters.
Can I filter sale listings by property type, such as apartments only?+
search_listings_for_rent exposes a property_types parameter accepting comma-separated Bulgarian labels (e.g. '2-СТАЕН,3-СТАЕН'). search_listings_for_sale accepts location, price, and area filters but does not currently surface a property_type filter parameter in the same way. The accepted vocabulary for both is returned by get_search_form_options under property_types. You can fork this API on Parse and revise it to add a property_type filter to the sale search endpoint.
Does the API cover listings outside Bulgaria or from other Bulgarian portals?+
The API covers only imot.bg, which focuses on properties in Bulgaria. Listings from other Bulgarian portals such as address.bg or alo.bg are not included. You can fork this API on Parse and revise it to add endpoints targeting those sources.
Is there a limit on how many district combinations get_market_history_bulk can process per call?+
Yes. The limit parameter is clamped to a maximum of 40 combinations per call. If more combinations exist, has_more will be true and you use next_offset (returned in the response) as the offset for the next call to page through the full set. The summary object reports how many combinations were successful, skipped, or failed within each call.
Page content last updated . Spec covers 7 endpoints from imot.bg.
Related APIs in Real EstateSee all →
rightmove.co.uk API
Search for properties across the UK's largest property portal and retrieve detailed listings for homes for sale or to rent, including prices, descriptions, and key property information. Find your next home or investment opportunity by browsing available properties and getting comprehensive details on individual listings.
funda.nl API
Search for property listings on Funda.nl, the largest Dutch real estate platform. Access prices, addresses, property details, and agent contact information across Dutch cities and neighbourhoods. Supports paginated browsing and bulk retrieval of listings by area.
alt.xyz API
Find authenticated graded trading cards on alt.xyz by their certification number to instantly access the card's details, current Alt Value with confidence ranges, daily price trends, population statistics, and comparable market sales data for that grade. Use this information to track card valuations, understand market demand, and make informed trading decisions.
domain.com.au API
Search and compare property listings for sale, rent, or sold properties across Australia, view detailed property information and agent profiles, and explore suburb insights to make informed real estate decisions. Access comprehensive data on agents, neighborhoods, and properties all in one place.
booli.se API
Access Swedish property data from Booli.se. Search active and historical listings, retrieve full listing details and photos, and explore area market statistics and price trends.
cbre.com API
Search CBRE's commercial real estate listings by location, property type, and transaction (lease or sale) to find available properties and spaces that match your criteria. Access detailed property information including pricing, agent contacts, and specific space details to evaluate investment or leasing opportunities.
krisha.kz API
Search and browse real estate listings across Krisha.kz to find properties for sale, rent, or new developments, then access detailed information and contact details for each listing. Get comprehensive property data including prices, descriptions, and seller information to make informed decisions about properties in Kazakhstan.
centris.ca API
Search and retrieve real estate listings from Centris.ca, Canada's largest real estate platform. Filter by location, property type, price range, and keywords to find houses, condos, plexes, and multi-generational properties across Quebec. Get detailed listing information including price, address, room counts, and photos.