Discover/Siegessaeule API
live

Siegessaeule APIsiegessaeule.de ↗

Access queer Berlin event listings from siegessaeule.de. Filter by date and section, retrieve venue details, geolocation, tags, and editor picks via 2 endpoints.

Endpoint health
verified 4d ago
get_event_details
list_events
2/2 passing latest checkself-healing
Endpoints
2
Updated
2mo ago

What is the Siegessaeule API?

The Siegessäule Events API exposes queer Berlin event data from siegessaeule.de across 2 endpoints, returning structured listings with venue addresses, geolocation, tags, images, and editor picks. The list_events endpoint lets you pull all events active on a given date — or narrow results to a specific section like clubs, kultur, or bars — while get_event_details returns the full event record including an HTML description, image copyright metadata, and upcoming recurrences.

This call costs1 credit / call— charged only on success
Try it
Date to list events for in ISO format YYYY-MM-DD. When omitted, defaults to today's date.
Filter events by section. When omitted, events from all sections are returned.
→ api.parse.bot/scraper/60d893b4-a186-4abf-99ac-87600be52620/<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/60d893b4-a186-4abf-99ac-87600be52620/list_events?date=2026-10-16' \
  -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 siegessaeule-de-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: Siegessäule Berlin Events – browse today's queer events and drill into details."""
from parse_apis.siegessaeule_de_api import Siegessaeule, Section, EventNotFound

client = Siegessaeule()

# List today's events across all sections, capped at 5 items.
for summary in client.event_summaries.list(limit=5):
    print(summary.title, "|", summary.section_title, "|", summary.venue_name)

# Get the full calendar for today to see the editor's pick and section list.
calendar = client.calendar.get()
print(f"{calendar.total_events} events on {calendar.date}")
if calendar.editors_pick is not None:
    print("Editor's pick:", calendar.editors_pick.title, "@", calendar.editors_pick.venue_name)
for sec in calendar.available_sections:
    print("  section:", sec.title, f"({sec.slug})")

# Filter to culture events, take the first hit, and drill into full details.
culture_hit = client.event_summaries.list(section=Section.CULTURE, limit=1).first()
if culture_hit is not None:
    event = culture_hit.details()
    print(event.title)
    print("  venue:", event.venue.title, "-", event.venue.address)
    print("  location:", event.venue.location.lat, event.venue.location.lng)
    if event.upcoming_dates:
        print(f"  {len(event.upcoming_dates)} upcoming recurrence(s)")

# Direct point-lookup using identifiers read from the summary.
if culture_hit is not None:
    try:
        detail = client.events.get(
            slug=culture_hit.slug,
            section=culture_hit.section,
            start_date=culture_hit.start_date,
            start_time=culture_hit.start_time,
        )
        print("Direct lookup:", detail.title)
    except EventNotFound:
        print("Event was removed before lookup")

print("exercised: event_summaries.list / calendar.get / EventSummary.details / events.get")
All endpoints · 2 totalmissing one? ·

List queer Berlin events for a given date, optionally filtered by section (category). Returns all events active on that date across all sections, or filtered to a single section. When date is omitted, the site defaults to today's date. Each event includes identifying fields (id, slug, section, start_date, start_time) that compose into get_event_details for full information. Also returns the editor's pick highlight and available section slugs. One GraphQL round-trip; no pagination — the site returns all events for the requested date in a single response.

Input
ParamTypeDescription
datestringDate to list events for in ISO format YYYY-MM-DD. When omitted, defaults to today's date.
sectionstringFilter events by section. When omitted, events from all sections are returned.
Response
{
  "type": "object",
  "fields": {
    "date": "string — the effective date of the listing in YYYY-MM-DD format",
    "events": "array of event summary objects, each with id, title, slug, section, start_date, start_time, starts_at, ends_at, teaser, info, tags, venue_name, venue_id, image_url, siegessaeule_presents, section_title",
    "editors_pick": "object or null — featured event chosen by editors for that date",
    "total_events": "integer — total number of events returned",
    "available_sections": "array of objects with title and slug for all navigable event sections"
  },
  "sample": {
    "data": {
      "date": "2026-08-30",
      "events": [
        {
          "id": "en:108173",
          "info": "",
          "slug": "club-of-bitches",
          "tags": [
            "Böse Buben",
            "gay",
            "sex"
          ],
          "title": "Club of Bitches",
          "teaser": "Sex-Party, Rudelbums",
          "ends_at": "2026-08-30T00:00:00+00:00",
          "section": "sex",
          "venue_id": "en:2120",
          "image_url": null,
          "starts_at": "2026-08-29T18:00:00+00:00",
          "start_date": "2026-08-29",
          "start_time": "20:00:00",
          "venue_name": "Böse Buben",
          "section_title": "Sex",
          "siegessaeule_presents": false
        }
      ],
      "editors_pick": {
        "slug": "claire-waldoff-ich-will-aber-gerade-vom-leben-singen-24",
        "title": "Claire Waldoff – Ich will aber gerade vom Leben singen ...",
        "section": "kultur",
        "image_url": "https://cdn.siegessaeule.de/images/Sigrid_Grajek_Claire_Waldoff_Abend.049111cc.fill-680x238.jpg",
        "starts_at": "2026-08-30T17:00:00+00:00",
        "start_date": "2026-08-30",
        "start_time": "19:00:00",
        "venue_name": "BKA-Theater"
      },
      "total_events": 35,
      "available_sections": [
        {
          "slug": "mix",
          "title": "Mix"
        },
        {
          "slug": "kultur",
          "title": "Culture"
        },
        {
          "slug": "bars",
          "title": "Bars"
        }
      ]
    },
    "status": "success"
  }
}

About the Siegessaeule API

What the API Returns

The list_events endpoint accepts an optional date parameter in YYYY-MM-DD format and an optional section slug. When called without a date, it defaults to today. The response includes an events array where each object carries id, title, slug, section, start_date, start_time, starts_at, ends_at, teaser, info, and tags. Alongside the event list, the response exposes an editors_pick object (or null) for that date and an available_sections array listing all navigable section titles and slugs — useful for building section-filter UIs without hardcoding values.

Event Detail Fields

The get_event_details endpoint requires four parameters sourced from list_events results: slug, section, start_date, and start_time. It returns the full event record, including a venue object with id, title, address, location (latitude/longitude), phone, email, categories, tags, and social_links. The image field, when present, includes url, copyright, source, attribution, and license. Events also carry an ends_at ISO 8601 datetime and an info field for performer or DJ line-up notes.

Sections and Coverage

Siegesssäule organizes its listings into sections such as mix, kultur, bars, clubs, and sex. The available_sections field in list_events responses always reflects the current set of navigable sections, so callers can stay in sync if sections are added or renamed. Coverage is specific to Berlin's queer scene as listed on siegessaeule.de — events outside that editorial scope are not present.

Reliability & maintenanceVerified

The Siegessaeule API is a managed, monitored endpoint for siegessaeule.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when siegessaeule.de 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 siegessaeule.de 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
4d ago
Latest check
2/2 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
  • Build a queer Berlin event calendar app filtered by section (clubs, bars, kultur) using list_events date and section params
  • Map venue locations for queer Berlin events using the location lat/lng field from get_event_details
  • Surface editor-picked featured events each day using the editors_pick object from list_events
  • Display DJ and performer line-up info from the info field returned by get_event_details
  • Aggregate image credits and licensing for event artwork using the image.copyright, attribution, and license fields
  • Generate tag-based event discovery by collecting tags arrays across multiple list_events date queries
  • Pull complete venue contact data — address, phone, email, social links — from get_event_details for venue directory features
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 Siegessäule offer an official developer API?+
Siegessäule does not publish a documented public developer API. The data accessible via this Parse API comes from their event listings at siegessaeule.de/en/events.
What does `list_events` return beyond basic event titles?+
Each event object in the events array includes id, title, slug, section, start_date, start_time, starts_at, ends_at, teaser, info, and tags. The response also includes editors_pick (the featured event for that date, or null), total_events, and available_sections listing all current section slugs and titles.
Can I retrieve events for multiple dates or date ranges in a single call?+
The list_events endpoint accepts one date per request. There is no batch or range parameter. Retrieving events across a date range requires one call per date. You can fork this API on Parse and revise it to add a date-range endpoint that aggregates results across multiple dates.
Is venue data available without fetching each event individually?+
list_events returns summary-level fields only — venue details such as address, geolocation, phone, email, and social links are only present in the venue object returned by get_event_details. A full venue record requires a separate call per event using the slug, section, start_date, and start_time from the listing.
Does the API cover past events or only upcoming ones?+
The list_events endpoint accepts any date in YYYY-MM-DD format, so querying past dates is supported where the source has retained those listings. However, availability of historical event data depends on what Siegessäule retains on their site — there is no guaranteed archive depth. The API does not expose a dedicated historical archive endpoint. You can fork it on Parse and revise to add pagination or archive scanning if the source supports it.
Page content last updated . Spec covers 2 endpoints from siegessaeule.de.
Related APIs in EntertainmentSee all →