Discover/Athens Halloween Fest API
live

Athens Halloween Fest APIathenshalloweenfest.gr ↗

Access photo records from the Athens Halloween Festival 2025 gallery. Returns full-size image URLs, thumbnails, captions, and pagination metadata via one endpoint.

Endpoint health
verified 3h ago
list_gallery_photos
1/1 passing latest checkself-healing
Endpoints
1
Updated
4h ago

What is the Athens Halloween Fest API?

The Athens Halloween Festival API exposes 1 endpoint — list_gallery_photos — that returns structured photo records from the official athenshalloweenfest.gr gallery page. Each record includes a stable photo ID, a direct full-size 1600px WebP image URL, a thumbnail URL, and a caption field (which may be null). Pagination is handled via limit and offset parameters, and the response also surfaces the total photo count and gallery page heading.

This call costs1 credit / call— charged only on success
Try it
Maximum number of photos to return in this window; values above 100 are clamped to 100.
Zero-based position in the gallery at which the window starts.
→ api.parse.bot/scraper/3a7f24ff-14fa-4aa7-a39c-660b8bbfc2b7/<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/3a7f24ff-14fa-4aa7-a39c-660b8bbfc2b7/list_gallery_photos?limit=4' \
  -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 athenshalloweenfest-gr-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: Athens Halloween Festival Gallery — browse festival photos."""
from parse_apis.athenshalloweenfest_gr_api import AthensHalloweenFest, InputFormatInvalid

client = AthensHalloweenFest()

# Fetch the first page of gallery photos
page = client.gallery.get(page_size=4)
print(f"Gallery: {page.gallery_title} ({page.total} photos)")

# Browse thumbnails from the first page
for photo in page.photos or []:
    print(f"  {photo.id}: {photo.caption} — {photo.thumbnail_url}")

# Use offset to fetch a second window, driven by the first response
if page.has_more:
    next_offset = page.offset + page.limit
    page2 = client.gallery.get(page_size=4, offset=next_offset)
    for photo in page2.photos or []:
        print(f"  {photo.id}: {photo.caption}")

# Typed-error handling: InputFormatInvalid is raised for bad parameters
try:
    client.gallery.get(page_size=-1)
except InputFormatInvalid as e:
    print(f"Caught expected error: {e.message}")

print("exercised: gallery.get / InputFormatInvalid")
All endpoints · 1 totalmissing one? ·

Returns photos from the Athens Halloween Festival 2025 photo gallery, one record per gallery photo in the site's display order. Each record carries a stable photo id, the direct URL of the full-size image (1600px WebP), the thumbnail URL, the caption shown by the site (null when the site gives none), and the thumbnail's intrinsic pixel dimensions. Only gallery photos are returned; site logos and decorative images are excluded. The whole gallery is one page fetch, so a call costs one round trip regardless of limit. Pagination is a simple offset over the gallery: `limit` (default 4, max 100) and `offset` (default 0) select a window, `total` is the number of photos in the gallery and `has_more` tells whether photos remain after this window. An offset past the end yields an empty `photos` array with has_more false. Caption and thumbnail-size fields are source values from the gallery markup, not estimates.

