Discover/Dils API
live

Dils APIdils.pt

Access all Dils Portugal (Castelhana) real estate developments, unit fractions, prices, and amenities across Lisboa, Porto, Algarve, and more via 3 API endpoints.

Endpoint health
verified 2d ago
get_development_detail
list_developments
get_development_fractions
3/3 passing latest checkself-healing
Endpoints
3
Updated
26d ago

What is the Dils API?

The Dils Portugal API exposes 3 endpoints covering real estate developments listed on dils.pt (formerly Castelhana), including paginated development summaries, full detail records, and individual unit fractions. The get_development_fractions endpoint returns per-unit data such as typology, floor, useful area, gross area, bathrooms, energy certification, and availability status across regions including Lisboa, Porto, Algarve, Oeiras, Cascais, and Comporta.

Try it
Page number (1-indexed).
Number of results per page.
api.parse.bot/scraper/5cefcd8e-a310-4e05-8ee4-1a7be6a36759/<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/5cefcd8e-a310-4e05-8ee4-1a7be6a36759/list_developments?page=1&page_size=10' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace dils-pt-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Dils Portugal Real Estate SDK — browse developments, drill into fractions."""
from parse_apis.dils_portugal_real_estate_developments_api import (
    DilsPortugal, IncludeFractions, DevelopmentNotFound
)

client = DilsPortugal()

# List developments — limit caps total items fetched across pages.
for dev in client.developments.list(page_size=10, limit=5):
    print(dev.name, dev.district, dev.min_price, dev.status)

# Drill into one development's fractions via sub-resource navigation.
dev = client.developments.list(limit=1).first()
if dev:
    for frac in dev.fractions.list(limit=3):
        print(frac.typology, frac.useful_area, frac.energy_certification, frac.availability)

# Fetch full detail by ID with enum — typed error handling for missing developments.
if dev:
    try:
        detail = client.developments.get(id=str(dev.id), include_fractions=IncludeFractions.TRUE)
        print(detail.name, detail.municipality, detail.available_fractions)
    except DevelopmentNotFound as exc:
        print(f"Development gone: {exc.development_id}")

print("exercised: developments.list / developments.get / fractions.list")
All endpoints · 3 totalmissing one? ·

List all real estate developments with pagination. Returns development summaries including name, location, typologies, price ranges, availability, features, images, and agent contacts. Paginates via integer page number; each page returns up to page_size developments.

Input
ParamTypeDescription
pageintegerPage number (1-indexed).
page_sizeintegerNumber of results per page.
Response
{
  "type": "object",
  "fields": {
    "page": "integer - current page number",
    "total": "integer - number of developments returned on this page",
    "page_size": "integer - requested page size",
    "developments": "array of development summary objects with id, name, description, type, status, location fields, typologies, price range, features, agents, and images"
  },
  "sample": {
    "data": {
      "page": 1,
      "total": 2,
      "page_size": 10,
      "developments": [
        {
          "id": 25956371,
          "name": "Penha Longa Edition",
          "type": "Prédio",
          "year": null,
          "zone": "Penha Longa",
          "agents": [
            {
              "name": "John Doe",
              "email": "[email protected]",
              "phone": "+1 (555) 012-3456"
            }
          ],
          "images": [
            {
              "original": "https://images.egorealestate.com/ZOriginal/...",
              "thumbnail": "https://images.egorealestate.com/Z512x384/...",
              "description": "Fachada"
            }
          ],
          "parish": "S.Maria e S.Miguel",
          "status": "Em construção",
          "address": "",
          "country": "Portugal",
          "gps_lat": 38.761,
          "gps_lon": -9.398,
          "district": "Lisboa",
          "features": [
            "AREAS",
            "AREA_T",
            "CHILDREN_PLAYGROUND"
          ],
          "zip_code": "",
          "max_price": "4 650 000 €",
          "min_price": "1 870 000 €",
          "reference": "37031",
          "thumbnail": "https://images.egorealestate.com/Z512x384/...",
          "area_range": [
            224,
            568
          ],
          "price_info": null,
          "typologies": [
            "T2",
            "T3",
            "T4"
          ],
          "description": "Entre Lisboa e Cascais...",
          "availability": "Disponível",
          "municipality": "Sintra",
          "last_modified": "2026-06-10T08:59:42",
          "typology_range": [
            "T2",
            "T5"
          ],
          "total_fractions": 16,
          "available_fractions": 8
        }
      ]
    },
    "status": "success"
  }
}

About the Dils API

Development Listings

The list_developments endpoint returns paginated summaries of all active real estate developments on dils.pt. Each result includes the development id, name, type, status, location fields, typologies, price range, features tags, images, and agent contacts. Use the page and page_size parameters to control pagination. The total field reflects the count of developments returned on the current page, not the full catalog size.

