{
  "openapi": "3.0.1",
  "info": {
    "title": "Inmuebles24 Scraper 🏠 Mexico Real Estate + Agent Phone & Email",
    "description": "Inmuebles24 scraper — paste any Mexico sale, rent or commercial search URL. Price, m², rooms, geo, photos, agency + WhatsApp. Opt-in agent direct phone and email the website hides. 45 fields per listing. JSON, CSV or Excel. $1 per 1,000. No browser, no login. Cloudflare handled.",
    "version": "1.0",
    "x-build-id": "9nuOy1OyNMAK4KQdh"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~inmuebles24-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-inmuebles24-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/memo23~inmuebles24-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-inmuebles24-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/memo23~inmuebles24-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-inmuebles24-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "startUrls": {
            "title": "Inmuebles24 search or listing URLs",
            "type": "array",
            "description": "One or more inmuebles24.com search-results URLs. Sale (-en-venta-), rent (-en-renta-) and commercial searches all work, including any filters already applied in the URL. Examples: https://www.inmuebles24.com/casas-en-venta-en-jalisco.html, or with a price cap https://www.inmuebles24.com/casas-en-venta-en-jalisco-hasta-6000000-pesos.html (a floor is -mas-de-6000000-pesos). Single listing pages work too and return that listing, e.g. https://www.inmuebles24.com/propiedades/clasificado/alclapin-departamento-en-del-valle-sur-150644596.html; one that is no longer online is named in the log and not billed. Default: empty (use startUrl or this list).",
            "items": {
              "type": "string"
            }
          },
          "startUrl": {
            "title": "Single search URL",
            "type": "string",
            "description": "Convenience alternative to startUrls when you have one inmuebles24.com search-results or listing URL. Merged with startUrls and de-duplicated. Example: https://www.inmuebles24.com/departamentos-en-renta-en-ciudad-de-mexico.html. Default: empty."
          },
          "maxItems": {
            "title": "Maximum listings",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on the number of listings collected across all URLs. Controls billing. Free Apify accounts are capped at 100 regardless of this value. Example: 25 for a smoke test. Default: 1000.",
            "default": 1000
          },
          "fullDescription": {
            "title": "Full descriptions",
            "type": "boolean",
            "description": "Fetch each listing's complete description, one extra call per listing. Paid runs make these calls through a built-in residential pool, four at a time. Turn it off for faster bulk runs: rows then carry the first 150 characters and descriptionTruncated: true. If every address is refused during a run, paid runs finish these calls through a built-in unblocker, two at a time; otherwise, or if that fails too, the remaining rows carry the short description and the log says so. Default: true.",
            "default": true
          },
          "enrichContacts": {
            "title": "Enrich with WhatsApp, direct phone + agency email (billed per contact)",
            "type": "boolean",
            "description": "Adds each listing's WhatsApp, direct phone number, agency email, and contact name from Inmuebles24's own contact API (not guessed from the web page). Adds whatsApp, phone, phones, agencyEmail, agencyEmails, contactName, contactEnriched. Billed only per listing that returns a contact — never charged for misses. Default: false.",
            "default": false
          },
          "enrichEmails": {
            "title": "Enrich with contact emails (experimental)",
            "type": "boolean",
            "description": "Best-effort: looks up a contact email on the agency's own website (or by name). Adds contactEmail, contactWebsite, and emailEnrichment. A website found by name is kept only when it names the listing's city, and an agency behind several listings is looked up and billed once per run. Independent of enrichContacts. Default: false.",
            "default": false
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Carries the actor's calls to Inmuebles24's app API for searches and listing URLs, and the agency email lookups. The per-listing calls (full descriptions, contacts) are the ones Inmuebles24 limits per address: paid runs make them through a built-in residential pool and use this proxy only as a last fallback, free accounts make them through this proxy. Search pages that have to be read from the website go through a built-in unblocker. Default: Apify Proxy (datacenter).",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}