ASAP living
  • Explore
  • APARTMENTS
  • NEIGHBORHOODS
  • GUIDES
  • FAQ
  • Connect
  • ABOUT
  • CONTACT
  • TENANT LOGIN
  • APPLY

API Documentation

For AI agents and automated systems accessing ASAP Living data

Overview

ASAP Living provides furnished all-inclusive apartments for professionals in Berlin. Typical stays 6–24 months. This document explains how AI agents can programmatically access listing data and assist users with apartment search and applications.

Data Access Methods

1. Structured Data (JSON-LD) — Recommended

Every apartment detail page contains a Schema.org RealEstateListing JSON-LD block in the <head>.

2. Sitemap

URL: https://www.asapliving.de/sitemap.xml

3. Machine-Readable Info

URL: https://www.asapliving.de/llms

4. Organization Schema

Available on every page as JSON-LD.

URL Patterns

Resource URL
All listings /
Single listing /flatdetail/{slug}
Apply /#apply-section
Sitemap /sitemap.xml
Machine info /llms
This document /api-docs
OpenAPI spec /openapi.json

REST API Endpoints

The following JSON API endpoints are available at https://www.asapliving.de. CORS is enabled on all /api/* routes. An OpenAPI 3.0 specification is also available.

GET /api/listings

Returns all available apartments as JSON. Results are cached server-side for 60 seconds. Only apartments marked for display are included, sorted by availability date (ascending).

Request

GET https://www.asapliving.de/api/listings

Response — 200 OK

{
  "records": [
    {
      "id": "recXXXXXXXXXXXXXX",
      "fields": {
        "Website Titel": ["Bright 2BR in Kreuzberg"],
        "Adresse": ["Bergmannstr. 15, 10961 Berlin"],
        "Stadtteil": ["Kreuzberg"],
        "Schlafzimmer": 2,
        "WFL": 68,
        "Gesamt SOLL": 1850,
        "Website Verfügbarkeit": "Available Now",
        "verfügbarkeit": "2026-04-01",
        "Art": ["2-Zimmer-Wohnung"],
        "Titelbild": [
          {
            "id": "attXXXXXX",
            "url": "/api/img?url=...&w=800",
            "width": 800,
            "height": 533
          }
        ],
        "Bilder Vermarktung": [
          {
            "id": "attYYYYYY",
            "url": "https://v5.airtableusercontent.com/...",
            "width": 1600,
            "height": 1067
          }
        ],
        "Latitude": 52.4891,
        "Longitude": 13.3884,
        "Website Untertitel": "Furnished • All-inclusive",
        "Website Kosten": "1.850 EUR",
        "Stadtteil2": "Bergmannkiez"
      }
    }
  ]
}

Key fields

Field Type Description
Website Titel string[] Apartment title (array, use first element)
Adresse string[] Full street address
Stadtteil string[] Berlin neighborhood (e.g., Kreuzberg, Mitte)
Schlafzimmer number Number of bedrooms
WFL number Living area in square meters
Gesamt SOLL number Monthly all-inclusive rent in EUR
Website Verfügbarkeit string Human-readable availability status
verfügbarkeit string Availability date (ISO format, YYYY-MM-DD)
Art string[] Apartment type (e.g., 2-Zimmer-Wohnung)
Titelbild object[] Cover image (url, width, height). Resized to 800px via image proxy.
Bilder Vermarktung object[] Gallery images (url, width, height). Full resolution from CDN.
Latitude number GPS latitude
Longitude number GPS longitude

POST /api/apply

Submit a rental application. Creates a new record in the applications system.

Request

POST https://www.asapliving.de/api/apply
Content-Type: application/json

{
  "fields": {
    "Vorname": "John",
    "Nachname": "Doe",
    "Email": "john@example.com",
    "Phone": "+49 170 1234567",
    "Move-in Date": "2026-05-01",
    "Renting Period": "12 months",
    "Number of Tenants": "2",
    "Budget": "2000-2500",
    "Notes": "Looking for 2BR in Kreuzberg",
    "Wohnung": "recXXXXXXXXXXXXXX"
  }
}

Fields

Field Required Description
Vorname Recommended First name
Nachname Recommended Last name
Email Recommended Email address
Phone Optional Phone number
Move-in Date Optional Desired move-in date (YYYY-MM-DD)
Renting Period Optional Desired lease duration (e.g., “12 months”)
Number of Tenants Optional Number of people moving in
Budget Optional Monthly budget range in EUR
Notes Optional Free-text notes or preferences
Wohnung Optional Airtable record ID of a specific apartment (from /api/listings). Links the application to that listing.

Response — 200 OK

{
  "id": "recXXXXXXXXXXXXXX"
}

Returns the record ID of the created application.

POST /api/contact

Send a general contact message. All three fields are required.

Request

POST https://www.asapliving.de/api/contact
Content-Type: application/json

{
  "fields": {
    "Name": "John Doe",
    "Email": "john@example.com",
    "Message": "I have a question about your apartments in Mitte."
  }
}

Fields

Field Required Description
Name Yes Full name of the sender
Email Yes Email address
Message Yes Message content

Response — 200 OK

{
  "id": "recXXXXXXXXXXXXXX"
}

Error Response — 400 Bad Request (if any required field is missing)

{
  "error": "Name, Email and Message are required"
}

Agent Workflows

Workflow 1: Find Apartments

  1. Call GET /api/listings to retrieve all available apartments as JSON
  2. Filter the records array by user criteria (neighborhood, bedrooms, budget, availability date, etc.)
  3. Present matching apartments with title, price, location, and availability
  4. Optionally enrich results with JSON-LD from detail pages at /flatdetail/{slug}

Workflow 2: Submit Application for Specific Apartment

  1. Identify the apartment id (e.g., recXXXXXXXXXXXXXX) from /api/listings
  2. Collect applicant details (name, email, move-in date, budget, etc.)
  3. Call POST /api/apply with the applicant fields and "Wohnung": "recXXX" to link to the apartment
  4. Confirm success using the returned record ID

Workflow 3: General Application (No Specific Apartment)

  1. Collect applicant details and preferences
  2. Call POST /api/apply without the Wohnung field
  3. Confirm success — ASAP Living will match the applicant to suitable apartments

Workflow 4: Send a Contact Message

  1. Collect name, email, and message from the user
  2. Call POST /api/contact with the three required fields
  3. Confirm the message was sent

Rate Limits & Best Practices

  • Max 1 request/second
  • API responses are cached for 60 seconds server-side — repeated calls within the cache window return the same data
  • Prefer /api/listings over HTML scraping for apartment data
  • Use JSON-LD on detail pages for enriched schema data (amenities, descriptions)
  • Cache results on your end — listings change infrequently
  • All prices are monthly, all-inclusive (rent + utilities + internet + furnishing)
  • CORS is enabled on all /api/* endpoints

Data Privacy (GDPR)

Agent responsibilities:

  • Only collect required form data
  • Inform user their data goes to ASAP Living
  • Don’t store/reuse application data
  • Don’t share with third parties

Data controller: ASAP Consulting GmbH, Starnberg, Germany
Contact: info@asapliving.de

Related Resources

Resource URL
Service description /llms
Sitemap /sitemap.xml
robots.txt /robots.txt
Privacy policy /datenschutz
OpenAPI specification /openapi.json
ASAP living
Explore Apartments Neighborhoods Guides FAQ
Company Contact About Impressum Datenschutz
Services Corporate Business Expats Students Insurance Partners

© 2026 ASAP Consulting GmbH. All rights reserved.