Input
ParamTypeDescription
limitintegerMaximum number of photos to return in this window; values above 100 are clamped to 100.
offsetintegerZero-based position in the gallery at which the window starts.
Response
{
  "type": "object",
  "fields": {
    "limit": "integer, the window size that was applied (after clamping)",
    "total": "integer, number of photos in the whole gallery",
    "offset": "integer, the window start that was applied",
    "photos": "array of photo records: id (stable photo identifier), image_url (direct full-size image URL), thumbnail_url, caption (string or null), thumbnail_width and thumbnail_height (integer pixels)",
    "has_more": "boolean, true when photos remain after this window",
    "gallery_title": "heading of the gallery page as shown by the site"
  },
  "sample": {
    "data": {
      "limit": 4,
      "total": 80,
      "offset": 0,
      "photos": [
        {
          "id": "ahf2025-01",
          "caption": "The festival banner, 2025",
          "image_url": "https://athenshalloweenfest.gr/wp-content/themes/ahf/assets/img/gallery/ahf2025-01-1600.webp",
          "thumbnail_url": "https://athenshalloweenfest.gr/wp-content/themes/ahf/assets/img/gallery/ahf2025-01-600.webp",
          "thumbnail_width": 400,
          "thumbnail_height": 600
        },
        {
          "id": "ahf2025-02",
          "caption": "The 2025 venue entrance",
          "image_url": "https://athenshalloweenfest.gr/wp-content/themes/ahf/assets/img/gallery/ahf2025-02-1600.webp",
          "thumbnail_url": "https://athenshalloweenfest.gr/wp-content/themes/ahf/assets/img/gallery/ahf2025-02-600.webp",
          "thumbnail_width": 600,
          "thumbnail_height": 600
        },
        {
          "id": "ahf2025-03",
          "caption": "Visitors under the umbrellas",
          "image_url": "https://athenshalloweenfest.gr/wp-content/themes/ahf/assets/img/gallery/ahf2025-03-1600.webp",
          "thumbnail_url": "https://athenshalloweenfest.gr/wp-content/themes/ahf/assets/img/gallery/ahf2025-03-600.webp",
          "thumbnail_width": 600,
          "thumbnail_height": 400
        },
        {
          "id": "ahf2025-04",
          "caption": "A packed market hall",
          "image_url": "https://athenshalloweenfest.gr/wp-content/themes/ahf/assets/img/gallery/ahf2025-04-1600.webp",
          "thumbnail_url": "https://athenshalloweenfest.gr/wp-content/themes/ahf/assets/img/gallery/ahf2025-04-600.webp",
          "thumbnail_width": 600,
          "thumbnail_height": 400
        }
      ],
      "has_more": true,
      "gallery_title": "This is how 2025 looked"
    },
    "status": "success"
  }
}

About the Athens Halloween Fest API

What the API Returns

The single list_gallery_photos endpoint returns an array of photo records drawn from the Athens Halloween Festival 2025 gallery. Each record in the photos array carries an id (a stable identifier for that photo), image_url (direct link to the full-size 1600px WebP file), thumbnail_url, and caption (a string or null when the site displays no caption for that image). The response also includes a top-level gallery_title field reflecting the heading shown on the gallery page.

Pagination

The endpoint accepts two optional integer parameters: limit controls how many records are returned in a single call, with values above 100 clamped to 100; offset is a zero-based index indicating where in the full gallery the window starts. The response echoes back the applied limit and offset, reports the total number of photos in the gallery, and sets has_more to true when additional photos remain beyond the current window. Iterating through the full gallery requires incrementing offset by limit until has_more is false.

Coverage Scope

All data corresponds to the 2025 edition of the Athens Halloween Festival. The endpoint returns photos in the same display order as the gallery page. Caption availability depends on what the site publishes alongside each image; no photographer credit, EXIF, or date metadata is included in the response fields.

Reliability & maintenanceVerified

The Athens Halloween Fest API is a managed, monitored endpoint for athenshalloweenfest.gr — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when athenshalloweenfest.gr 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 athenshalloweenfest.gr 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
3h ago
Latest check
1/1 endpoint 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
  • Embed the Athens Halloween Festival photo gallery in a third-party event recap page using image_url and caption fields.
  • Build a paginated thumbnail grid by requesting thumbnail_url records in batches via limit and offset.
  • Monitor gallery growth over time by polling total to detect when new photos are added.
  • Download all full-size 1600px WebP images for offline archiving by iterating through pages until has_more is false.
  • Generate a caption-only feed for social media posts by filtering records where caption is non-null.
  • Populate a media press kit with festival images by fetching image_url values from the full gallery.
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 athenshalloweenfest.gr provide an official developer API?+
No. The Athens Halloween Festival website does not publish a public developer API or documented data endpoints.
What does the `list_gallery_photos` endpoint return for photos without captions?+
The caption field is returned as null for any photo where the site does not display a caption. All other fields — id, image_url, and thumbnail_url — are always present in each record regardless of caption availability.
How do I retrieve the full gallery when there are more than 100 photos?+
The limit parameter is clamped to a maximum of 100 per call. To retrieve all photos, make successive requests incrementing offset by your chosen limit value. Stop when the response returns has_more: false. The total field tells you the full gallery size upfront.
Does the API cover previous years of the Athens Halloween Festival?+
Not currently. The API covers the 2025 edition of the Athens Halloween Festival gallery only. You can fork it on Parse and revise it to add coverage for prior-year gallery pages.
Does the API return photographer credits, upload dates, or EXIF data for photos?+
Not currently. The response fields are limited to id, image_url, thumbnail_url, and caption. You can fork it on Parse and revise it to add the missing endpoint if that metadata becomes available on the source page.
Page content last updated . Spec covers 1 endpoint from athenshalloweenfest.gr.
Related APIs in EntertainmentSee all →