{
  "openapi": "3.0.1",
  "info": {
    "title": "Listing Status Checker - Sold, Removed & Price Changes",
    "description": "Is the listing still online? Paste ad URLs from ImmoScout24, Kleinanzeigen, Fotocasa, Vinted, SEEK or Welcome to the Jungle: get status (online, sold, reserved, removed, expired), current price and price change per URL. For CRM clean-up and price tracking. Refused checks are free.",
    "version": "0.1",
    "x-build-id": "ku59NbkJKQUfIR59Z"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/amitaviv~property-listing-status-checker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-amitaviv-property-listing-status-checker",
        "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/amitaviv~property-listing-status-checker/runs": {
      "post": {
        "operationId": "runs-sync-amitaviv-property-listing-status-checker",
        "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/amitaviv~property-listing-status-checker/run-sync": {
      "post": {
        "operationId": "run-sync-amitaviv-property-listing-status-checker",
        "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": {
          "urls": {
            "title": "Listing URLs",
            "type": "array",
            "description": "One listing per line, from immobilienscout24.de (…/expose/<id>), kleinanzeigen.de (…/s-anzeige/…), fotocasa.es (…/<id>/d), vinted.fr, .de, .co.uk and Vinted's other country sites (…/items/<id>…), seek.com.au / seek.co.nz (…/job/<id>) or welcometothejungle.com (…/companies/…/jobs/…). Optionally add the price you last saw and your own reference after the URL, separated by a space, comma, ; or tab: \"https://www.immobilienscout24.de/expose/134412431 700 CRM-17\" (spreadsheet lines such as \"<url>,700,CRM-17\" work too). Text after the URL that is not a price is kept as your reference. A URL listed twice is checked once. Other sites and search pages are skipped and listed in the run summary. Up to 50,000 URLs per run. Each URL that gets a known status is one charged 'check' event; URLs the site refused come back with status unknown and are not charged. Required unless \"listings\" is given.",
            "items": {
              "type": "string"
            }
          },
          "listings": {
            "title": "Listings with previous prices (JSON, optional)",
            "type": "array",
            "description": "The same as \"Listing URLs\" as objects, for exports from a CRM or spreadsheet: [{ \"url\": \"https://…\", \"previousPrice\": 700, \"reference\": \"CRM-17\" }]. previousPrice and reference are optional."
          },
          "compareWithPreviousRun": {
            "title": "Compare with the previous run",
            "type": "boolean",
            "description": "Remember each listing's status and price, and report in the next run what changed (previousStatus, statusChanged, previousPrice). Default on. A price you give in the input is used instead of the remembered one. The memory is a key-value store named property-listing-status-checker-memory in your account; delete it to start over.",
            "default": true
          },
          "memoryKey": {
            "title": "Memory name (optional)",
            "type": "string",
            "description": "Free text, e.g. \"client-a-daily\". Runs with the same name share one memory. Give separate lists (clients, portals, schedules) different names to keep their comparisons apart."
          },
          "includePrivateSellerData": {
            "title": "Include private sellers' names",
            "type": "boolean",
            "description": "Off by default: for listings of private persons the advertiser name is left empty and phone numbers or e-mail addresses in their titles are masked (sellerType says \"private\"). For business accounts on Kleinanzeigen, ImmoScout24 and Fotocasa only a business name is shown, without the contact person or branch after a dash; a name that is not recognisably a business is left empty (this includes some real company names). Turn this on only if you confirm you have a lawful basis under the GDPR (or your local law) to process these names, e.g. your own listings. Vinted sellers' names are never collected.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Off by default. Fotocasa is always checked through Apify Proxy (it refuses other datacenter addresses). Turn on Apify Proxy here to send all checks through its datacenter addresses (Vinted checks are then paced 0.3 s apart instead of 1.2 s). Residential groups are not used: they are replaced by datacenter addresses.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}