COA-opvanglocaties
Het COA heeft geen open bestand of API met zijn locaties. Wel heeft elke locatie een eigen pagina op coa.nl met de capaciteit, het type opvang (azc, noodopvang, opvang voor alleenstaande minderjarigen …), de looptijd van de bestuursovereenkomst met de gemeente en het adres. Wij lezen die pagina's elke maandag, zoeken het adres op in de BAG en leggen het in de gemeentegrenzen. Zo staat hier per gemeente en provincie hoeveel opvangplaatsen er zijn.

Wat er allemaal in zit261
Alle opvanglocaties met een eigen pagina op coa.nl, per provincie en gemeente, elke maandag opgehaald. Per locatie de capaciteit, het type, de looptijd van de overeenkomst en het adres, zoals de pagina ze noemt. Namen en contactgegevens van medewerkers nemen we niet over.
Opvangplaatsen op COA-locaties per gemeente: het meest Amsterdam (5.196 plaatsen), dan Rotterdam en Westerwolde
Opvangplaatsen op COA-locaties per gemeente, oktober 2026, in plaatsen. Totaal: 68.779; de grootste 12 van 160 categorieën staan in de grafiek. Amsterdam is 8% van het totaal. Opvangplaatsen volgens de 261 locatiepagina's van het COA (251 noemen een capaciteit), samen 68.779 plaatsen. Dat is de capaciteit, niet hoeveel mensen er nu wonen. Crisisnoodopvang van gemeenten en veiligheidsregio's staat er niet in. Gemeente uit het adres (BAG) en de gemeentegrenzen van 2025.
Opvangplaatsen op COA-locaties per provincie: het meest Zuid-Holland (13.086 plaatsen), dan Noord-Holland en Gelderland
Opvangplaatsen op COA-locaties per provincie, oktober 2026, in plaatsen. Totaal: 68.779; de grootste 12 van 12 categorieën staan in de grafiek. Zuid-Holland is 19% van het totaal. Opvangplaatsen volgens de 261 locatiepagina's van het COA (251 noemen een capaciteit), samen 68.779 plaatsen. Dat is de capaciteit, niet hoeveel mensen er nu wonen. Crisisnoodopvang van gemeenten en veiligheidsregio's staat er niet in. Provincie uit het adres (BAG) en de gemeentegrenzen van 2025.
Wat je ermee kunt bouwen1
Wat kun je ermee?3 ideeën
Opvang in jouw gemeente
Zoek de locaties in een gemeente, met capaciteit en tot wanneer de afspraak met de gemeente loopt.
Plaatsen per inwoner
Deel de opvangplaatsen per gemeente door het inwonertal (CBS) en vergelijk gemeenten en provincies.
Overeenkomsten die aflopen
Lees per locatie tot wanneer de bestuursovereenkomst loopt en zie welke plaatsen de komende jaren kunnen verdwijnen.
Zo verwerk je het3 stappen
De lijst van locaties
De sitemap van coa.nl noemt elke locatiepagina (adressen onder /nl/locatie/). Op 16 oktober 2026 waren dat er 261.
https://www.coa.nl/sitemap.xml?page=1
Lees de blokjes op de pagina
Capaciteit, type en overeenkomst staan in infographic-blokjes (titel, getal, zin); de volgorde verschilt per pagina. Het adres staat in het contactblok. Neem geen namen of contactgegevens van medewerkers over.
https://www.coa.nl/nl/locatie/ter-apel-ter-apelervenen
Adres naar gemeente
Zoek postcode en huisnummer op in de BAG-WFS van PDOK en leg het punt in de gemeentegrenzen. De PDOK Locatieserver is sneller, maar robots.txt van api.pdok.nl sluit die uit voor scripts.
https://service.pdok.nl/lv/bag/wfs/v2_0?service=WFS&version=2.0.0&request=GetCapabilities
Interessante koppelingen

Capaciteit tegen bezetting
De maandcijfers geven het aantal bewoners; hier staat de capaciteit per locatie. Let op: niet elke locatie heeft een pagina.

