Export (CSV / JSON)¶
Exporta el dataset canonicamente normalizado por territorio (tabla pharmacies_current).
CSV¶
GET /v1/farmacias/export/{territory_code}/csv
Query params:
active_only(bool, defaultfalse)
Respuesta:
Content-Type: text/csv; charset=utf-8Content-Disposition: attachment; filename="farmaapi_{territory_code}_{YYYYMMDD}.csv"
curl -sS "$FARMAAPI_BASE_URL/v1/farmacias/export/ES-MD/csv?active_only=false" \
-H "X-API-Key: $FARMAAPI_API_KEY" \
-o "ES-MD.csv"
import fs from "node:fs";
const url = `${process.env.FARMAAPI_BASE_URL}/v1/farmacias/export/ES-MD/csv`;
const res = await fetch(url, { headers: { "X-API-Key": process.env.FARMAAPI_API_KEY } });
if (!res.ok) throw new Error(`HTTP ${res.status}`);
fs.writeFileSync("ES-MD.csv", Buffer.from(await res.arrayBuffer()));
import os, requests
url = f\"{os.environ['FARMAAPI_BASE_URL']}/v1/farmacias/export/ES-MD/csv\"
with requests.get(url, headers={\"X-API-Key\": os.environ[\"FARMAAPI_API_KEY\"]}, stream=True, timeout=60) as r:
r.raise_for_status()
with open(\"ES-MD.csv\", \"wb\") as f:
for chunk in r.iter_content(chunk_size=1024 * 256):
if chunk:
f.write(chunk)
<?php
$base = getenv("FARMAAPI_BASE_URL");
$key = getenv("FARMAAPI_API_KEY");
$fp = fopen("ES-MD.csv", "w");
$ch = curl_init("$base/v1/farmacias/export/ES-MD/csv");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-Key: $key"]);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec($ch);
curl_close($ch);
fclose($fp);
Columnas¶
Las columnas del CSV son:
external_id,name,address_line,postal_code,city,province,territory_code,latitude,longitude,coordinate_source,owner_name,cnn_code,source_slug,official_source_name,official_source_url,official_last_modified_at,observed_at,is_active
JSON¶
GET /v1/farmacias/export/{territory_code}/json
Query params:
active_only(bool, defaultfalse)
Respuesta (application/json):
{
"territory_code": "ES-MD",
"generated_at": "2026-02-15T00:00:00Z",
"count": 2946,
"items": [ { "external_id": "..." } ]
}
curl -sS "$FARMAAPI_BASE_URL/v1/farmacias/export/ES-MD/json" \
-H "X-API-Key: $FARMAAPI_API_KEY" \
-o "ES-MD.json"
Errores relevantes¶
503si el territorio aun no esta cargado (truthful).403si la API key no permite ese territorio.