skip to content

Search

Exploring Hackerspaces with SpaceAPI

8 min read

Discovering global hackerspaces using the SpaceAPI and Python

The urge to look for an ideal “third place”

As mentioned in my blog post on andraskora.com in the recent piece “In search of a third place”, I’m exploring the idea of finding an ideal “third place”.

Let’s make this search global.

hackerspaces.org

The first thing that comes to mind is to look for a global organisation, very much like hackerspaces.org.

After signing up to some of their main mailing lists ([email protected], [email protected] and [email protected]) I started exploring their IRC channels, and Matrix.

And then I stumbled upon SpaceAPI.

SpaceAPI

AI agents and LLMs to the rescue, immediately jumped into Windsurf and started implementing an API explorer.

spaceapi-explorer

A Python toolkit for exploring the global hackerspace ecosystem through the SpaceAPI directory.

Since the API can be utilised in various ways, my small project offers a few examples, possible ways to use it.

The Directory

By executing

python examples/directory_stats.py

here is what we’ve got:

╭───────────────────────────────╮
│ SpaceAPI Directory Statistics │
╰───────────────────────────────╯
⠹ Directory fetched successfully!
 
Found 242 hackerspaces in the directory!
                                      Sample Hackerspaces                                       
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Name                    ┃ URL                                                                ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ /dev/hack               │ https://devhack.net/spaceapi.json                                  │
│ /dev/tal                │ https://www.devtal.de/api/                                         │
│ /usr/space              │ https://www.usrspace.at/spaceapi.json                              │
│ 57North Hacklab         │ https://hub.57north.org.uk/spaceapi                                │
│ <name>space Gera        │ https://api.buergernetz-gera-greiz.de/spaceapi                     │
│ ACKspace                │ https://ackspace.nl/spaceAPI/                                      │
│ AFRA                    │ https://spaceapi.afra-berlin.de/v1/status.json                     │
│ Amman Valley MakerSpace │ https://raw.githubusercontent.com/AmmanVMS/space.api/main/api.json │
│ Apollo-NG               │ https://apollo.open-resource.org/status.php                        │
│ Arch Reactor            │ https://archreactor.org/status.php                                 │
│ Attraktor Makerspace    │ http://blog.attraktor.org/spaceapi/spaceapi.json                   │
│ AwesomeSpace            │ https://state.awesomespace.nl/                                     │
│ B4CKSP4CE               │ https://spaceapi.0x08.in/                                          │
│ Bastli                  │ http://bastli.ch/hackspace_api.php                                 │
│ Binary Kitchen          │ https://www.binary-kitchen.de/spaceapi.php                         │
│ Bitlair                 │ https://bitlair.nl/spaceapi.json                                   │
│ Breizh-Entropy          │ http://breizh-entropy.org/spaceapi.json                            │
│ Brisbane Makerspace     │ https://portal.brisbanemaker.space/api/spacedirectory/             │
│ Brixel                  │ https://status.brixel.space/api/status                             │
│ Bytespeicher            │ https://status.bytespeicher.org/status.json                        │
└─────────────────────────┴────────────────────────────────────────────────────────────────────┘
 
Directory Statistics:
• Total spaces: 242
• Last updated: 2026-01-20T07:53:14.764072
 
Search Examples:
• Spaces containing 'hack': 49
  - /dev/hack
  - 57North Hacklab
  - C-Hack Calw
• Spaces containing 'lab': 43
  - 57North Hacklab
  - Computer Deconstruction Lab
  - Créalab - FabLab B3
• Spaces containing 'space': 57
  - /usr/space
  - <name>space Gera
  - ACKspace
• Spaces containing 'maker': 18
  - Amman Valley MakerSpace
  - Attraktor Makerspace
  - Brisbane Makerspace
 
... and 15 more
╭────────────────────────────────╮
│ Directory statistics complete! │
╰────────────────────────────────╯

The Health Monitor

By executing

python examples/health_monitor.py

we get the following:

╭─────────────────────────╮
│ SpaceAPI Health Monitor │
╰─────────────────────────╯
⠋ Directory fetched: 242 spaces
  Checking endpoint health...  
 
🏥 SpaceAPI Health Report
 
📊 Summary Statistics:
• Total endpoints checked: 50
• Successful: 44 (88.0%)
• Failed: 6 (12.0%)
• Average response time: 0.67s
 
🔢 API Version Distribution:
• v0.12: 1 spaces (2.3%)
• v0.13: 11 spaces (25.0%)
• v1,4: 1 spaces (2.3%)
• v13,14: 3 spaces (6.8%)
• v14: 19 spaces (43.2%)
• v14,15: 3 spaces (6.8%)
• v14,15,16: 1 spaces (2.3%)
• v14,15,16-draft: 1 spaces (2.3%)
• v15: 4 spaces (9.1%)
 
❌ Error Breakdown:
• http_error: 3 endpoints
• connection_error: 3 endpoints
                                                🔍 Detailed Issues                                                