Opvang naar verhouding
Koppel aan het inwonertal per gemeente uit de kerncijfers wijken en buurten.
Vergelijkbare bronnen
Asielopvang in cijfers (COA)Landelijke maandcijfers van bewoners, instroom en uitstroom, als open data.
Waar je op moet letten
- Niet alle locaties hebben een pagina
Het COA noemt in zijn infographic 329 locaties (12 oktober 2026); de sitemap heeft 261 locatiepagina's. Crisisnoodopvang van gemeenten en veiligheidsregio's valt er helemaal buiten. De som van de capaciteit is dus niet de totale opvang.
- Capaciteit, geen bezetting
De pagina noemt het aantal plaatsen, niet hoeveel mensen er nu wonen. Tien pagina's noemen geen capaciteit of zetten die in het verkeerde vak (16 oktober 2026); die tellen niet mee.
- Gelezen van een website
Dit is geen API: als het COA de opmaak van de pagina's verandert, moet de oogst mee. De oogst stopt als minder dan 80% van de pagina's te lezen is, en de vorige stand blijft dan staan.
APIWebpagina's (HTML) + sitemap; machineleesbaar via onze eigen index (JSON) · gelezen 16 okt 2026
Geen sleutel of account nodig getest
locatiepagina's in de sitemap (16 okt 2026); het COA noemt zelf 329 locaties getest
htmlxmljson
Basisadres
https://www.coa.nl
Endpoints 5
- GET
/sitemap.xml?page=1De lijst van pagina's; locaties zijn de adressen /nl/locatie/<naam>. Geen lastmod per locatie. - GET
/nl/locatie/{naam}Eén locatie (HTML, ~250 kB): infographic-blokjes Capaciteit, Type locatie en Overeenkomst, plus het bezoekadres in het contactblok. - GET
https://www.opendataindex.nl/api/catalogus/coa-locaties?pad=/{provincie}/{gemeente}Onze index als JSON: mappen per provincie en gemeente met aantallen (n), en de locaties (sleutel, titel) per gemeente. Zonder pad: de 13 provinciemappen (incl. 'Onbekend'). - GET
https://www.opendataindex.nl/api/catalogus/coa-locaties?q={tekst}Zoeken op naam of plaats in onze index (q=Ter Apel, q=Amsterdam). - GET
https://www.opendataindex.nl/dataset/coa-locaties/{sleutel}Onze pagina per locatie met capaciteit, type, overeenkomst, adres, gemeente en provincie.
Filteren getest
Geen querytaal bij het COA. In onze index blader je per provincie en gemeente of zoek je met q.
Parameters 3
page | Sitemappagina; pagina 1 bevat alle locatiepagina's. | getest |
pad | In onze index: /<nr> voor een provincie, /<nr>/<nr> voor een gemeente (zie de kinderen in het antwoord). | getest |
q | Zoektekst in onze index; leeg geeft een lege lijst. | getest |
Wat er op een locatiepagina staat, en in onze index 6
| Naam | Type | Betekenis |
|---|---|---|
Capaciteit | blokje · plaatsen | Getal in itemIconData (het totaal), zin in itemDescription ('2000 opvangplaatsen') |
Type locatie | blokje | Zin met het soort opvang: azc, col, pol, amv, vbl, noodopvang … |
Overeenkomst | blokje | Zin over sinds wanneer de opvang er is en tot wanneer de bestuursovereenkomst loopt |
og:title | tekst | Naam van de locatie ('Ter Apel - Ter Apelervenen') |
contactblok | tekst | Bezoekadres na 'Snel contact <naam>': straat, postcode, plaats |
n / kinderen / items | JSON | Onze index: aantal locaties per map, submappen, locaties (sleutel, titel) |
Limieten en valkuilen
- Geen API en geen gedocumenteerde limiet. Wij lezen de 261 pagina's één keer per week, drie tegelijk met een pauze; een pagina kwam in 0,2 s. getest
- Onze index wordt een uur op de CDN bewaard (s-maxage=3600); de stand is die van de laatste maandag-oogst. getest
- De blokjes staan per pagina in een andere volgorde: zoek op de titel (itemTitleAlt), niet op de plek. Het getal bij Overeenkomst is geen jaartal ('40' bij een overeenkomst tot 2040): lees de datum uit de zin. getest
- Neem geen namen, telefoonnummers of e-mailadressen van medewerkers over; die staan ook op de pagina's. ervaring
- Gemeente en provincie staan niet op de pagina. Wij zoeken postcode en huisnummer op in de BAG-WFS van PDOK en leggen het punt in de gemeentegrenzen (indeling 2025); bij één locatie lukte dat niet (map 'Onbekend', 16 okt 2026). getest
- Onze index geeft per locatie alleen sleutel en titel; capaciteit, type en adres staan op onze datasetpagina per locatie. getest
Probeer het HTTP 200 · 326 ms · 16 okt
https://www.opendataindex.nl/api/catalogus/coa-locaties
{
"pad": "",
"code": "",
"titel": "COA-opvanglocaties",
"n": 261,
"submappen": 13,
"kinderen": [
{
"pad": "/0",
"code": "Drenthe",
"titel": "Drenthe",
"n": 12,
"submappen": 8
},
{
"pad": "/1",
"code": "Flevoland",
"titel": "Flevoland",
"n": 6,
"submappen": 4
}
],
"items": [],
"meer": 0
}Ingekort antwoord, opgeslagen bij het oogsten. Klik op het adres voor het echte, actuele antwoord.
Gelezen uit Sitemap van coa.nl: 2.000 adressen op pagina 1, waarvan 261 locatiepagina's onder /nl/locatie/ (pagina 2: 108 andere adressen) · robots.txt: /nl/locatie/ en de sitemap mogen; verboden zijn o.a. /admin/, /search/ en /user/…. Labels: uit de beschrijving staat in wat de api zelf publiceert. getest uit onze eigen kleine aanroep. platform geldt voor elk api van dit platform, volgens de documentatie. ervaring zelf ondervonden bij het bouwen van open data index.
Zo haal je het op
curl -A "mijn-onderzoek/1.0 (+jij@voorbeeld.nl)" "https://www.coa.nl/sitemap.xml?page=1" | grep -o "https://www.coa.nl/nl/locatie/[^<\"]*" | sort -u
Meer van COA in onze index
261 datasets in COA-opvanglocaties. Dit zijn de laatst gewijzigde.
Meer in dit thema
Bekijk hoe deze pagina is opgebouwd
bron: coa-locaties blokken: [] secties: - ideeen - verwerken - koppelingen - vergelijkbaar - beperkingen - code cache: tag: bron:coa-locaties ververs: na statuscheck, als de bron nieuwer is statuscheck: methode: aantal locatiepagina's in de sitemap van coa.nl verwacht: wekelijks
Bron: content/bronnen/coa-locaties.yaml · Markdown