Development Detail and Fractions

The get_development_detail endpoint accepts a development_id (sourced from list_developments) and returns the full development record: district, status, min_price, max_price, features array, and an images array with thumbnail, original, and description fields for each image. Set include_fractions=true to embed all unit fractions directly in the response rather than making a separate call.

Individual Unit Data

The get_development_fractions endpoint returns every individual unit (fraction) for a given development. Each fraction object includes typology, floor, bathrooms, useful_area, gross_area, availability, energy_certification, images, and blueprints. The total field in the response reports the number of fractions found. This is the most granular data the API exposes — suitable for unit-level price tracking or inventory monitoring.

Reliability & maintenanceVerified

The Dils API is a managed, monitored endpoint for dils.pt — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when dils.pt 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 dils.pt 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
3/3 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
  • Track price range changes across Lisboa and Porto developments by periodically calling list_developments and comparing min_price/max_price fields.
  • Build a unit availability dashboard by polling get_development_fractions for availability status across multiple development IDs.
  • Filter developments by typologies and features to surface properties matching specific buyer criteria such as number of rooms or amenities.
  • Aggregate energy certification grades across fractions from get_development_fractions to compare sustainability metrics across developments.
  • Pull images and blueprints from fraction records to populate a property listing interface with floor plans and unit-level photography.
  • Monitor construction status changes across developments in Algarve or Cascais by comparing get_development_detail responses over time.
  • Compile a regional inventory report by paginating through all developments and summing fraction counts by district.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Dils Portugal (dils.pt) offer an official developer API?+
Dils Portugal does not publish an official public developer API or documented data feed as of the time of writing.
What does `get_development_detail` return beyond what `list_developments` provides?+
It adds the images array with per-image thumbnail, original, and description fields, a district string, and formatted min_price/max_price strings. When include_fractions=true is passed, it also embeds the full fractions array, equivalent to what get_development_fractions returns separately.
Does the API cover secondary market (resale) listings or only new developments?+
The API covers new real estate developments listed under dils.pt's developments section — not individual resale listings or rental properties. You can fork it on Parse and revise it to add an endpoint targeting resale or rental listings if that data is available on the site.
Are asking prices per fraction exposed, or only development-level price ranges?+
Development-level min_price and max_price are returned by get_development_detail. Individual fraction records from get_development_fractions include area and typology data but individual per-unit asking prices are not currently a named field in the fraction object. You can fork this API on Parse and revise it to surface per-fraction pricing if the source exposes it.
How does pagination work in `list_developments`?+
Pagination uses a 1-indexed page integer parameter alongside page_size. The response includes the current page, page_size, and a total representing the count of developments on that page — not a global total. To determine the full catalog size, you need to iterate until a page returns fewer results than the requested page_size.
Page content last updated . Spec covers 3 endpoints from dils.pt.
Related APIs in Real EstateSee all →
imovirtual.com API
Search and browse real estate listings across Portugal, view detailed property information including prices and specifications, and discover new housing developments. Find your ideal home by accessing comprehensive market data all in one place.
idealista.pt API
Search and filter property listings across Portugal by location, price, and size, then access detailed information about each property including its characteristics and pricing history. Monitor how property prices change over time to help you make informed decisions about buying or selling real estate.
olx.pt API
Search and monitor real estate listings and business advertisements from OLX Portugal with advanced filtering and pagination options. Get detailed information about specific listings including prices, descriptions, and seller details to find exactly what you're looking for.
casasapo.pt API
Search and browse Portuguese real estate listings from Casa Sapo for both sale and rent, view detailed property information, access bank-owned properties, and analyze market statistics to make informed decisions. Track new listings and price reductions to stay updated on the latest opportunities in the Portuguese property market.
airbnb.pt API
Search for rental listings in any location, view detailed information about properties including availability and guest reviews. Browse hundreds of accommodations to find the perfect place that fits your travel needs and budget.
portalinmobiliario.com API
Search and analyze property listings from Chile's top real estate platform, accessing detailed information like prices in UF or CLP, room and bathroom counts, square footage, and locations for apartments, houses, and other properties. Quickly compare available properties and gather market data to find your ideal home or investment opportunity.
ingatlan.com API
Search real estate listings and development projects on ingatlan.com to find properties with detailed information like prices, descriptions, and project details. Get comprehensive data on available homes and construction projects even when direct access is restricted.
imovelweb.com.br API
Search and browse detailed real estate listings on imovelweb.com.br by city, state, and neighborhood. Retrieve structured property data including pricing, size, room counts, features, and full listing descriptions — ready for analysis, comparison, or portfolio tracking.