┏━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Space                  ┃ Status           ┃ Details                                            ┃ Response Time ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ /usr/space             │ Http Error       │ HTTP 204                                           │         0.09s │
│ Arch Reactor           │ Http Error       │ HTTP 404                                           │         1.07s │
│ Chaostreff Ludwigsburg │ Http Error       │ HTTP 404                                           │         0.12s │
│ Attraktor Makerspace   │ Connection Error │ HTTPConnectionPool(host='blog.attraktor.org', port │         6.23s │
│ Bastli                 │ Connection Error │ HTTPSConnectionPool(host='bastli.ch', port=443): M │         6.51s │
│ Chaostreff Salzburg    │ Connection Error │ HTTPSConnectionPool(host='spaceapi.sbg.chaostreff. │         6.04s │
└────────────────────────┴──────────────────┴────────────────────────────────────────────────────┴───────────────┘
 
💡 Recommendations:
• Some endpoints need attention. Regular maintenance recommended.
• 3 spaces have connection issues - check if they're still active
• 3 spaces return HTTP errors - may need URL updates
• 11 spaces use older API versions - consider upgrades
 
📄 Report exported to health_report_20260120_075803.json
╭─────────────────────────────╮
│ Health monitoring complete! │
╰─────────────────────────────╯

The Status Monitor

As a third take on the same available data, here is another view of the health of the directory:

python examples/status_monitor.py

The result:

╭────────────────────────────╮
│ Hackerspace Status Monitor │
╰────────────────────────────╯
Failed to fetch space status from https://www.usrspace.at/spaceapi.json: Expecting value: line 1 column 1 (char 0)
Invalid response from https://ackspace.nl/spaceAPI/: 1 validation error for SpaceStatus
spacefed.ext_spacephone_extension
  Input should be a valid boolean, unable to interpret input [type=bool_parsing, input_value=31979922, input_type=int]
    For further information visit https://errors.pydantic.dev/2.12/v/bool_parsing
Failed to fetch space status from https://archreactor.org/status.php: 404 Client Error: Not Found for url: https://archreactor.org/status.php
Failed to fetch space status from http://blog.attraktor.org/spaceapi/spaceapi.json: HTTPConnectionPool(host='blog.attraktor.org', port=80): Max retries exceeded with url: /spaceapi/spaceapi.json (Caused by ResponseError('too many 500 error responses'))
Failed to fetch space status from http://bastli.ch/hackspace_api.php: HTTPSConnectionPool(host='bastli.ch', port=443): Max retries exceeded with url: /hackspace_api.php (Caused by SSLError(CertificateError("hostname 'bastli.ch' doesn't match either of '*.amiv-dev.ethz.ch', 
'amiv-dev.ethz.ch'")))
⠇ Directory fetched: 242 spaces          ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━     
  Successfully fetched 25 space statuses ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100%
 
Successfully fetched data for 25 hackerspaces!
 
Status Summary:
• Total spaces with status: 23
• Currently open: 2
• Currently closed: 21
• Recent status changes (24h): 15
 
Currently Open Spaces (2):
  • /dev/hack
  • C3D2
 
 
                                                                                               Hackerspace Status Monitor                                                                                               
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓
┃ Space Name                ┃ Status  ┃ Location                                                                                                                                  ┃ Last Change ┃ Message              ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩
│ /dev/hack                 │ OPEN    │ 4534 1/2 University Way NE, Seattle, WA 98105, US                                                                                         │ 20:17 UTC   │                      │
│ /dev/tal                  │ CLOSED  │ Mirker Str. 48a, 42105 Wuppertal, Germany                                                                                                 │ N/A         │                      │
│ 57North Hacklab           │ CLOSED  │ 57North Hacklab, c/o Aberdeen Action on Disability, Suite H, Kettock Lodge, Innovation Park, Campus Two, Bridge of Don, Aberdeen AB22 8GU │ 20:55 UTC   │ Hacky hack hack      │
│ <name>space               │ CLOSED  │ An der Salzstraße 13-15, 07551 Gera, Germany                                                                                              │ 14:35 UTC   │                      │
│ AFRA                      │ CLOSED  │ Margaretenstr. 30, 10317 Berlin, Germany                                                                                                  │ N/A         │                      │
│ Amman Valley MakerSpace   │ CLOSED  │ Youth Resource Center/MakerSpace, Station Road, Glanamman, SA18 1LQ, Wales, United Kingdom                                                │ N/A         │                      │
│ Apollo-NG                 │ UNKNOWN │ N/A                                                                                                                                       │ N/A         │                      │
│ AwesomeSpace              │ CLOSED  │ Franciscusweg 18, 1216 SK, Hilversum, The Netherlands                                                                                     │ 00:45 UTC   │                      │
│ B4CKSP4CE                 │ UNKNOWN │ Lanskoe shosse, 14/1, 197343, Saint-Petersburg, Russia                                                                                    │ N/A         │                      │
│ Binary Kitchen            │ CLOSED  │ Binary Kitchen e.V., Walderdorffstr. 13b, 93053 Regensburg                                                                                │ 00:34 UTC   │                      │
│ Bitlair                   │ CLOSED  │ Nijverheidsweg-Noord 77, 3812 PK Amersfoort, The Netherlands                                                                              │ 22:54 UTC   │                      │
│ Breizh Entropy            │ CLOSED  │ 134 Avenue du Général Leclerc, 35000 Rennes                                                                                               │ N/A         │                      │
│ Brisbane Makerspace       │ CLOSED  │ 146 Wickham St, Fortitude Valley, QLD 4006 Australia                                                                                      │ 13:00 UTC   │ Welcome to BMS!      │
│ Brixel                    │ CLOSED  │ Spalbeekstraat 34, 3510 Spalbeek, Belgium                                                                                                 │ 13:24 UTC   │                      │
│ Bytespeicher              │ CLOSED  │ Liebknechtstrasse 8, 99085 Erfurt, Germany                                                                                                │ 19:02 UTC   │ No devices connected │
│ C-Hack                    │ CLOSED  │ Im Zwinger 4, 75365 Calw, Deutschland                                                                                                     │ N/A         │                      │
│ C3D2                      │ OPEN    │ Raum 1.04.01, Haus B, Zentralwerk, Riesaer Str. 32, 01127 Dresden, Germany                                                                │ 12:39 UTC   │ HQ is open           │
│ CCC Aachen                │ CLOSED  │ Chaos Computer Club Aachen e.V., Schützenstraße 11, 52062 Aachen                                                                          │ 00:06 UTC   │                      │
│ Chaos Computer Club Basel │ CLOSED  │ Birsfelderstrasse 6, 4132 Muttenz, Switzerland                                                                                            │ 00:59 UTC   │ Geschlossen / Closed │
│ CCC Cologne               │ CLOSED  │ Chaos Computer Club Cologne (c4) e.V., Heliosstr. 6a, 50825 Köln, Germany                                                                 │ 22:54 UTC   │                      │
│ CCC Darmstadt             │ CLOSED  │ Wilhelminenstraße 17, 64283 Darmstadt, Germany                                                                                            │ 23:10 UTC   │ Closed               │
│ CCC Frankfurt             │ CLOSED  │ Hohenstaufenstraße 8, 60327 Frankfurt, Germany                                                                                            │ 12:02 UTC   │ under construction   │
│ CCCHH                     │ CLOSED  │ Zeiseweg 9, 22765 Hamburg, Germany                                                                                                        │ 23:03 UTC   │                      │
│ CCC Mannheim              │ CLOSED  │ CCC Mannheim e.V, Neckarauer Straße 106-116, 68163 Mannheim                                                                               │ 07:00 UTC   │                      │
│ CCCFr                     │ CLOSED  │ Adlerstraße 12a, 79098 Freiburg im Breisgau, Germany, Planet Earth                                                                        │ 23:07 UTC   │ closed               │
└───────────────────────────┴─────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴─────────────┴──────────────────────┘
 
Contact Methods:
• email: 22 spaces (88.0%)
• irc: 11 spaces (44.0%)
• mastodon: 11 spaces (44.0%)
• phone: 16 spaces (64.0%)
• twitter: 10 spaces (40.0%)
• facebook: 5 spaces (20.0%)
 
Spaces with Sensors (11):
  • /dev/hack - 2 sensors
  • 57North Hacklab - 3 sensors
  • AwesomeSpace - 2 sensors
  • Binary Kitchen - 6 sensors
  • Brisbane Makerspace - 2 sensors
╭─────────────────────────────╮
│ Status monitoring complete! │
╰─────────────────────────────╯

The World Map

Finally, the world map:

python examples/world_map.py

The output:

╭─────────────────────────────────╮
│ Hackerspace World Map Generator │
╰─────────────────────────────────╯
 
... (plenty of error messages here) ...
 
⠸ Directory fetched: 242 spaces          ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━     
  Successfully fetched 41 space statuses ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100%
 
Successfully fetched data for 41 hackerspaces!
 
Data Summary:
• Total spaces: 41
• Spaces with location: 40
• Spaces with status: 38
• Currently open: 2
 
Generating visualizations...
• Creating interactive world map...
  ✓ Saved as hackerspaces_world_map_20260120_080259.html
• Creating geographic distribution plot...
  ✓ Saved as geographic_distribution_20260120_080259.png
• Creating opening status chart...
  ✓ Saved as opening_status_20260120_080259.png
• Creating contact methods chart...
  ✓ Saved as contact_methods_20260120_080259.png
╭──────────────────────────────────────────────────────────────────────────────────────────────╮
│ All visualizations generated successfully!                                                   │
│                                                                                              │
│ Open hackerspaces_world_map_20260120_080259.html in your browser to see the interactive map. │
╰──────────────────────────────────────────────────────────────────────────────────────────────╯

…aaannnnddddd… here is the map:

Hackerspaces World Map

A zoomed in view around the greatest cluster:

Hackerspaces World Map - zoomed in

All this, of course, depends on the accuracy of the data provided by the actual spaces.