{
  "$schema": "https://agentaccess.dk/schemas/fullsite-export-v1.json",
  "meta": {
    "site": "AgentAccess",
    "tagline": "Danish APIs & Data for AI Agents",
    "tagline_da": "Danske API'er og data til AI-agenter",
    "description": "The open directory of sources for Agent Experience (AX) in Denmark — Danish APIs, MCP servers, CLIs & data sources for AI agents, connectivity, and auth requirements.",
    "description_da": "Det åbne katalog over kilder til Agent Experience (AX) i Danmark — danske API'er, MCP-servere, CLI'er og datakilder til AI-agenter, forbindelser og godkendelseskrav.",
    "url": "https://agentaccess.dk/",
    "exported_at": "2026-09-11T11:55:30.903Z",
    "version": "1.0.0",
    "license": "Open Data / Community Directory",
    "counts": {
      "tools": 76,
      "enablers": 27,
      "frameworks": 25,
      "categories": 4,
      "sectors": 9,
      "auth_requirements": 5
    },
    "endpoints": {
      "fullsite_json": "https://agentaccess.dk/fullsite.json",
      "directory_json": "https://agentaccess.dk/directory.json",
      "tools_api": "https://agentaccess.dk/api/tools",
      "enablers_api": "https://agentaccess.dk/api/enablers",
      "sparql_api": "https://agentaccess.dk/api/sparql",
      "rdf_ttl": "https://agentaccess.dk/api/rdf",
      "mcp_endpoint": "https://agentaccess.dk/mcp",
      "llms_txt": "https://agentaccess.dk/llms.txt",
      "llms_full_txt": "https://agentaccess.dk/llms-full.txt",
      "openapi_json": "https://agentaccess.dk/api/openapi.json",
      "api_catalog": "https://agentaccess.dk/.well-known/api-catalog",
      "agent_card": "https://agentaccess.dk/.well-known/agent-card.json"
    }
  },
  "taxonomy": {
    "categories": [
      {
        "key": "api",
        "label_en": "API",
        "label_da": "API",
        "description_en": "Direct REST, GraphQL, or SOAP endpoints",
        "description_da": "Direkte REST, GraphQL eller SOAP endpoints",
        "url": "https://agentaccess.dk/interface-api",
        "url_da": "https://agentaccess.dk/da/interface-api"
      },
      {
        "key": "mcp",
        "label_en": "MCP",
        "label_da": "MCP",
        "description_en": "Model Context Protocol tools and servers",
        "description_da": "Model Context Protocol servere og værktøjer",
        "url": "https://agentaccess.dk/interface-mcp",
        "url_da": "https://agentaccess.dk/da/interface-mcp"
      },
      {
        "key": "cli",
        "label_en": "CLI",
        "label_da": "CLI",
        "description_en": "Command-line tools and executable binaries",
        "description_da": "Kommandolinjeværktøjer og eksekverbare binære filer",
        "url": "https://agentaccess.dk/interface-cli",
        "url_da": "https://agentaccess.dk/da/interface-cli"
      },
      {
        "key": "browser",
        "label_en": "Browser Automation",
        "label_da": "Browserautomatisering",
        "description_en": "Playwright, Puppeteer, or RPA automation flows",
        "description_da": "Playwright, Puppeteer eller RPA flows",
        "url": "https://agentaccess.dk/interface-browser",
        "url_da": "https://agentaccess.dk/da/interface-browser"
      }
    ],
    "sectors": [
      {
        "key": "government",
        "label_en": "Government",
        "label_da": "Offentlig",
        "description_en": "Public registers, agencies, and national platforms",
        "description_da": "Offentlige registre, styrelser og nationale portaler",
        "url": "https://agentaccess.dk/sector-government",
        "url_da": "https://agentaccess.dk/da/sector-government"
      },
      {
        "key": "finance",
        "label_en": "Finance",
        "label_da": "Finans",
        "description_en": "Banking, payments, tax, and pension systems",
        "description_da": "Bank, betaling, skat og pensionssystemer",
        "url": "https://agentaccess.dk/sector-finance",
        "url_da": "https://agentaccess.dk/da/sector-finance"
      },
      {
        "key": "transport",
        "label_en": "Transport",
        "label_da": "Transport",
        "description_en": "Mobility, logistics, and infrastructure data",
        "description_da": "Mobilitet, logistik og infrastrukturdata",
        "url": "https://agentaccess.dk/sector-transport",
        "url_da": "https://agentaccess.dk/da/sector-transport"
      },
      {
        "key": "ecommerce",
        "label_en": "E-commerce",
        "label_da": "E-handel",
        "description_en": "Retail, marketplaces, and consumer services",
        "description_da": "Detailhandel, markedspladser og forbrugertjenester",
        "url": "https://agentaccess.dk/sector-ecommerce",
        "url_da": "https://agentaccess.dk/da/sector-ecommerce"
      },
      {
        "key": "health",
        "label_en": "Health",
        "label_da": "Sundhed",
        "description_en": "Healthcare portals and patient-facing systems",
        "description_da": "Sundhedsportaler og patientrettede systemer",
        "url": "https://agentaccess.dk/sector-health",
        "url_da": "https://agentaccess.dk/da/sector-health"
      },
      {
        "key": "education",
        "label_en": "Education",
        "label_da": "Uddannelse",
        "description_en": "Schools, universities, and learning platforms",
        "description_da": "Skoler, universiteter og læringsplatforme",
        "url": "https://agentaccess.dk/sector-education",
        "url_da": "https://agentaccess.dk/da/sector-education"
      },
      {
        "key": "utility",
        "label_en": "Utility",
        "label_da": "Forsyning",
        "description_en": "Energy, telecom, and essential services",
        "description_da": "Energi, telekommunikation og forsyningstjenester",
        "url": "https://agentaccess.dk/sector-utility",
        "url_da": "https://agentaccess.dk/da/sector-utility"
      },
      {
        "key": "media",
        "label_en": "Media",
        "label_da": "Medier",
        "description_en": "News, broadcasting, and cultural institutions",
        "description_da": "Nyheder, radio/tv og kulturinstitutioner",
        "url": "https://agentaccess.dk/sector-media",
        "url_da": "https://agentaccess.dk/da/sector-media"
      },
      {
        "key": "other",
        "label_en": "Other",
        "label_da": "Andet",
        "description_en": "Cross-sector or niche platforms",
        "description_da": "Tværgående eller nichesystemer",
        "url": "https://agentaccess.dk/sector-other",
        "url_da": "https://agentaccess.dk/da/sector-other"
      }
    ],
    "auth_requirements": [
      {
        "key": "public",
        "label_en": "Public",
        "label_da": "Offentlig (Ingen auth)",
        "description_en": "Freely accessible without API keys, account login, or credentials — ready for immediate agent queries.",
        "description_da": "Frit tilgængelig uden API-nøgler, login eller legitimationsoplysninger",
        "url": "https://agentaccess.dk/auth/public",
        "url_da": "https://agentaccess.dk/da/auth/public"
      },
      {
        "key": "api_key",
        "label_en": "API Key",
        "label_da": "API-nøgle",
        "description_en": "Requires developer account registration and API key token headers for rate-limited machine access.",
        "description_da": "Kræver oprettelse af udviklerkonto og API-nøgleheader",
        "url": "https://agentaccess.dk/auth/api_key",
        "url_da": "https://agentaccess.dk/da/auth/api_key"
      },
      {
        "key": "mitid",
        "label_en": "MitID",
        "label_da": "MitID / NemLog-in",
        "description_en": "Requires Danish national digital identity (MitID / NemLog-in). Strict human-in-the-loop requirement for agents.",
        "description_da": "Dansk digital identitet med obligatorisk menneske-i-løkken (HITL)",
        "url": "https://agentaccess.dk/auth/mitid",
        "url_da": "https://agentaccess.dk/da/auth/mitid"
      },
      {
        "key": "login",
        "label_en": "Login",
        "label_da": "Brugerlogin",
        "description_en": "Requires basic user account authentication, credentials, or session cookies.",
        "description_da": "Kræver brugernavn/adgangskode eller sessionscookies",
        "url": "https://agentaccess.dk/auth/login",
        "url_da": "https://agentaccess.dk/da/auth/login"
      },
      {
        "key": "restricted",
        "label_en": "Restricted",
        "label_da": "Begrænset",
        "description_en": "Restricted to certified entities, enterprise agreements, or whitelisted public authorities.",
        "description_da": "Kræver myndighedsgodkendelse eller virksomhedsaftale",
        "url": "https://agentaccess.dk/auth/restricted",
        "url_da": "https://agentaccess.dk/da/auth/restricted"
      }
    ],
    "access_types": [
      {
        "key": "direct",
        "label": "Direct",
        "label_da": "Direkte",
        "description_en": "Direct machine-to-machine connection without intermediary layers",
        "description_da": "Direkte maskine-til-maskine forbindelse uden mellemlag"
      },
      {
        "key": "indirect",
        "label": "Indirect",
        "label_da": "Indirekte",
        "description_en": "Mediated through a third-party gateway, proxy, or scraper wrapper",
        "description_da": "Formidlet via tredjepartsgateway, proxy eller scraper"
      },
      {
        "key": "simulated",
        "label": "Simulated",
        "label_da": "Simuleret",
        "description_en": "Simulated browser automation / headless UI flow",
        "description_da": "Simuleret browserautomatisering / headless UI flow"
      },
      {
        "key": "restricted",
        "label": "Restricted",
        "label_da": "Begrænset",
        "description_en": "Guarded access requiring enterprise whitelisting or strict compliance approval",
        "description_da": "Beskyttet adgang, der kræver godkendelse"
      }
    ],
    "reliability_levels": [
      {
        "key": "stable",
        "label": "Stable",
        "label_da": "Stabil"
      },
      {
        "key": "fragile",
        "label": "Fragile",
        "label_da": "Skrøbelig"
      },
      {
        "key": "unknown",
        "label": "Unknown",
        "label_da": "Ukendt"
      }
    ]
  },
  "tools": [
    {
      "slug": "2021-ai-grace",
      "name": "2021.AI GRACE Platform",
      "description": "Danish enterprise AI governance, trust, and model lifecycle management platform complying with the EU AI Act.",
      "long_description": "Headquartered in Copenhagen, 2021.AI develops the GRACE AI platform — an end-to-end AI governance, risk management, and model operationalization solution. GRACE enables organizations to document AI model risk, verify algorithmic transparency, audit data lineage, and ensure full compliance with the European Union Artificial Intelligence Act (EU AI Act).",
      "website_url": "https://2021.ai",
      "category": "api",
      "sector": "other",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "write",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Audit and monitor deployed AI models for compliance with EU AI Act risk tiers",
        "Track model drift, bias, and performance metrics across Danish enterprise deployments",
        "Generate automated AI governance reports and model cards for regulatory authorities"
      ],
      "notes": "Enterprise platform with REST APIs and containerized private cloud deployments.",
      "docs_url": "https://2021.ai/grace-ai-platform",
      "github_url": null,
      "added": "2026-09-11",
      "tags": [
        "danish-ai",
        "ai-providers",
        "ai-governance",
        "eu-ai-act",
        "compliance"
      ],
      "description_da": "Dansk enterprise AI-governancestyring og modelstyringsplatform i overensstemmelse med EU AI Act.",
      "long_description_da": "Med hovedkvarter i København udvikler 2021.AI platformen GRACE — en komplet løsning til AI-governance, risikostyring og drift af AI-modeller. GRACE gør det muligt at dokumentere modelrisici, verificere algoritmisk gennemsigtighed, auditere datakilder og sikre overholdelse af EU AI Act.",
      "use_cases_da": [
        "Auditer og overvåg idriftsatte AI-modeller i henhold til EU AI Act risikokategorier",
        "Mål modeldrift, bias og nøjagtighed på tværs af produktionssystemer",
        "Generer automatiserede AI-governancerapporter og modelkort til tilsynsmyndigheder"
      ],
      "notes_da": "Enterprise-platform med REST API’er og mulighed for privat cloud-drift.",
      "tags_da": [
        "dansk-ai",
        "ai-udbydere",
        "ai-governance",
        "eu-ai-act",
        "compliance"
      ],
      "system_slug": "2021-ai-grace",
      "protocol": "api",
      "url": "https://agentaccess.dk/2021-ai-grace",
      "url_da": "https://agentaccess.dk/da/2021-ai-grace"
    },
    {
      "slug": "alexandra-instituttet-nlp",
      "name": "Alexandra Instituttet NLP & DaCY",
      "description": "Production-ready Danish language pipelines, named entity recognition (DaNE), and benchmarking suites (ScandEval).",
      "long_description": "Alexandra Instituttet develops and maintains core open-source NLP toolkits and benchmark infrastructure for the Danish language. Key assets include DaCY (a state-of-the-art Danish NLP framework built on spaCy), DaNE (the standard Danish Named Entity dataset covering persons, locations, and organizations), and ScandEval (the standard Scandinavian LLM evaluation leaderboard).",
      "website_url": "https://alexandra.dk",
      "category": "api",
      "sector": "other",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Extract Danish named entities (personer, organisationer, lokationer) from unstructured text",
        "Benchmark and evaluate LLM performance on standardized Danish comprehension tasks via ScandEval",
        "Tokenize, POS-tag, and parse Danish sentence dependencies in Python"
      ],
      "notes": "Fully open-source Python packages distributed via PyPI and Hugging Face. Excellent documentation and research reproducibility.",
      "docs_url": "https://github.com/centre-for-humanities-computing/DaCY",
      "github_url": "https://github.com/alexandrainst",
      "added": "2026-09-11",
      "tags": [
        "danish-ai",
        "ai-models",
        "nlp",
        "open-source",
        "scandeval",
        "dacy"
      ],
      "description_da": "Produktionsklare danske sprogmodeller, navngiven enhedsgenkendelse (DaNE) og benchmark-suiter (ScandEval).",
      "long_description_da": "Alexandra Instituttet udvikler og vedligeholder centrale open-source NLP-værktøjer og benchmark-infrastruktur til det danske sprog. Omfatter bl.a. DaCY (dansk NLP-framework bygget på spaCy), DaNE (standarddatasættet for navngivne enheder i dansk tekst) og ScandEval (det førende skandinaviske LLM-evalueringsbenchmark).",
      "use_cases_da": [
        "Udtræk danske navngivne enheder (personer, organisationer, steder) fra rå tekst",
        "Evaluer og benchmark LLM-ydelse på standardiserede danske sprogopgaver via ScandEval",
        "Tokeniser og grammatisk analyser danske sætninger i Python via spaCy/DaCY"
      ],
      "notes_da": "Fuldstændig open source Python-pakker distribueret via PyPI og Hugging Face. Grundig dokumentation og forskningsvalidering.",
      "tags_da": [
        "dansk-ai",
        "ai-modeller",
        "nlp",
        "open-source",
        "scandeval",
        "dacy"
      ],
      "system_slug": "alexandra-instituttet-nlp",
      "protocol": "api",
      "url": "https://agentaccess.dk/alexandra-instituttet-nlp",
      "url_da": "https://agentaccess.dk/da/alexandra-instituttet-nlp"
    },
    {
      "slug": "aula",
      "name": "Aula",
      "description": "Danish school communication platform for parents and teachers — MitID/UNI-login gated, browser automation only.",
      "long_description": "Aula is the national school communication platform mandated by the Danish Ministry of Education and used by all Danish municipalities. It handles messages between parents and teachers, absence registration, and calendar events. No public API exists. Access requires either MitID (parents) or UNI-login (staff). All agent interaction must use browser automation with supervised authentication.",
      "website_url": "https://www.aula.dk",
      "category": "browser",
      "sector": "education",
      "access_type": "simulated",
      "auth_requirement": "mitid",
      "agent_capability": [
        "read",
        "write"
      ],
      "reliability": "fragile",
      "official": false,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Monitor new messages from school (supervised)",
        "Register absence for a child (requires MitID confirmation)",
        "Sync school calendar events to external calendar"
      ],
      "notes": "Requires MitID or UNI-login. Highly sensitive platform — contains data about minors. All automation must be supervised. No unofficial API. UI changes break automations.",
      "docs_url": null,
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "education",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "aula",
      "protocol": "browser",
      "url": "https://agentaccess.dk/aula",
      "url_da": "https://agentaccess.dk/da/aula"
    },
    {
      "slug": "bilbasen",
      "name": "Bilbasen & Bilinfo API",
      "description": "Danish automotive marketplace and vehicle inventory APIs for car listings, valuations, and dealer syndication.",
      "long_description": "Bilbasen (part of Vend, alongside DBA) is Denmark's leading automotive marketplace. Machine and agent access is officially governed through the Bilinfo API Hub (developer.bilinfo.net). The platform provides structured REST APIs including the Listing API (retrieving vehicle inventory and pricing data in JSON/XML), Car API (programmatic creation and updating of car listings across Bilbasen and DBA), Model Catalog API (vehicle technical specifications and VIN lookup), and Vehicle Valuation API. Access requires a commercial partnership or B2B developer subscription with Bilinfo.",
      "website_url": "https://developer.bilinfo.net",
      "category": "api",
      "sector": "ecommerce",
      "access_type": "restricted",
      "auth_requirement": "restricted",
      "agent_capability": [
        "read",
        "search",
        "write",
        "export"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Query vehicle inventory, pricing history, and equipment specs across Danish car dealers",
        "Automate the publishing and syndication of car listings to Bilbasen and DBA",
        "Look up vehicle model catalogs, technical variants, and registration plate / VIN details",
        "Access vehicle valuation algorithms and market price estimates for automated trade-in appraisal",
        "Ingest and route customer test-drive and inquiry leads into automated CRM workflows"
      ],
      "notes": "Official B2B integration via Bilinfo API Hub (developer.bilinfo.net) using OAuth 2.0 Bearer tokens (client_id/client_secret). Requires commercial dealership agreement or software partner contract with Bilinfo/Vend. Consumer-facing scraping of bilbasen.dk without API credentials is fragile and subject to terms of service.",
      "docs_url": "https://developer.bilinfo.net",
      "github_url": null,
      "added": "2026-09-01",
      "tags": [
        "automotive",
        "cars",
        "bilbasen",
        "bilinfo",
        "dealer-inventory",
        "vehicle-valuation",
        "dba"
      ],
      "description_da": "Danmarks største bilmarkedsplads og køretøjs-API til bilannoncer, vurderinger og forhandlersynkronisering.",
      "long_description_da": "Bilbasen (en del af Vend, sammen med DBA) er Danmarks største markedsplads for biler. Maskinel agent- og systemadgang administreres officielt gennem Bilinfo API Hub (developer.bilinfo.net). Platformen udstiller REST API'er herunder Listing API (hentning af bilannoncer og prisdata i JSON/XML), Car API (oprettelse og vedligeholdelse af salgsannoncer på Bilbasen og DBA), Model Catalog API (tekniske specifikationer og stelnummeropslag) samt Vehicle Valuation API til markedspriser. Adgang kræver B2B-aftale eller forhandlerabonnement hos Bilinfo.",
      "use_cases_da": [
        "Hentning af bilannoncer, udstyrsspecifikationer og prishistorik på det danske brugtbilmarked",
        "Automatisk oprettelse og opdatering af bilannoncer på Bilbasen og DBA fra forhandlersystemer",
        "Opslag i modelkataloger, tekniske specifikationer og stelnummer/nummerpladedata",
        "Adgang til bilvurderingsmodeller og markedsprisestimater til automatiserede byttepriser",
        "Håndtering og viderestilling af kundehenvendelser og prøvekørsels-leads i CRM-systemer"
      ],
      "notes_da": "Officiel B2B-integration via Bilinfo API Hub (developer.bilinfo.net) med OAuth 2.0 Bearer tokens (client_id/client_secret). Kræver forhandleraftale eller softwarepartnerskab med Bilinfo/Vend. Web-scraping direkte på bilbasen.dk uden API-aftale er skrøbeligt og underlagt brugervilkår.",
      "tags_da": [
        "biler",
        "automotive",
        "bilbasen",
        "bilinfo",
        "bilannoncer",
        "bilvurdering",
        "dba"
      ],
      "system_slug": "bilbasen",
      "protocol": "api",
      "url": "https://agentaccess.dk/bilbasen",
      "url_da": "https://agentaccess.dk/da/bilbasen"
    },
    {
      "slug": "bilka",
      "name": "Bilka / Salling Group",
      "description": "Salling Group (Bilka, Netto, føtex) — no public API, limited browser automation possible.",
      "long_description": "Salling Group operates major Danish retail chains including Bilka, Netto, and føtex. No public API exists. Product data and store information are accessible via browser automation on individual chain websites. Salling Group has historically provided some unofficial JSON endpoints for store locators and product availability that are not officially supported.",
      "website_url": "https://www.salling.dk",
      "category": "browser",
      "sector": "ecommerce",
      "access_type": "simulated",
      "auth_requirement": "public",
      "agent_capability": [
        "read"
      ],
      "reliability": "unknown",
      "official": false,
      "featured": false,
      "status": "unknown",
      "use_cases": [
        "Price comparison across Danish grocery chains",
        "Store locator integration",
        "Product availability checking"
      ],
      "notes": "No official API. Any undocumented endpoints may change without notice. Browser automation is the most reliable approach.",
      "docs_url": null,
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "ecommerce",
        "retail",
        "browser-automation",
        "ordering"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "e-handel",
        "detailhandel",
        "browser-automatisering",
        "bestilling"
      ],
      "system_slug": "salling-group",
      "protocol": "browser",
      "url": "https://agentaccess.dk/bilka",
      "url_da": "https://agentaccess.dk/da/bilka"
    },
    {
      "slug": "boliga",
      "name": "Boliga.dk",
      "description": "Danish property sales history and valuation site with partially accessible data endpoints.",
      "long_description": "Boliga.dk provides historical property sales data, valuations, and neighborhood statistics for Danish real estate. While no official API exists, Boliga uses fairly stable JSON API endpoints for property lookup that can be accessed directly. The site is less dynamic than competitors, making browser automation more reliable.",
      "website_url": "https://www.boliga.dk",
      "category": "api",
      "sector": "other",
      "access_type": "indirect",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "unknown",
      "official": false,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Fetch historical sale prices for a specific address",
        "Estimate property valuations for a neighborhood",
        "Enrich address data with historical ownership records"
      ],
      "notes": "Unofficial — no guarantee of stability. Undocumented JSON endpoints may change. ToS may restrict automated access.",
      "docs_url": null,
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "search"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "boliga",
      "protocol": "api",
      "url": "https://agentaccess.dk/boliga",
      "url_da": "https://agentaccess.dk/da/boliga"
    },
    {
      "slug": "boligsiden",
      "name": "Boligsiden",
      "description": "Danish property listing portal — no public API, browser automation only.",
      "long_description": "Boligsiden aggregates real estate listings across Denmark from all major estate agents. No public API or developer access exists. Property data must be accessed via browser automation. The site uses server-rendered pages for listings, making basic scraping more reliable than with React SPAs, but dynamic map views require a real browser.",
      "website_url": "https://www.boligsiden.dk",
      "category": "browser",
      "sector": "other",
      "access_type": "simulated",
      "auth_requirement": "public",
      "agent_capability": [
        "read"
      ],
      "reliability": "fragile",
      "official": false,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Monitor new property listings in a specific area",
        "Track price changes on listed properties",
        "Build property market analysis from listing data"
      ],
      "notes": "No official API. ToS restricts automated access. Fragile — UI updates break selectors. Consider using Boliga.dk as an alternative.",
      "docs_url": null,
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "other",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "boligsiden",
      "protocol": "browser",
      "url": "https://agentaccess.dk/boligsiden",
      "url_da": "https://agentaccess.dk/da/boligsiden"
    },
    {
      "slug": "cvrdata-parser",
      "name": "CVR Data Parser & Replicator",
      "description": "Python CLI to parse and stream the official CVR register into local SQL databases.",
      "long_description": "Python CLI tool designed to connect to the Danish Business Authority's (Erhvervsstyrelsen) official CVR Elasticsearch stream and replicate company records into PostgreSQL, MySQL, or SQLite.",
      "website_url": "https://datacvr.virk.dk",
      "category": "cli",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": false,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Bootstrap a complete local SQL mirror of the Danish Central Business Register",
        "Run daily incremental updates from the Erhvervsstyrelsen CVR Elasticsearch feed",
        "Query Danish company ownership and financial metadata offline"
      ],
      "notes": "Requires official API credentials obtained from Erhvervsstyrelsen (Datafordeler / Virk Data).",
      "docs_url": "https://github.com/gronlund/cvrdata#readme",
      "github_url": "https://github.com/gronlund/cvrdata",
      "added": "2026-08-18",
      "tags": [
        "cvr",
        "batch-export",
        "data-parsing",
        "open-data",
        "cli-tool"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "cvr",
        "masseeksport",
        "databehandling",
        "aabne-data",
        "terminal-vaerktoej"
      ],
      "system_slug": "cvr",
      "protocol": "cli",
      "url": "https://agentaccess.dk/cvrdata-parser",
      "url_da": "https://agentaccess.dk/da/cvrdata-parser"
    },
    {
      "slug": "cvr-api",
      "name": "CVR — Business Registry API",
      "description": "Central Business Register API giving machine access to all Danish companies, CVR numbers, ownership, and industry codes.",
      "long_description": "The CVR API from Erhvervsstyrelsen (Danish Business Authority) exposes the full Danish business registry via Elasticsearch-compatible REST endpoints. Access company data, P-numbers (production units), owners, board members, industry classifications (DB07), and historical records. Includes active and dissolved companies.",
      "website_url": "https://datacvr.virk.dk",
      "category": "api",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Look up a company by CVR number to verify existence",
        "Find all companies associated with a specific owner or director",
        "Enrich supplier records with industry codes and status",
        "Build ownership graphs from CVR relationship data",
        "Monitor company status changes and board updates",
        "Due diligence automation for onboarding flows"
      ],
      "notes": "Free API access via virk.dk — registration required. Full historical data available. Elasticsearch query syntax. Rate limits undocumented but generous.",
      "docs_url": "https://data.virk.dk/datakatalog/erhvervsstyrelsen/company-information",
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "cvr",
        "business-registry",
        "companies",
        "open-data",
        "search-lookup",
        "read-only"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "cvr",
        "virksomhedsregister",
        "virksomheder",
        "aabne-data",
        "soegning",
        "skrivebeskyttet"
      ],
      "system_slug": "cvr",
      "protocol": "api",
      "url": "https://agentaccess.dk/cvr-api",
      "url_da": "https://agentaccess.dk/da/cvr-api"
    },
    {
      "slug": "corti",
      "name": "Corti API",
      "description": "Real-time clinical AI and Danish speech-to-text for medical consultations and diagnostic coding.",
      "long_description": "Corti provides specialized machine learning and clinical conversational AI built specifically for healthcare encounters. Trained extensively on Danish medical dialogue, emergency triage, and clinical jargon, Corti enables real-time acoustic transcription, clinical documentation summarization, and automated ICD-10 coding assistance.",
      "website_url": "https://corti.ai",
      "category": "api",
      "sector": "health",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "write",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Transcribe Danish medical consultations and emergency 112 calls in real time",
        "Extract structured clinical observations and patient vitals from unstructured audio",
        "Generate automated draft patient visit summaries and ICD-10 diagnostic coding recommendations"
      ],
      "notes": "Requires enterprise API credentials from Corti. Offers REST, WebSocket streaming, and Python/TypeScript SDKs.",
      "docs_url": "https://docs.corti.ai",
      "github_url": null,
      "added": "2026-09-09",
      "tags": [
        "danish-ai",
        "ai-providers",
        "ai-models",
        "speech-to-text",
        "clinical"
      ],
      "description_da": "Klinisk realtids-AI og dansk tale-til-tekst til lægekonsultationer og diagnosekodning.",
      "long_description_da": "Corti leverer specialiseret maskinlæring og klinisk samtale-AI bygget specifikt til sundhedssektoren. Trænet indgående på dansk medicinsk dialog, akutmodtagelser og klinisk terminologi muliggør Corti transskription i realtid, journalnotater og assisteret ICD-10 diagnosekodning.",
      "use_cases_da": [
        "Transskriber danske lægekonsultationer og 112-opkald i realtid",
        "Udtræk strukturerede kliniske observationer fra ustruktureret dansk tale",
        "Generer automatiske journaludkast og ICD-10 diagnosekoder"
      ],
      "notes_da": "Kræver enterprise API-adgang fra Corti. Tilbyder REST, WebSocket streaming og Python/TypeScript SDKer.",
      "tags_da": [
        "dansk-ai",
        "ai-udbydere",
        "ai-modeller",
        "tale-til-tekst",
        "sundhed",
        "klinisk",
        "api",
        "mcp",
        "læs",
        "skriv"
      ],
      "system_slug": "corti",
      "protocol": "api",
      "url": "https://agentaccess.dk/corti",
      "url_da": "https://agentaccess.dk/da/corti"
    },
    {
      "slug": "mcp-dawa-itk",
      "name": "DAWA MCP Server (ITK)",
      "description": "Official municipal MCP server for searching Danish addresses and geodata via DAWA.",
      "long_description": "Open-source Model Context Protocol (MCP) server developed in Python by ITK Development (Aarhus Municipality). Provides AI agents with structured tools to query, geocode, validate, and autocomplete Danish addresses, road codes, and municipal administrative divisions via DAWA.",
      "website_url": "https://itkdev.dk",
      "category": "mcp",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Perform natural language address validation and geocoding in AI agents",
        "Look up Danish municipality codes, road names, and house numbers",
        "Integrate official Danish cadastral and address data into Claude Code and Cursor"
      ],
      "notes": "Keyless access directly against the official DAWA API. Maintained by Aarhus Municipality ITK Development.",
      "docs_url": "https://github.com/itk-dev/mcp-dawa#readme",
      "github_url": "https://github.com/itk-dev/mcp-dawa",
      "added": "2026-08-18",
      "tags": [
        "addresses",
        "mcp-server",
        "geodata",
        "open-data",
        "llm-tool",
        "search-lookup"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "adresser",
        "mcp-server",
        "geodata",
        "aabne-data",
        "llm-vaerktoej",
        "soegning"
      ],
      "system_slug": "dawa",
      "protocol": "mcp",
      "url": "https://agentaccess.dk/mcp-dawa-itk",
      "url_da": "https://agentaccess.dk/da/mcp-dawa-itk"
    },
    {
      "slug": "dawa-replication-client",
      "name": "DAWA Replication Client",
      "description": "Official CLI tool for replicating Danish address and geodata into PostgreSQL.",
      "long_description": "Node.js command-line client developed by the Danish Agency for Data Supply and Infrastructure (Klimadatastyrelsen) to synchronize Danish address, cadastral, and road network data from DAWA directly into a local PostgreSQL/PostGIS database.",
      "website_url": "https://dataforsyningen.dk",
      "category": "cli",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Replicate official Danish address tables into local PostGIS",
        "Stream real-time transactional updates from the DAWA replication API",
        "Maintain offline geospatial indexes for Danish municipalities and road networks"
      ],
      "notes": "Requires a running PostgreSQL instance with the PostGIS extension. Note: DAWA API is transitioning towards Datafordeleren and Dataforsyningen infrastructure.",
      "docs_url": "https://dataforsyningen.dk/data/dawa",
      "github_url": "https://github.com/Danmarks-Adressers-Web-API/dawa-replication-client",
      "added": "2026-08-18",
      "tags": [
        "addresses",
        "batch-export",
        "real-time",
        "open-data",
        "cli-tool"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "adresser",
        "masseeksport",
        "realtid",
        "aabne-data",
        "terminal-vaerktoej"
      ],
      "system_slug": "dawa",
      "protocol": "cli",
      "url": "https://agentaccess.dk/dawa-replication-client",
      "url_da": "https://agentaccess.dk/da/dawa-replication-client"
    },
    {
      "slug": "dawa",
      "name": "DAWA — Danish Addresses Web API",
      "description": "REST API for Danish addresses, postcodes, cadastre, and administrative geodata.",
      "long_description": "DAWA (Danmarks Adressers Web API) provides fast address autocompletion, fuzzy matching, coordinate lookups, and administrative boundary data. Maintained under Klimadatastyrelsen during the transition to Dataforsyningen.",
      "website_url": "https://dawadocs.dataforsyningen.dk",
      "category": "api",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "fragile",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Autocomplete and validate Danish street addresses and postal codes in user forms",
        "Reverse-geocode coordinates to official Danish BBR addresses",
        "Lookup administrative district boundaries (DAGI) and cadastral parcel identifiers"
      ],
      "notes": "Freely accessible without an API key, but currently in a long-term transition towards Dataforsyningen/Datafordeler infrastructure.",
      "docs_url": "https://dawadocs.dataforsyningen.dk",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "addresses",
        "geodata",
        "open-data",
        "read-only",
        "search-lookup",
        "real-time"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "adresser",
        "geodata",
        "aabne-data",
        "skrivebeskyttet",
        "soegning",
        "realtid"
      ],
      "system_slug": "dawa",
      "protocol": "api",
      "url": "https://agentaccess.dk/dawa",
      "url_da": "https://agentaccess.dk/da/dawa"
    },
    {
      "slug": "dcai-gefion",
      "name": "DCAI Gefion Sovereign AI Cloud",
      "description": "Denmark’s national sovereign AI supercomputer powered by 1,528 NVIDIA H100 GPUs for frontier AI research and industry.",
      "long_description": "The Danish Centre for AI Innovation (DCAI), established by the Novo Nordisk Foundation and Denmark’s Export and Investment Fund (EIFO), operates \"Gefion\" — one of the world’s most powerful sovereign AI supercomputers. Housing 1,528 NVIDIA H100 Tensor Core GPUs with Quantum-2 InfiniBand networking, Gefion offers sovereign cloud compute infrastructure for Danish researchers, life sciences, green energy, and Danish foundational AI development.",
      "website_url": "https://dcai.dk",
      "category": "api",
      "sector": "other",
      "access_type": "restricted",
      "auth_requirement": "restricted",
      "agent_capability": [
        "read",
        "write"
      ],
      "reliability": "stable",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Train large-scale Danish and Nordic foundation models on sovereign high-performance infrastructure",
        "Execute multi-node distributed deep learning workloads for life sciences and climate modeling",
        "Deploy containerized AI training pipelines complying with strict Danish and EU data sovereignty mandates"
      ],
      "notes": "Access is granted via competitive research and commercial innovation project applications through DCAI.",
      "docs_url": "https://dcai.dk",
      "github_url": null,
      "added": "2026-09-11",
      "tags": [
        "danish-ai",
        "ai-providers",
        "infrastructure",
        "supercomputer",
        "gefion",
        "dcai"
      ],
      "description_da": "Danmarks nationale suveræne AI-supercomputer drevet af 1.528 NVIDIA H100 GPU’er til avanceret forskning og industri.",
      "long_description_da": "Danish Centre for AI Innovation (DCAI), etableret af Novo Nordisk Fonden og Danmarks Eksport- og Investeringsfond (EIFO), driver \"Gefion\" — en af verdens mest kraftfulde suveræne AI-supercomputere. Med 1.528 NVIDIA H100 GPU’er og Quantum-2 InfiniBand netværk leverer Gefion suveræn cloud-computekapacitet til dansk forskning, biovidenskab, grøn omstilling og dansk AI-udvikling.",
      "use_cases_da": [
        "Træn storskala danske og nordiske fundamentsmodeller på suveræn HPC-infrastruktur",
        "Afvikl distribueret deep learning til bioteknologi, sundhed og klimamodeller",
        "Eksekver containeriserede AI-pipelines i overensstemmelse med danske og europæiske datasuverænitetskrav"
      ],
      "notes_da": "Adgang tildeles via projektansøgninger for forsknings- og erhvervsprojekter gennem DCAI.",
      "tags_da": [
        "dansk-ai",
        "ai-udbydere",
        "infrastruktur",
        "supercomputer",
        "gefion",
        "dcai"
      ],
      "system_slug": "dcai-gefion",
      "protocol": "api",
      "url": "https://agentaccess.dk/dcai-gefion",
      "url_da": "https://agentaccess.dk/da/dcai-gefion"
    },
    {
      "slug": "dmi-nwp-download",
      "name": "DMI NWP Download CLI",
      "description": "Official DMI command-line tool for downloading Numerical Weather Prediction GRIB data.",
      "long_description": "Python command-line utility maintained by Danmarks Meteorologiske Institut (DMI) to download, filter, and concatenate high-resolution forecast model files (GRIB format) from the DMI Open Data API.",
      "website_url": "https://www.dmi.dk",
      "category": "cli",
      "sector": "utility",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Automate batch downloads of DMI weather prediction models",
        "Filter weather parameters using YAML configuration profiles",
        "Combine meteorological GRIB messages into single cycle data files"
      ],
      "notes": "Requires a free DMI Open Data API key provided via the DMI_API_FORECAST_KEY environment variable.",
      "docs_url": "https://opendatadocs.dmi.govcloud.dk/",
      "github_url": "https://github.com/dmidk/dmi-nwp-download",
      "added": "2026-08-18",
      "tags": [
        "weather",
        "climate",
        "batch-export",
        "open-data",
        "cli-tool"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "vejr",
        "klima",
        "masseeksport",
        "aabne-data",
        "terminal-vaerktoej"
      ],
      "system_slug": "dmi",
      "protocol": "cli",
      "url": "https://agentaccess.dk/dmi-nwp-download",
      "url_da": "https://agentaccess.dk/da/dmi-nwp-download"
    },
    {
      "slug": "dmi-open-data",
      "name": "DMI Open Data APIs",
      "description": "Meteorological, climate, ocean, radar, and lightning observation REST and OGC APIs.",
      "long_description": "Danmarks Meteorologiske Institut (DMI) provides free developer APIs offering real-time weather observations, lightning detection, oceanographic forecasts, and historical climate data covering Denmark and Greenland.",
      "website_url": "https://www.dmi.dk/frie-data",
      "category": "api",
      "sector": "utility",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Fetch live temperature, wind, and precipitation readings from Danish weather stations",
        "Retrieve radar imagery and lightning strike timestamps for geo-fenced regions",
        "Analyze historical climate time-series and sea-level forecasts for climate modeling"
      ],
      "notes": "Requires a free API key registered via DMI Open Data portal. High rate limits suitable for production integrations.",
      "docs_url": "https://opendatadocs.dmi.gov.cloud",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "weather",
        "climate",
        "open-data",
        "real-time",
        "read-only"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "vejr",
        "klima",
        "aabne-data",
        "realtid",
        "skrivebeskyttet"
      ],
      "system_slug": "dmi",
      "protocol": "api",
      "url": "https://agentaccess.dk/dmi-open-data",
      "url_da": "https://agentaccess.dk/da/dmi-open-data"
    },
    {
      "slug": "dr",
      "name": "DR — Danish Broadcasting",
      "description": "DR provides semi-official APIs for program listings, news content, and podcast feeds.",
      "long_description": "Danmarks Radio (DR) exposes several APIs for content discovery and metadata. The program guide API provides schedule data for all DR channels. Podcast feeds are available as standard RSS. A news API exists but is not publicly documented — endpoints are stable but subject to change. No official developer program.",
      "website_url": "https://www.dr.dk",
      "category": "api",
      "sector": "media",
      "access_type": "indirect",
      "auth_requirement": "public",
      "agent_capability": [
        "read"
      ],
      "reliability": "unknown",
      "official": false,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Ingest DR news headlines for media monitoring",
        "Fetch TV program schedules for a specific channel",
        "Subscribe to DR podcast feeds for content pipelines"
      ],
      "notes": "No official developer API. Podcast RSS feeds are standard and stable. JSON endpoints for programs/news are undocumented and may change. No rate limit documentation.",
      "docs_url": null,
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "media",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "dr",
      "protocol": "api",
      "url": "https://agentaccess.dk/dr",
      "url_da": "https://agentaccess.dk/da/dr"
    },
    {
      "slug": "dsb",
      "name": "DSB",
      "description": "Danish State Railways — no public API. Ticket data accessible via browser automation only.",
      "long_description": "DSB (Danske Statsbaner) is the primary Danish train operator. Despite being a public company, DSB provides no public API for ticket pricing, availability, or booking. All agent access must use browser automation (Playwright, Puppeteer) to interact with dsb.dk. The site uses dynamic React rendering, which requires a real browser. Session management and login are required for booking.",
      "website_url": "https://www.dsb.dk",
      "category": "browser",
      "sector": "transport",
      "access_type": "simulated",
      "auth_requirement": "login",
      "agent_capability": [
        "read",
        "write"
      ],
      "reliability": "fragile",
      "official": false,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Monitor ticket prices for a specific route over time",
        "Automate commuter ticket purchase (requires login)",
        "Capture departure and platform information"
      ],
      "notes": "No official API. UI is a React SPA — requires Playwright/Puppeteer. Frequent UI updates break selectors. DSB terms of service may restrict automated access. Use Rejseplanen API for schedules instead.",
      "docs_url": null,
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "transport",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "dsb",
      "protocol": "browser",
      "url": "https://agentaccess.dk/dsb",
      "url_da": "https://agentaccess.dk/da/dsb"
    },
    {
      "slug": "danish-foundation-models",
      "name": "Danish Foundation Models (Munin / DFM)",
      "description": "Open-source Danish and Scandinavian foundation models and encoders trained on authentic Danish corpora.",
      "long_description": "The Danish Foundation Models (DFM) project, initiated by the Center for Humanities Computing at Aarhus University in collaboration with national research partners, provides open-weights foundation models and embeddings specifically trained on high-quality Danish texts, parliamentary records, Danish news, and cultural heritage data. Notable releases include the Munin decoder family and Danish RoBERTa/T5 variants hosted on Hugging Face.",
      "website_url": "https://chc.au.dk",
      "category": "api",
      "sector": "education",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Generate natural Danish text and structured responses using Hugging Face Transformers",
        "Compute high-dimensional semantic embeddings optimized for Danish RAG applications",
        "Perform sentiment analysis and grammatical parsing on historical and modern Danish"
      ],
      "notes": "Weights are freely accessible on Hugging Face under Apache 2.0 / Open RAIL licenses. Can be run locally via Ollama, vLLM, or Transformers.",
      "docs_url": "https://huggingface.co/chcaa",
      "github_url": "https://github.com/centre-for-humanities-computing/Danish-Foundation-Models",
      "added": "2026-09-11",
      "tags": [
        "danish-ai",
        "ai-models",
        "nlp",
        "open-source",
        "huggingface",
        "foundation-models"
      ],
      "description_da": "Open-source danske og skandinaviske fundamentsmodeller og encodere trænet på autentiske danske korpusser.",
      "long_description_da": "Danish Foundation Models (DFM) projektet, initieret af Center for Humanities Computing ved Aarhus Universitet i samarbejde med nationale forskningspartnere, leverer open-weights fundamentsmodeller og embeddings trænet på dansk tekst, folketingsdebatter, nyhedsarkiver og kulturarvsdata. Omfatter bl.a. Munin-modelfamilien og danske RoBERTa/T5 varianter på Hugging Face.",
      "use_cases_da": [
        "Generer naturlig dansk tekst og strukturerede svar via Hugging Face Transformers",
        "Beregn semantiske embeddings optimeret til danske RAG-applikationer",
        "Udfør følelsesanalyse og grammatisk parsing på moderne og historisk dansk"
      ],
      "notes_da": "Vægte er frit tilgængelige på Hugging Face under open source-licenser. Kan afvikles lokalt via Ollama, vLLM eller Transformers.",
      "tags_da": [
        "dansk-ai",
        "ai-modeller",
        "nlp",
        "open-source",
        "huggingface",
        "fundamentsmodeller"
      ],
      "system_slug": "danish-foundation-models",
      "protocol": "api",
      "url": "https://agentaccess.dk/danish-foundation-models",
      "url_da": "https://agentaccess.dk/da/danish-foundation-models"
    },
    {
      "slug": "danmarks-miljoeportal",
      "name": "Danmarks Miljøportal",
      "description": "National environmental data portal with web services and datasets across nature, water, climate, and land use.",
      "long_description": "Danmarks Miljøportal (DMP) is the joint public portal for Danish environmental and nature data, maintained in partnership between the state (Miljøministeriet), regions (Danske Regioner), and municipalities (KL). It aggregates over 1,000 datasets and tens of millions of observation records across 30 systems, offering WMS/WFS map services and REST/SOAP web services for biodiversity, water quality, protected zones, and soil contamination.",
      "website_url": "https://miljoeportal.dk",
      "category": "api",
      "sector": "other",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search",
        "download"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Query protected nature areas, Natura 2000 zones, and conservation boundaries via WFS",
        "Fetch water environment observations, groundwater levels, and bathing water measurements",
        "Access species occurrence records and biodiversity observations across Danish habitats",
        "Enrich land-use planning and environmental risk assessments with municipal soil contamination data"
      ],
      "notes": "Most spatial and observation datasets are publicly accessible via WMS/WFS and open download. Certain write and administrative services require user credentials or municipality agreements.",
      "docs_url": "https://miljoeportal.dk/services/",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "search",
        "download"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "danmarks-miljoeportal",
      "protocol": "api",
      "url": "https://agentaccess.dk/danmarks-miljoeportal",
      "url_da": "https://agentaccess.dk/da/danmarks-miljoeportal"
    },
    {
      "slug": "nationalbanken-data",
      "name": "Danmarks Nationalbank — Data API",
      "description": "The Danish central bank provides open statistical data including exchange rates, monetary data, and financial statistics.",
      "long_description": "Danmarks Nationalbank publishes a public REST API for statistical data including daily exchange rates (EUR, USD, GBP, etc.), money supply data, and financial stability indicators. No authentication required. Data is updated daily and monthly depending on the series.",
      "website_url": "https://www.nationalbanken.dk",
      "category": "api",
      "sector": "finance",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Fetch daily DKK exchange rates for currency conversion",
        "Monitor monetary policy indicators",
        "Ingest financial stability data for analysis"
      ],
      "notes": "Fully public. Exchange rate data updated daily. XML and JSON formats available.",
      "docs_url": "https://www.nationalbanken.dk/da/statistik/find_statistik/Pages/default.aspx",
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "finance",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "nationalbanken-data",
      "protocol": "api",
      "url": "https://agentaccess.dk/nationalbanken-data",
      "url_da": "https://agentaccess.dk/da/nationalbanken-data"
    },
    {
      "slug": "danske-bank-api",
      "name": "Danske Bank Developer Portal",
      "description": "Open Banking PSD2, Corporate Treasury, and FX REST APIs from Denmark’s largest bank.",
      "long_description": "Danske Bank provides official developer APIs covering PSD2 Account Information (AIS) and Payment Initiation (PIS), alongside corporate cash management, FX rates, and trade finance integrations.",
      "website_url": "https://developer.danskebank.com",
      "category": "api",
      "sector": "finance",
      "access_type": "restricted",
      "auth_requirement": "restricted",
      "agent_capability": [
        "read",
        "submit",
        "authenticate"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Initiate account-to-account credit transfers under PSD2 Open Banking framework",
        "Fetch corporate bank account transaction statements and live balance feeds",
        "Automate FX currency conversions and corporate treasury payment reconciliation"
      ],
      "notes": "Open Banking requires licensed Third-Party Provider (TPP) status and eIDAS certificate. Corporate APIs require formal commercial banking agreement.",
      "docs_url": "https://developer.danskebank.com",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "authenticate"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "danske-bank",
      "protocol": "api",
      "url": "https://agentaccess.dk/danske-bank-api",
      "url_da": "https://agentaccess.dk/da/danske-bank-api"
    },
    {
      "slug": "danske-bank",
      "name": "Danske Bank Developer Portal",
      "description": "Open banking and commercial APIs for account balances, transaction histories, and payment initiation.",
      "long_description": "Danske Bank is Denmark's largest financial institution. Its developer portal provides access to regulatory PSD2 / Open Banking APIs (Account Information Services / AIS and Payment Initiation Services / PIS) for licensed TPPs, alongside commercial corporate banking APIs for cash management, transaction reporting, and real-time balances. An interactive API sandbox with mock test data is available.",
      "website_url": "https://danskebank.dk",
      "category": "api",
      "sector": "finance",
      "access_type": "restricted",
      "auth_requirement": "restricted",
      "agent_capability": [
        "read",
        "write",
        "submit"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Retrieve account balances and transaction histories for financial management agents (AIS)",
        "Initiate domestic and SEPA credit transfers on behalf of authorized account holders (PIS)",
        "Access corporate cash management and intraday statement reports",
        "Test open banking integration flows in the interactive developer sandbox"
      ],
      "notes": "PSD2 open banking endpoints require regulatory TPP status and qualified eIDAS certificates (QWAC / QSealC). Commercial and corporate APIs require specific banking agreements. Interactive sandbox available for testing with simulated accounts.",
      "docs_url": "https://developers.danskebank.com",
      "github_url": null,
      "added": "2026-08-16",
      "tags": [
        "finance",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "danske-bank",
      "protocol": "api",
      "url": "https://agentaccess.dk/danske-bank",
      "url_da": "https://agentaccess.dk/da/danske-bank"
    },
    {
      "slug": "datafordeler",
      "name": "Datafordeler",
      "description": "The Danish national data platform providing official authoritative data on addresses, buildings, persons, and geography.",
      "long_description": "Datafordeler is operated by the Danish Agency for Data Supply and Efficiency (Styrelsen for Dataforsyning og Infrastruktur). It provides REST and WFS APIs for official Danish registry data including the Address Registry (DAR), Building and Housing Registry (BBR), the Cadastral Map (Matrikelkortet), and geographic data (GeoDanmark). Data is legally authoritative — suitable for use in binding processes.",
      "website_url": "https://datafordeler.dk",
      "category": "api",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Validate and enrich Danish addresses in a pipeline",
        "Look up building data (BBR) by address or parcel ID",
        "Geocode Danish addresses to coordinates",
        "Query cadastral parcel boundaries via WFS",
        "Fetch authoritative geographic data for GIS pipelines"
      ],
      "notes": "Free registration required at datafordeler.dk. Rate limits apply. Personal data (CPR) access requires a data processor agreement. All data is legally authoritative.",
      "docs_url": "https://datafordeler.dk/vejledning/brugeradgang/",
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "geodata",
        "addresses",
        "bbr",
        "open-data",
        "api-key-required",
        "read-only"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "geodata",
        "adresser",
        "bbr",
        "aabne-data",
        "api-noegle-paakraevet",
        "skrivebeskyttet"
      ],
      "system_slug": "datafordeler",
      "protocol": "api",
      "url": "https://agentaccess.dk/datafordeler",
      "url_da": "https://agentaccess.dk/da/datafordeler"
    },
    {
      "slug": "dataforsyningen",
      "name": "Dataforsyningen",
      "description": "Klimadatastyrelsen's platform for free Danish geodata, WMS/WFS map services, elevation models, and aerial imagery.",
      "long_description": "Dataforsyningen is the primary geographic data platform operated by Klimadatastyrelsen (Danish Agency for Data Supply and Infrastructure). It provides open web services (WMS, WFS, WMTS) and REST endpoints for topographic maps, the Danish Elevation Model (Danmarks Højdemodel / DHM), cadastral boundaries, and high-resolution aerial photography (ortofoto). Developers can generate free access tokens to query spatial services directly.",
      "website_url": "https://dataforsyningen.dk",
      "category": "api",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "search",
        "download"
      ],
      "reliability": "stable",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Fetch terrain and surface elevation models (DHM) for coordinate points across Denmark",
        "Integrate WMS and WMTS basemap tile layers into mapping and spatial visualization pipelines",
        "Query cadastral and topographic vector features via WFS endpoints",
        "Download high-resolution aerial ortho-photographs and historical imagery",
        "Enrich property, planning, and environmental analysis workflows with authoritative geodata"
      ],
      "notes": "Free registration required to generate personal API tokens. Datasets are licensed under Danish open data terms (free commercial and non-commercial reuse with attribution).",
      "docs_url": "https://dataforsyningen.dk/service/data",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "search",
        "download"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "dataforsyningen",
      "protocol": "api",
      "url": "https://agentaccess.dk/dataforsyningen",
      "url_da": "https://agentaccess.dk/da/dataforsyningen"
    },
    {
      "slug": "datavejviser",
      "name": "Datavejviser",
      "description": "National public-data discovery portal and metadata catalogue for Danish public data.",
      "long_description": "Datavejviser is operated by Digitaliseringsstyrelsen (Agency for Digital Government) as Denmark’s cross-sector catalogue for discovering public datasets, APIs, and access conditions across municipal, regional, and state authorities.",
      "website_url": "https://datavejviser.dk",
      "category": "api",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Search for Danish government datasets and public APIs across sectors",
        "Discover API endpoints, documentation, and licensing terms for public authorities",
        "Inspect metadata standards and data governance schemas for Danish open data"
      ],
      "notes": "Free and open web metadata catalogue. Points to individual public data providers for dataset-specific access terms.",
      "docs_url": "https://datavejviser.dk",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "search"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "datavejviser",
      "protocol": "api",
      "url": "https://agentaccess.dk/datavejviser",
      "url_da": "https://agentaccess.dk/da/datavejviser"
    },
    {
      "slug": "dinero-backup",
      "name": "Dinero Backup CLI",
      "description": "Open-source Go CLI tool for backing up vouchers, invoices, and accounting records from Visma Dinero.",
      "long_description": "Command-line backup utility that connects to the Visma Dinero accounting REST API to export, archive, and locally mirror all invoices, credit notes, ledger entries, and voucher attachments.",
      "website_url": "https://dinero.dk",
      "category": "cli",
      "sector": "finance",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": false,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Automate daily or monthly offline backups of Visma Dinero bookkeeping data",
        "Download and archive PDF invoices and receipt attachments locally",
        "Export structured ledger data for independent auditing or data migration"
      ],
      "notes": "Requires a Dinero API key and organization ID with read permissions on accounting records.",
      "docs_url": "https://github.com/rostved/dinero-backup#readme",
      "github_url": "https://github.com/rostved/dinero-backup",
      "added": "2026-08-18",
      "tags": [
        "accounting-erp",
        "batch-export",
        "cli-tool",
        "api-key-required"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "regnskab-erp",
        "masseeksport",
        "terminal-vaerktoej",
        "api-noegle-paakraevet"
      ],
      "system_slug": "dinero",
      "protocol": "cli",
      "url": "https://agentaccess.dk/dinero-backup",
      "url_da": "https://agentaccess.dk/da/dinero-backup"
    },
    {
      "slug": "dinero-mcp",
      "name": "Dinero MCP Server (Beta)",
      "description": "Official beta MCP server for reading and managing accounting data in Dinero.",
      "long_description": "Dinero MCP Server is an official hosted integration operated by Visma Dinero ApS. After Visma Connect login and explicit authorization, MCP-compatible clients can access the Dinero organizations available to the user, subject to the user's existing permissions. It exposes accounting lookups, reports, document handling and write actions such as creating and posting invoices, purchases and journal entries, while storing no session data between calls.",
      "website_url": "https://dinero.dk/funktioner/mcp/",
      "category": "mcp",
      "sector": "finance",
      "access_type": "direct",
      "auth_requirement": "login",
      "agent_capability": [
        "read",
        "write",
        "submit",
        "search"
      ],
      "reliability": "unknown",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Create and post customer invoices from an MCP-compatible AI client",
        "Book purchase receipts and upload supporting documents to the archive",
        "Search contacts, products, invoices and chart-of-accounts entries",
        "Retrieve trial balances, account specifications and unpaid invoice reports",
        "Register payments and create credit notes or journal entries"
      ],
      "notes": "Requires a Dinero Pro subscription, user login through Visma Connect and explicit OAuth authorization; MitID is not used. Connections can be reviewed and revoked through the MCP client or the user's Visma Connect settings. The service is a beta without uptime or service-level guarantees, and users must review AI-generated accounting changes and remain responsible for bookkeeping accuracy, backups and GDPR compliance with connected AI providers. Dinero enforces public API limits of 100 requests per minute per organization for ISV clients and 60 per minute per client for personal integrations, but the MCP documentation does not specify which quota applies to this server.",
      "docs_url": "https://mcp.dinero.dk/",
      "github_url": null,
      "added": "2026-08-25",
      "tags": [
        "accounting-erp",
        "mcp-server",
        "e-invoicing",
        "api-key-required",
        "llm-tool"
      ],
      "description_da": "Officiel MCP-server i beta til at læse og administrere regnskabsdata i Dinero.",
      "long_description_da": "Dinero MCP Server er en officiel, hostet integration, der drives af Visma Dinero ApS. Efter login via Visma Connect og udtrykkelig godkendelse kan MCP-kompatible klienter tilgå de Dinero-regnskaber, som brugeren har adgang til, inden for brugerens eksisterende rettigheder. Serveren understøtter opslag, rapporter, dokumenthåndtering og skrivehandlinger som oprettelse og bogføring af fakturaer, køb og kassekladder uden at gemme sessionsdata mellem kald.",
      "use_cases_da": [
        "Opret og bogfør kundefakturaer fra en MCP-kompatibel AI-klient",
        "Bogfør købsbilag og upload dokumentation til bilagsarkivet",
        "Søg efter kontakter, produkter, fakturaer og konti i kontoplanen",
        "Hent saldobalancer, kontospecifikationer og oversigter over ubetalte fakturaer",
        "Registrer betalinger og opret kreditnotaer eller kassekladder"
      ],
      "notes_da": "Kræver et Dinero Pro-abonnement, brugerlogin via Visma Connect og udtrykkelig OAuth-godkendelse; MitID anvendes ikke. Forbindelser kan gennemgås og tilbagekaldes i MCP-klienten eller brugerens indstillinger i Visma Connect. Tjenesten er i beta uden garantier for oppetid eller serviceniveau, og brugeren skal kontrollere AI-genererede regnskabsændringer samt sikre korrekt bogføring, sikkerhedskopiering og GDPR-overholdelse hos tilknyttede AI-udbydere. Dinero håndhæver grænser for det offentlige API på 100 kald pr. minut pr. regnskab for ISV-klienter og 60 kald pr. minut pr. klient for personlige integrationer, men MCP-dokumentationen angiver ikke, hvilken grænse der gælder for denne server.",
      "tags_da": [
        "regnskab-erp",
        "mcp-server",
        "e-fakturering",
        "api-noegle-paakraevet",
        "llm-vaerktoej"
      ],
      "system_slug": "dinero",
      "protocol": "mcp",
      "url": "https://agentaccess.dk/dinero-mcp",
      "url_da": "https://agentaccess.dk/da/dinero-mcp"
    },
    {
      "slug": "eloverblik-utilities",
      "name": "Eloverblik Utilities CLI",
      "description": "Python CLI to fetch Danish electricity metering data and emissions from Eloverblik.",
      "long_description": "Command-line tool for interacting with Energinet's eloverblik.dk API and Energi Data Service, allowing automated retrieval of hourly smart meter consumption, metering point IDs, and emission stats.",
      "website_url": "https://eloverblik.dk",
      "category": "cli",
      "sector": "utility",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": false,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Export hourly kWh electricity meter readings from Danish smart meters",
        "List all metering points (målepunkter) associated with an account",
        "Correlate consumption records with Energi Data Service emission factors"
      ],
      "notes": "Requires a personal data-sharing refresh token generated on eloverblik.dk (under Data Sharing).",
      "docs_url": "https://docs.eloverblik.dk/",
      "github_url": "https://github.com/helmstedt/eloverblik-utilities",
      "added": "2026-08-18",
      "tags": [
        "energy",
        "smart-meter",
        "api-key-required",
        "cli-tool"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "energi",
        "forbrugsdata",
        "api-noegle-paakraevet",
        "terminal-vaerktoej"
      ],
      "system_slug": "energinet",
      "protocol": "cli",
      "url": "https://agentaccess.dk/eloverblik-utilities",
      "url_da": "https://agentaccess.dk/da/eloverblik-utilities"
    },
    {
      "slug": "energidataservice",
      "name": "Energi Data Service",
      "description": "Open energy data platform with APIs for electricity consumption, production, prices, and grid data.",
      "long_description": "Energi Data Service is operated by Energinet (the Danish national energy transmission operator) and provides open APIs for energy market data. Covers electricity spot prices, consumption, production by source (wind, solar, etc.), CO2 intensity, and grid measurements. Fully public with no authentication required. Data is updated in real-time or hourly.",
      "website_url": "https://www.energidataservice.dk",
      "category": "api",
      "sector": "utility",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read"
      ],
      "reliability": "stable",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Fetch real-time electricity spot prices (DK1/DK2) for energy optimization",
        "Monitor CO2 intensity to schedule energy-intensive tasks",
        "Track renewable energy share in the grid",
        "Build smart home agents that optimize power usage by price",
        "Energy consumption reporting and carbon accounting"
      ],
      "notes": "Fully public REST API. No auth required. Real-time and historical data. Excellent documentation. Widely used in the Danish energy sector.",
      "docs_url": "https://www.energidataservice.dk/guides/api-guides",
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "energy",
        "green-transition",
        "open-data",
        "real-time",
        "batch-export",
        "read-only"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "energi",
        "groen-omstilling",
        "aabne-data",
        "realtid",
        "masseeksport",
        "skrivebeskyttet"
      ],
      "system_slug": "energinet",
      "protocol": "api",
      "url": "https://agentaccess.dk/energidataservice",
      "url_da": "https://agentaccess.dk/da/energidataservice"
    },
    {
      "slug": "folketinget-oda",
      "name": "Folketinget Open Data",
      "description": "Official OData REST API for Danish parliamentary bills, committee meetings, and voting records.",
      "long_description": "Folketinget provides an open OData v4 API exposing comprehensive legislative data including proposed bills (lovforslag), voting results, parliamentary question records (paragraf 20), MP biographies, and committee agendas.",
      "website_url": "https://oda.ft.dk",
      "category": "api",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Track Danish legislative proposals and amendment progression through parliament",
        "Analyze voting alignment and attendance records of members of Folketinget",
        "Extract full-text parliamentary speeches and minister responses to formal inquiries"
      ],
      "notes": "Completely open OData API with no authentication requirement. Subject to fair-use data terms.",
      "docs_url": "https://oda.ft.dk",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "parliament",
        "legislation",
        "politics",
        "open-data",
        "read-only",
        "search-lookup"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "folketinget",
        "lovgivning",
        "politik",
        "aabne-data",
        "skrivebeskyttet",
        "soegning"
      ],
      "system_slug": "folketinget",
      "protocol": "api",
      "url": "https://agentaccess.dk/folketinget-oda",
      "url_da": "https://agentaccess.dk/da/folketinget-oda"
    },
    {
      "slug": "geus",
      "name": "GEUS Data and Maps",
      "description": "Geological Survey of Denmark and Greenland open APIs and WFS services for borehole, groundwater, and subsurface data.",
      "long_description": "GEUS (De Nationale Geologiske Undersøgelser for Danmark og Grønland) provides programmatic access to national geoscience collections. Key services include the nationwide Jupiter database (water supply wells, groundwater chemistry, borehole geology), the GERDA geophysical database, MARTA marine data, and seismic surveys. Services are exposed through OGC-standard WMS, WFS, and downloadable datasets.",
      "website_url": "https://www.geus.dk",
      "category": "api",
      "sector": "other",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search",
        "download"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Query borehole profiles, geological strata, and well construction data from the Jupiter database",
        "Fetch historical groundwater levels, drinking water quality samples, and chemical analyses",
        "Integrate geophysical survey layers (GERDA) into subsurface analysis pipelines",
        "Download geological maps and shallow subsurface model layers for engineering assessments"
      ],
      "notes": "Publicly accessible and free to query via standard OGC WMS/WFS capabilities endpoints. Data is licensed for open public and commercial reuse with attribution.",
      "docs_url": "https://eng.geus.dk/products-services-facilities/data-and-maps",
      "github_url": null,
      "added": "2026-08-16",
      "tags": [
        "search",
        "download"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "geus",
      "protocol": "api",
      "url": "https://agentaccess.dk/geus",
      "url_da": "https://agentaccess.dk/da/geus"
    },
    {
      "slug": "geus-geodata",
      "name": "GEUS Geodata Services",
      "description": "National geological survey APIs for Jupiter borehole, groundwater, and marine data.",
      "long_description": "De Nationale Geologiske Undersøgelser for Danmark og Grønland (GEUS) exposes OGC WMS/WFS and REST endpoints for Denmark’s subsurface data, including the Jupiter national well database, geological strata, and drinking water chemistry.",
      "website_url": "https://data.geus.dk",
      "category": "api",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Retrieve borehole depth profiles and geological layers from the Jupiter database",
        "Monitor drinking water well water-table levels and chemical quality parameters",
        "Query Danish subsurface marine seismic and seabed substrate mapping"
      ],
      "notes": "Open access without authentication for OGC map layers and Jupiter data feeds.",
      "docs_url": "https://data.geus.dk/geusmap/ows",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "search"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "geus-geodata",
      "protocol": "api",
      "url": "https://agentaccess.dk/geus-geodata",
      "url_da": "https://agentaccess.dk/da/geus-geodata"
    },
    {
      "slug": "grundfast-mcp",
      "name": "Grundfast MCP",
      "description": "MCP server exposing 12 tools for Danish public registers including BBR, Matriklen, DAR addresses, CVR, and elevation data.",
      "long_description": "Grundfast provides a hosted Model Context Protocol (MCP) server that connects AI agents directly to cleaned Danish public registry data. Over a single Streamable HTTP JSON-RPC endpoint (https://api.grundfast.dk/mcp), agents get 12 structured tools covering BBR property rollups and bitemporal history, Matriklen cadastral parcels, DAR address autocomplete and geocoding, CVR company lookups, DHM terrain elevation, and GeoDanmark building polygons.",
      "website_url": "https://grundfast.dk/mcp-server",
      "category": "mcp",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": false,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Look up BBR building and unit data for Danish properties via BFE number",
        "Search and validate Danish addresses with DAR autocomplete and data wash",
        "Retrieve CVR company registration records and company metadata",
        "Query bitemporal registration history for BBR buildings and addresses",
        "Fetch terrain and surface elevation (DHM) and GeoDanmark building polygons for coordinates"
      ],
      "notes": "Requires a Grundfast API key (gf_live_... or free sandbox gf_test_...) passed in the Authorization header. Operates over Streamable HTTP (JSON-RPC 2.0). Billed and metered identically to REST API calls. Independent compatibility mirror — not run by SDFI or Erhvervsstyrelsen.",
      "docs_url": "https://grundfast.dk/docs",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "search"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "grundfast",
      "protocol": "mcp",
      "url": "https://agentaccess.dk/grundfast-mcp",
      "url_da": "https://agentaccess.dk/da/grundfast-mcp"
    },
    {
      "slug": "kb-labs",
      "name": "KB Labs — Royal Danish Library APIs",
      "description": "Open APIs for historical Danish newspapers, digitized text collections, and aerial photography.",
      "long_description": "KB Labs is the digital research and developer initiative from Det Kgl. Bibliotek (The Royal Danish Library). It exposes open programmatic access to Denmark's cultural heritage: a documented Swagger/OpenAPI Newspaper API (querying historical OCR text from Mediestream in JSON/JSONL/CSV), historical aerial photographs (Danmark set fra luften), digitized books, and open metadata collections.",
      "website_url": "https://labs.kb.dk",
      "category": "api",
      "sector": "media",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search",
        "download"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Search and extract OCR text from historical Danish newspapers via OpenAPI",
        "Retrieve georeferenced historical aerial photographs of Danish properties and landscapes",
        "Perform text mining and natural language processing on public domain Danish literature",
        "Query library metadata, digital collections, and bibliographic records"
      ],
      "notes": "Open and free access for non-commercial and research purposes. Newspaper API covers out-of-copyright and public domain publications (generally pre-1920 or specifically licensed). API endpoints operate as experimental research services.",
      "docs_url": "https://labs.kb.dk/apis/",
      "github_url": null,
      "added": "2026-08-16",
      "tags": [
        "search",
        "download"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "kb-labs",
      "protocol": "api",
      "url": "https://agentaccess.dk/kb-labs",
      "url_da": "https://agentaccess.dk/da/kb-labs"
    },
    {
      "slug": "kombit-serviceplatformen-python",
      "name": "KOMBIT Serviceplatformen Python SDK",
      "description": "Python SDK for KOMBIT Serviceplatformen — CVR lookup, Digital Post, CPR validation, and NemSMS.",
      "long_description": "Python library developed by ITK Development (Aarhus Municipality) for interfacing with KOMBIT Serviceplatformen services. Supports SF1530 (CVR-Online company lookups), SF1601 (Digital Post message dispatch with MeMo standard), SF2900 (CPR/person validation), NemSMS registration status checks, and OCES3 certificate handling.",
      "website_url": "https://itkdev.dk",
      "category": "api",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "restricted",
      "agent_capability": [
        "read",
        "write",
        "submit",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Query Danish company details and production units via KOMBIT SF1530 CVR-Online",
        "Send official municipal Digital Post notifications to citizen and business digital mailboxes via SF1601",
        "Validate citizen registration and NemSMS notification status using OCES3 certificates"
      ],
      "notes": "Requires municipal authorization, Serviceplatformen access agreement, and valid OCES3 client certificate credentials.",
      "docs_url": "https://github.com/itk-dev-rpa/python-serviceplatformen#readme",
      "github_url": "https://github.com/itk-dev-rpa/python-serviceplatformen",
      "added": "2026-08-18",
      "tags": [
        "search"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "kombit-serviceplatformen-python",
      "protocol": "api",
      "url": "https://agentaccess.dk/kombit-serviceplatformen-python",
      "url_da": "https://agentaccess.dk/da/kombit-serviceplatformen-python"
    },
    {
      "slug": "krak",
      "name": "Krak API (Eniro)",
      "description": "Danish local directory and search API for company profiles, phone numbers, person lookup, and maps.",
      "long_description": "Krak (part of Eniro Group) is Denmark's historic commercial and personal directory service. Through the Eniro Developer API (using the Danish 'krak' profile), agents can perform structured queries against millions of Danish business listings, trade categories, opening hours, website links, and contact phone numbers. The API also provides reverse telephone number lookup (Nummeroplysning / Unknown Number) to identify incoming callers, as well as geocoding, address autocomplete, and route calculation across Denmark.",
      "website_url": "https://api.eniro.com",
      "category": "api",
      "sector": "ecommerce",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "search",
        "lookup"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Look up Danish company profiles, official phone numbers, opening hours, and trade categories",
        "Perform reverse telephone number lookups to resolve unknown Danish callers in CRM workflows",
        "Search local service providers and craftsmen within specific geographic radius or municipality",
        "Query route directions and calculate travel distances between Danish addresses",
        "Enrich sales and customer lead data with verified Danish business directory metadata"
      ],
      "notes": "Official API provided via Eniro Developer Portal (api.eniro.com) using profile=krak and country=dk. Requires API key registration; offers a 3-month trial for business search data followed by subscription tiers. Person search and reverse phone lookups are subject to privacy constraints and operator agreements.",
      "docs_url": "https://api.eniro.com",
      "github_url": null,
      "added": "2026-09-01",
      "tags": [
        "directory",
        "yellow-pages",
        "phone-lookup",
        "companies",
        "maps",
        "contact-data",
        "eniro"
      ],
      "description_da": "Dansk lokal søge- og virksomhedskatalog-API til firmainfo, telefonnumre, personsøgning og kort.",
      "long_description_da": "Krak (en del af Eniro Group) er Danmarks klassiske erhvervs- og personkatalog (Kraks Vejviser). Gennem Eniro Developer API (med 'krak' som profil) kan AI-agenter foretage strukturerede opslag i millioner af danske virksomhedsprofiler, branchekoder, åbningstider, webadresser og telefonnumre. API'et tilbyder desuden omvendt telefonopslag (Nummeroplysning / Ukendt nummer) til automatisk identifikation af opkald samt geokodning, adresse-autokomplettering og ruteberegning i Danmark.",
      "use_cases_da": [
        "Opslag på danske virksomhedsprofiler, telefonnumre, åbningstider og branchekategorier",
        "Omvendt telefonopslag til identifikation af ukendte danske numre i automatiserede CRM-flows",
        "Søgning efter lokale håndværkere og servicevirksomheder inden for et geografisk postnummerområde",
        "Ruteberegning og afstandsmåling mellem danske adresser og lokationer",
        "Berigelse af kunde- og leaddata med verificerede oplysninger fra Kraks erhvervskatalog"
      ],
      "notes_da": "Officielt API udstillet via Eniro Developer Portal (api.eniro.com) med profile=krak og country=dk. Kræver API-nøgle; tilbyder 3 måneders prøveperiode til firmadata efterfulgt af abonnementsmodel. Personsøgning og nummeroplysning er underlagt databeskyttelsesregler og teleaftaler.",
      "tags_da": [
        "katalog",
        "gule-sider",
        "nummeroplysning",
        "virksomheder",
        "kort",
        "kontaktoplysninger",
        "eniro"
      ],
      "system_slug": "krak",
      "protocol": "api",
      "url": "https://agentaccess.dk/krak",
      "url_da": "https://agentaccess.dk/da/krak"
    },
    {
      "slug": "lunar-open-banking",
      "name": "Lunar Open Banking Payments API",
      "description": "Open banking and payment initiation APIs supporting domestic transfers, standing orders, and Danish FIK payment slips.",
      "long_description": "Lunar is a Nordic digital bank and licensed credit institution. Its Open Banking platform provides REST APIs for Payment Initiation Services (PIS) and Account Information Services (AIS), including specialized support for Danish domestic bank transfers, standing orders, and Danish FIK / GIRO payment slips (Indbetalingskort). An interactive sandbox environment with simulated user authorization is available.",
      "website_url": "https://lunar.app",
      "category": "api",
      "sector": "finance",
      "access_type": "restricted",
      "auth_requirement": "restricted",
      "agent_capability": [
        "read",
        "write",
        "submit"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Initiate Danish FIK/GIRO (+71, +73, +75) payment slip settlements programmatically",
        "Trigger single immediate domestic transfers and scheduled future payments",
        "Set up and manage recurring standing payment orders via Open Banking",
        "Retrieve real-time account balances and payment status updates"
      ],
      "notes": "Production access requires licensed TPP status (PISP/AISP) with valid eIDAS certificates. Sandbox testing is available via developer registration with simulated OAuth redirects.",
      "docs_url": "https://docs.openbanking.lunar.app/api-overview/payments",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "finance",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "lunar-open-banking",
      "protocol": "api",
      "url": "https://agentaccess.dk/lunar-open-banking",
      "url_da": "https://agentaccess.dk/da/lunar-open-banking"
    },
    {
      "slug": "maersk",
      "name": "Maersk Developer Platform",
      "description": "Global ocean, air, and inland logistics APIs for container tracking, vessel schedules, and freight booking.",
      "long_description": "A.P. Møller - Mærsk provides a developer ecosystem adhering to DCSA (Digital Container Shipping Association) open industry standards. Through REST/JSON APIs, software agents and automated supply chain pipelines can query real-time shipment milestones, look up point-to-point ocean and inland transport schedules, retrieve spot freight rates, calculate container carbon emissions, and trigger event-driven webhooks for customs or vessel status changes. High-value transactional capabilities (direct ocean bookings and eBL) require verified B2B customer authorization.",
      "website_url": "https://developer.maersk.com",
      "category": "api",
      "sector": "transport",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "search",
        "write"
      ],
      "reliability": "stable",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Track container status, location milestones, and estimated vessel arrival times via DCSA Track & Trace API",
        "Query point-to-point vessel schedules, port call sequences, and inland logistics routes",
        "Calculate scope 3 CO2 emissions per trade lane and container TEU for sustainability accounting",
        "Fetch spot rate freight quotes and submit digital ocean bookings (requires B2B customer code)",
        "Subscribe to real-time webhook notifications for customs holds and transit delay alerts"
      ],
      "notes": "Adheres to DCSA (Digital Container Shipping Association) OpenAPI specifications. Authentication uses OAuth 2.0 Client Credentials and Consumer-Key headers. Basic tracking, schedules, and reference data are available via developer registration; transactional booking and rated quotes require an active Maersk customer code and B2B contract.",
      "docs_url": "https://developer.maersk.com",
      "github_url": null,
      "added": "2026-09-01",
      "tags": [
        "shipping",
        "logistics",
        "dcsa",
        "freight",
        "supply-chain",
        "tracking"
      ],
      "description_da": "Globale logistik- og fragt-API'er til container-tracking, sejlplaner, CO2-beregning og booking.",
      "long_description_da": "A.P. Møller - Mærsk stiller et åbent udvikler-økosystem til rådighed baseret på DCSA-standarder (Digital Container Shipping Association). Gennem REST/JSON API'er kan softwareagenter og forsyningskæde-systemer forespørge på realtids-milepæle for forsendelser, søge punkt-til-punkt sejl- og transportplaner, hente spotfragtrater, beregne CO2-udledning per container samt lytte på webhooks for toldstatus og forsinkelser. Transaktionelle handlinger som booking og elektroniske konnossementer (eBL) kræver godkendt B2B-kundeaftale.",
      "use_cases_da": [
        "Sporing af containerstatus, lokationsmilepæle og forventede ankomsttider via DCSA Track & Trace",
        "Opslag på punkt-til-punkt sejlplaner, havnekald og multimodale transportruter",
        "Beregning af CO2-udledning per fragtrute og TEU-container til ESG-rapportering",
        "Hentning af spotpriser og afsendelse af digitale bookinganmodninger (kræver B2B-kundekode)",
        "Abonner på realtids-webhooks ved toldbehandling, omladning og forsinkelser"
      ],
      "notes_da": "Følger DCSA (Digital Container Shipping Association) OpenAPI-standarderne. Autentifikation sker med OAuth 2.0 Client Credentials og Consumer-Key headers. Sporing, sejlplaner og referencedata er tilgængelige via udviklerregistrering; booking og priser kræver aktiv Maersk-kundekode og B2B-aftale.",
      "tags_da": [
        "skibsfart",
        "logistik",
        "dcsa",
        "fragt",
        "forsyningskæde",
        "tracking",
        "transport"
      ],
      "system_slug": "maersk",
      "protocol": "api",
      "url": "https://agentaccess.dk/maersk",
      "url_da": "https://agentaccess.dk/da/maersk"
    },
    {
      "slug": "medcom-fhir",
      "name": "MedCom FHIR Standards",
      "description": "National Danish healthcare messaging and HL7 FHIR interoperability standards.",
      "long_description": "MedCom develops and governs national technical standards for data exchange across Danish hospitals, general practitioners, and municipal care. Publishes Danish FHIR profiles for care plans, diagnostic messaging, and patient consent.",
      "website_url": "https://medcom.dk",
      "category": "api",
      "sector": "health",
      "access_type": "restricted",
      "auth_requirement": "restricted",
      "agent_capability": [
        "read",
        "submit"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Implement HL7 FHIR profiles matching Danish healthcare interoperability requirements",
        "Format and validate hospital discharge summaries and laboratory message payloads",
        "Integrate clinical information systems with MedCom certified communication pathways"
      ],
      "notes": "Technical specifications and profiles are open on GitHub. Operational exchange requires MedCom certification and health-network connectivity.",
      "docs_url": "https://medcomdk.github.io",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "health",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "medcom-fhir",
      "protocol": "api",
      "url": "https://agentaccess.dk/medcom-fhir",
      "url_da": "https://agentaccess.dk/da/medcom-fhir"
    },
    {
      "slug": "mitid",
      "name": "MitID",
      "description": "Denmark's national digital identity system — no API, all flows require human authentication.",
      "long_description": "MitID is the national eID system replacing NemID. All authentication flows require physical human interaction via the MitID app (biometric or code), a hardware key, or a code reader. There is no API that allows an agent to authenticate on behalf of a user without involvement. Automated MitID flows are explicitly prohibited in the terms of service and Danish law.",
      "website_url": "https://www.mitid.dk",
      "category": "browser",
      "sector": "government",
      "access_type": "restricted",
      "auth_requirement": "mitid",
      "agent_capability": [
        "authenticate"
      ],
      "reliability": "stable",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Supervised authentication flows where a human approves via MitID app",
        "Agent-assisted form filling that pauses for MitID step"
      ],
      "notes": "CRITICAL: Automated or unsupervised MitID flows are prohibited. Human-in-the-loop is legally required. Any automation must pause and wait for physical user confirmation. Violations may constitute identity fraud under Danish law.",
      "docs_url": null,
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "identity",
        "mitid-hitl",
        "authentication",
        "security",
        "compliance"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "identitet",
        "mitid-hitl",
        "autentificering",
        "sikkerhed",
        "compliance"
      ],
      "system_slug": "mitid",
      "protocol": "browser",
      "url": "https://agentaccess.dk/mitid",
      "url_da": "https://agentaccess.dk/da/mitid"
    },
    {
      "slug": "mitid-erhverv",
      "name": "MitID Erhverv — Identity & Certificate APIs",
      "description": "IdM and Certificate APIs for managing organizational identities, users, and certificates in MitID Erhverv.",
      "long_description": "MitID Erhverv is the official identity infrastructure for Danish businesses, associations, and public authorities. Unlike citizen MitID, it provides programmatic system-to-system interfaces: an IdM REST API for managing users, roles, and administrative units, and a Certificate SOAP API for automated certificate issuance and lifecycle management. Digitaliseringsstyrelsen provides an integration test environment (INT) with test organizations and API keys.",
      "website_url": "https://mitid-erhverv.dk",
      "category": "api",
      "sector": "government",
      "access_type": "restricted",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "write",
        "submit",
        "authenticate"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Automate user provisioning, suspension, and de-provisioning in MitID Erhverv via IdM REST API",
        "Assign and synchronize organizational roles and rights across business units",
        "Request, issue, and revoke organizational system certificates via Certificate SOAP API",
        "Integrate enterprise identity and access management (IAM) with the national business registry",
        "Validate system-to-system integrations against the official INT integration test environment"
      ],
      "notes": "Requires organization onboarding in MitID Erhverv and administrator approval for API enablement. Production access is restricted to verified CVR entities. OpenAPI and SOAP WSDL specifications available in test environment documentation.",
      "docs_url": "https://mitid-erhverv.dk/en/advanced-functionalities-in-mitid-erhverv/mitid-erhverv-integration-test-environment/",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "identity",
        "mitid-hitl",
        "business-identity",
        "api-key-required"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "identitet",
        "mitid-hitl",
        "erhvervsidentitet",
        "api-noegle-paakraevet"
      ],
      "system_slug": "mitid",
      "protocol": "api",
      "url": "https://agentaccess.dk/mitid-erhverv",
      "url_da": "https://agentaccess.dk/da/mitid-erhverv"
    },
    {
      "slug": "nrgi-api",
      "name": "NRGI / Forsyning (Smart meter data)",
      "description": "Smart meter data from Danish energy utilities — citizen access via MitID through the DataHub API.",
      "long_description": "Danish energy utilities expose smart meter consumption data through Energinets DataHub. Citizens can authorize third-party applications to access their own meter data via an OAuth-like flow requiring MitID. The API follows the Eloverblik standard. Several Danish utilities (Ewii, NRGI, etc.) participate.",
      "website_url": "https://eloverblik.dk",
      "category": "api",
      "sector": "utility",
      "access_type": "direct",
      "auth_requirement": "mitid",
      "agent_capability": [
        "read"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Fetch household electricity consumption history for analysis",
        "Power monitoring agents with authorized smart meter access",
        "Home energy audit automation"
      ],
      "notes": "Citizen access requires MitID authorization. Third-party access via Eloverblik OAuth flow. Data is hourly consumption. Available at api.eloverblik.dk.",
      "docs_url": "https://api.eloverblik.dk/customerapi/index.html",
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "utility",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "nrgi",
      "protocol": "api",
      "url": "https://agentaccess.dk/nrgi-api",
      "url_da": "https://agentaccess.dk/da/nrgi-api"
    },
    {
      "slug": "nemlog-in",
      "name": "NemLog-in",
      "description": "National public identity broker, single sign-on, digital power-of-attorney, and user-rights management.",
      "long_description": "NemLog-in (operated by Digitaliseringsstyrelsen / Agency for Digital Government) is the national public-sector identity and access management infrastructure. It provides SAML/OIDC identity brokerage (integrating MitID), a digital power-of-attorney system (Digital Fuldmagt), a Security Token Service (STS), and central administration of user roles and rights for Danish public authorities and connected service providers.",
      "website_url": "https://digst.dk/systemer/nemlog-in/",
      "category": "api",
      "sector": "government",
      "access_type": "restricted",
      "auth_requirement": "restricted",
      "agent_capability": [
        "authenticate",
        "read"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Integrate national single sign-on (SSO) login broker for public digital self-service solutions",
        "Validate digital powers of attorney (Digital Fuldmagt) for citizen representation delegations",
        "Issue and validate SAML security tokens via the Security Token Service (STS)",
        "Verify organization user roles and authorizations via central user rights management"
      ],
      "notes": "Restricted to approved public authorities and qualified service providers. Requires formal connection agreement (Tilslutningsaftale) with Digitaliseringsstyrelsen and OIOSAML/OIDC compliance. Not an open public data API.",
      "docs_url": "https://en.digst.dk/systems/nemlog-in/nemlog-in-components/",
      "github_url": null,
      "added": "2026-08-16",
      "tags": [
        "authenticate"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "nemlog-in",
      "protocol": "api",
      "url": "https://agentaccess.dk/nemlog-in",
      "url_da": "https://agentaccess.dk/da/nemlog-in"
    },
    {
      "slug": "nemlig",
      "name": "Nemlig.com",
      "description": "Danish online grocery — no public API. Access via browser automation only.",
      "long_description": "Nemlig.com is a major Danish online grocery platform. No public API or developer program exists. All machine access must be achieved through browser automation using Playwright or Puppeteer, simulating a logged-in user. The site uses React with dynamic rendering. Product availability, pricing, and cart operations require a valid Nemlig.com account.",
      "website_url": "https://www.nemlig.com",
      "category": "browser",
      "sector": "ecommerce",
      "access_type": "simulated",
      "auth_requirement": "login",
      "agent_capability": [
        "read",
        "write",
        "order"
      ],
      "reliability": "fragile",
      "official": false,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Automated weekly grocery ordering based on a shopping list",
        "Price monitoring across product categories",
        "Pantry tracking — detect when items need reordering",
        "Nutritional data scraping for meal planning agents"
      ],
      "notes": "No official API. Login required for most interactions. UI changes frequently — selectors break. ToS may restrict automated access. No guarantee of stability.",
      "docs_url": null,
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "ecommerce",
        "groceries",
        "browser-automation",
        "ordering",
        "write-actions"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "e-handel",
        "dagligvarer",
        "browser-automatisering",
        "bestilling",
        "skrivehandlinger"
      ],
      "system_slug": "nemlig",
      "protocol": "browser",
      "url": "https://agentaccess.dk/nemlig",
      "url_da": "https://agentaccess.dk/da/nemlig"
    },
    {
      "slug": "nemlig-cli",
      "name": "Nemlig.com CLI & MCP Server",
      "description": "Command-line interface and FastMCP server for Nemlig.com Danish online grocery search, basket, and delivery booking.",
      "long_description": "An open-source Python client and FastMCP server for Nemlig.com (Denmark's primary online supermarket). It exposes structured tools for AI assistants (Claude Desktop, Cursor, etc.) and CLI workflows to search products, inspect nutrition and unit prices, manage live shopping baskets, list and add saved shopping lists (favoritter), browse delivery slots, reserve delivery windows, and view past order receipts.",
      "website_url": "https://www.nemlig.com",
      "category": "mcp",
      "sector": "ecommerce",
      "access_type": "direct",
      "auth_requirement": "login",
      "agent_capability": [
        "read",
        "search",
        "write",
        "order"
      ],
      "reliability": "fragile",
      "official": false,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Search Nemlig.com groceries and retrieve prices, unit prices, and nutritional data",
        "Manage live shopping cart items (view basket, add products, remove items)",
        "Load full saved shopping lists (favoritter) into the shopping basket",
        "Check available delivery time slots and reserve a delivery window",
        "Query recent order history and line-item details for household bookkeeping"
      ],
      "notes": "Unofficial FastMCP server wrapping Nemlig.com endpoints. Requires account credentials (NEMLIG_USER, NEMLIG_PASS). Connects via stdio transport. Rate-limited to ~2 req/s with token auto-refresh. Modifies real user basket; slot reservation and checkout should involve human confirmation.",
      "docs_url": "https://github.com/josequaresma/nemlig_cli#readme",
      "github_url": "https://github.com/josequaresma/nemlig_cli",
      "added": "2026-08-17",
      "tags": [
        "ecommerce",
        "groceries",
        "mcp-server",
        "cli-tool",
        "ordering"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "e-handel",
        "dagligvarer",
        "mcp-server",
        "terminal-vaerktoej",
        "bestilling"
      ],
      "system_slug": "nemlig",
      "protocol": "mcp",
      "url": "https://agentaccess.dk/nemlig-cli",
      "url_da": "https://agentaccess.dk/da/nemlig-cli"
    },
    {
      "slug": "nets-betalingsservice",
      "name": "Nets — Betalingsservice",
      "description": "Danish direct debit system — restricted API for registered payment service users only.",
      "long_description": "Betalingsservice (BS) is the dominant Danish direct debit system operated by Nets. API access is available only for registered creditors and payment service providers. Individual businesses can integrate via the BS API to manage mandates, collect payments, and handle returns. No access for individuals or unapproved parties.",
      "website_url": "https://www.nets.eu/dk-da/l%C3%B8sninger/Indbetalinger/betalingsservice",
      "category": "api",
      "sector": "finance",
      "access_type": "restricted",
      "auth_requirement": "restricted",
      "agent_capability": [
        "read",
        "write",
        "submit"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Automate direct debit collections for subscription businesses",
        "Manage payment mandates programmatically",
        "Reconcile incoming payments against invoices"
      ],
      "notes": "Requires a formal creditor agreement with Nets. Only available to registered businesses. Not accessible for individual developers.",
      "docs_url": null,
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "finance",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "nets-betalingsservice",
      "protocol": "api",
      "url": "https://agentaccess.dk/nets-betalingsservice",
      "url_da": "https://agentaccess.dk/da/nets-betalingsservice"
    },
    {
      "slug": "opendata-dk",
      "name": "OpenData.dk",
      "description": "National open data portal aggregating public datasets from Danish municipalities and government agencies.",
      "long_description": "OpenData.dk is a CKAN-based data portal publishing open datasets from Danish public authorities including municipalities, regions, and state agencies. Provides the standard CKAN REST API for dataset and resource discovery, download, and search. Data quality and update frequency varies significantly by publisher.",
      "website_url": "https://www.opendata.dk",
      "category": "api",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Discover open datasets published by Danish authorities",
        "Download municipal data for local analysis",
        "Ingest geographic datasets from regional governments",
        "Monitor dataset updates across public publishers"
      ],
      "notes": "Standard CKAN API. Dataset quality and freshness varies by publisher. Some datasets are in Danish only.",
      "docs_url": "https://www.opendata.dk/about",
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "search"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "opendata-dk",
      "protocol": "api",
      "url": "https://agentaccess.dk/opendata-dk",
      "url_da": "https://agentaccess.dk/da/opendata-dk"
    },
    {
      "slug": "openorchestrator",
      "name": "OpenOrchestrator",
      "description": "Open-source Python CLI and runner for Danish municipal RPA automation.",
      "long_description": "Python toolkit developed by ITK Development (Aarhus Municipality) for scheduling, logging, and orchestrating Robotic Process Automation (RPA) tasks across municipal IT infrastructure.",
      "website_url": "https://github.com/itk-dev-rpa/OpenOrchestrator",
      "category": "cli",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "login",
      "agent_capability": [
        "read",
        "write",
        "submit"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Orchestrate municipal background scripts and data sync jobs",
        "Securely retrieve credentials and constants for automation workers",
        "Manage job queues and structured execution logs across tasks"
      ],
      "notes": "Used across Danish municipal administrations via OS2 and ITK Development. Requires a central SQL database (MSSQL or SQLite).",
      "docs_url": "https://github.com/itk-dev-rpa/OpenOrchestrator#readme",
      "github_url": "https://github.com/itk-dev-rpa/OpenOrchestrator",
      "added": "2026-08-18",
      "tags": [
        "government",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "openorchestrator",
      "protocol": "cli",
      "url": "https://agentaccess.dk/openorchestrator",
      "url_da": "https://agentaccess.dk/da/openorchestrator"
    },
    {
      "slug": "penneo-api",
      "name": "Penneo Sign API",
      "description": "Digital signature, KYC onboarding, and legally binding document workflow REST API.",
      "long_description": "Penneo (listed on Nasdaq Copenhagen) provides enterprise digital signature and compliance software. The Penneo Sign API enables automated dispatch of case files for MitID signing, automated signer authentication, and audit trail retrieval.",
      "website_url": "https://penneo.com",
      "category": "api",
      "sector": "finance",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "write",
        "submit",
        "authenticate"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Dispatch contracts, board resolutions, and financial statements for MitID electronic signature",
        "Track real-time document viewing and signature status via automated webhooks",
        "Retrieve digitally sealed PDF documents with cryptographic timestamp audit certificates"
      ],
      "notes": "Requires a Penneo API key and secret. Full sandbox environment available for partner testing.",
      "docs_url": "https://app.penneo.com/api/docs",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "authenticate"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "penneo",
      "protocol": "api",
      "url": "https://agentaccess.dk/penneo-api",
      "url_da": "https://agentaccess.dk/da/penneo-api"
    },
    {
      "slug": "plandata",
      "name": "Plandata.dk",
      "description": "National spatial planning registry providing WFS and REST access to municipal plans, zoning, and local plans.",
      "long_description": "Plandata.dk is the official Danish planning register operated by Plan- og Landdistriktsstyrelsen. It contains legally binding municipal plans (kommuneplaner), local zoning plans (lokalplaner), rural/urban zone classifications (zonestatus), and proposals under public hearing across all 98 Danish municipalities. Data is exposed as open WFS and WMS web services and structured file downloads.",
      "website_url": "https://www.plandata.dk",
      "category": "api",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search",
        "download"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Look up active local zoning plans (lokalplaner) and building restrictions for a property",
        "Query municipal planning framework zones and designated land-use categories via WFS",
        "Check urban, rural, and summer cottage zone classifications (zonestatus)",
        "Automate legal and zoning due diligence for real estate and construction projects"
      ],
      "notes": "Open public access for read operations and GIS queries without authentication. Plan submission and pre-production updates are restricted to municipal planning administrators.",
      "docs_url": "https://planinfo.erhvervsstyrelsen.dk/plandatadk",
      "github_url": null,
      "added": "2026-08-16",
      "tags": [
        "search",
        "download"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "plandata",
      "protocol": "api",
      "url": "https://agentaccess.dk/plandata",
      "url_da": "https://agentaccess.dk/da/plandata"
    },
    {
      "slug": "pleo-api",
      "name": "Pleo Developer API",
      "description": "REST API for smart corporate credit card expense management and automated bookkeeping sync.",
      "long_description": "Pleo is a European corporate expense management platform founded in Copenhagen. Its Open API allows organizations to extract real-time card transactions, mileage claims, digital receipts, and accounting export tags.",
      "website_url": "https://www.pleo.io",
      "category": "api",
      "sector": "finance",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "write"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Export approved employee card expenses and tax categories to custom ERP systems",
        "Download high-resolution receipt images and invoice attachments programmatically",
        "Sync accounting categories, tax codes, and project dimensions into Pleo"
      ],
      "notes": "Requires Pleo Enterprise or partner credentials. Authentication is handled via API bearer tokens.",
      "docs_url": "https://developers.pleo.io",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "finance",
        "expenses",
        "corporate-cards",
        "api-key-required",
        "write-actions"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "finans",
        "udlaeg",
        "firmakort",
        "api-noegle-paakraevet",
        "skrivehandlinger"
      ],
      "system_slug": "pleo",
      "protocol": "api",
      "url": "https://agentaccess.dk/pleo-api",
      "url_da": "https://agentaccess.dk/da/pleo-api"
    },
    {
      "slug": "pleo-mcp",
      "name": "Pleo MCP",
      "description": "Official Pleo Model Context Protocol server enabling AI agents to search, complete, review, and export company expenses.",
      "long_description": "Pleo MCP connects AI assistants and autonomous agents directly to company spend data via an official Streamable HTTP MCP endpoint (https://mcp.pleo.io/mcp). Built by Pleo, the server inherits the authenticated user's permissions and allows agents to search expenses, resolve missing details (receipts, categories, tax codes, attendees), review and approve pending transactions, and queue approved expenses for bookkeeping and ERP export across multiple entities.",
      "website_url": "https://www.pleo.io",
      "category": "mcp",
      "sector": "finance",
      "access_type": "direct",
      "auth_requirement": "login",
      "agent_capability": [
        "read",
        "search",
        "write",
        "export"
      ],
      "reliability": "stable",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Search company expenses and identify transactions missing receipts, categories, or tax codes",
        "Update and enrich expense entries with categories, tags, business notes, and attendee lists",
        "Review and approve pending employee spending waiting for managerial decision",
        "Prepare verified expenses and enqueue them for accounting and ERP export",
        "Automate expense management across multiple corporate entities from a single agent session"
      ],
      "notes": "Operates over Streamable HTTP at https://mcp.pleo.io/mcp (staging: https://mcp.staging.pleo.io/mcp). MCP access must first be enabled by a company admin in Pleo under Settings → General → Pleo AI. Authenticates via OAuth 2.0 with the user's existing Pleo credentials and permissions. Write actions (updating categories, approvals) trigger human confirmation in compatible AI clients by default.",
      "docs_url": "https://developers.pleo.io/docs/current/pleo-mcp/get-started/pleo-mcp-overview",
      "github_url": null,
      "added": "2026-09-09",
      "tags": [
        "finance",
        "expenses",
        "mcp-server",
        "api-key-required",
        "llm-tool"
      ],
      "description_da": "Officiel Pleo Model Context Protocol-server, der giver AI-agenter adgang til at søge, udfylde, godkende og eksportere virksomhedsudlæg.",
      "long_description_da": "Pleo MCP forbinder AI-assistenter og autonome agenter direkte til virksomhedens udgiftsdata via et officielt Streamable HTTP MCP-endpoint (https://mcp.pleo.io/mcp). Serveren er udviklet af Pleo og arver den godkendte brugers rettigheder. Agenter kan søge i udgifter, udfylde manglende oplysninger (kvitteringer, kategorier, momskoder, deltagere), gennemgå og godkende afventende transaktioner samt klargøre udgifter til bogføring og ERP-eksport på tværs af flere selskaber.",
      "use_cases_da": [
        "Søg i virksomhedens udgifter og find transaktioner, der mangler kvittering, kategori eller momskode",
        "Opdater og berig udlæg med kategorier, tags, forretningsnoter og deltagerlister",
        "Gennemgå og godkend afventende medarbejderudlæg, der afventer ledelsesbeslutning",
        "Klargør verificerede udgifter og send dem til eksportkøen til bogføring og ERP-systemer",
        "Automatiser udgiftshåndtering på tværs af flere virksomhedsenheder i samme agentsession"
      ],
      "notes_da": "Kører over Streamable HTTP på https://mcp.pleo.io/mcp (staging: https://mcp.staging.pleo.io/mcp). MCP-adgang skal først aktiveres af en virksomhedsadministrator i Pleo under Indstillinger → Generelt → Pleo AI. Autentificering sker via OAuth 2.0 med brugerens eksisterende Pleo-rettigheder. Skrivehandlinger (ændring af kategorier, godkendelser) udløser som standard bekræftelse af et menneske i kompatible AI-klienter.",
      "tags_da": [
        "finans",
        "udlaeg",
        "mcp-server",
        "api-noegle-paakraevet",
        "llm-vaerktoej"
      ],
      "system_slug": "pleo",
      "protocol": "mcp",
      "url": "https://agentaccess.dk/pleo-mcp",
      "url_da": "https://agentaccess.dk/da/pleo-mcp"
    },
    {
      "slug": "rejseplanen",
      "name": "Rejseplanen",
      "description": "Danish public transport journey planner API covering all buses, trains, metro, and harbour buses nationwide.",
      "long_description": "Rejseplanen provides an official REST/JSON API for journey planning across all Danish public transport operators. Supports stop lookup, real-time departure boards, trip planning between any two stops, and service messages. Covers DSB trains, Metro, local buses, and harbour buses. The API is stable and well-maintained.",
      "website_url": "https://www.rejseplanen.dk",
      "category": "api",
      "sector": "transport",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Plan journeys between any two Danish locations",
        "Monitor real-time departures for a specific stop",
        "Calculate travel times for commute optimization agents",
        "Detect service disruptions and suggest alternatives",
        "Build multimodal route summaries for travel agents"
      ],
      "notes": "API access via rejseplanen.dk/labs — free registration. Rate limits apply. Real-time data has ~1 min latency. Covers all public transport in Denmark.",
      "docs_url": "https://help.rejseplanen.dk/hc/da/articles/214174465",
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "public-transport",
        "travel-planning",
        "open-data",
        "real-time",
        "search-lookup"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "kollektiv-trafik",
        "rejseplanlaegning",
        "aabne-data",
        "realtid",
        "soegning"
      ],
      "system_slug": "rejseplanen",
      "protocol": "api",
      "url": "https://agentaccess.dk/rejseplanen",
      "url_da": "https://agentaccess.dk/da/rejseplanen"
    },
    {
      "slug": "rentemester",
      "name": "Rentemester",
      "description": "Agent-first Danish bookkeeping CLI with append-only ledger and Danish tax rules.",
      "long_description": "Open-source command-line tool and MCP system created by Mikkel Krogsholm for automated Danish bookkeeping, VAT (moms) settlement, and OIOUBL invoice handling on an append-only SQLite ledger.",
      "website_url": "https://rentemester.dk",
      "category": "cli",
      "sector": "finance",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "write",
        "submit"
      ],
      "reliability": "stable",
      "official": false,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Automate double-entry bookkeeping with built-in Danish VAT rules",
        "Import and reconcile Danish bank statements (CSV/CAMT)",
        "Generate compliant Danish financial statements and OIOUBL e-invoices"
      ],
      "notes": "Local-first, deterministic core with no telemetry. Supports both direct CLI usage and Model Context Protocol (MCP) server mode for AI agents.",
      "docs_url": "https://github.com/mikkelkrogsholm/rentemester#readme",
      "github_url": "https://github.com/mikkelkrogsholm/rentemester",
      "added": "2026-08-18",
      "tags": [
        "finance",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "rentemester",
      "protocol": "cli",
      "url": "https://agentaccess.dk/rentemester",
      "url_da": "https://agentaccess.dk/da/rentemester"
    },
    {
      "slug": "kb-api",
      "name": "Royal Danish Library APIs",
      "description": "Cultural heritage REST and IIIF APIs for digitized books, historical newspapers, and images.",
      "long_description": "Det Kgl. Bibliotek (Royal Danish Library) offers programmable REST and IIIF image API interfaces for discovering Danish cultural heritage, digitized historical newspapers (Mediestream / Avisapi), manuscript archives, and bibliographical records.",
      "website_url": "https://api.kb.dk",
      "category": "api",
      "sector": "media",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Search historical Danish newspaper articles and OCR text across centuries",
        "Retrieve high-resolution IIIF deep-zoom image tiles of cultural artifacts and maps",
        "Query the national bibliography (DanBib) metadata for Danish literary publications"
      ],
      "notes": "Public domain collections are openly accessible via REST/IIIF without authentication. Copyrighted materials in Mediestream require academic or institutional licensing.",
      "docs_url": "https://api.kb.dk/data/",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "search"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "kb",
      "protocol": "api",
      "url": "https://agentaccess.dk/kb-api",
      "url_da": "https://agentaccess.dk/da/kb-api"
    },
    {
      "slug": "smk-api",
      "name": "SMK API — Statens Museum for Kunst",
      "description": "Open REST and IIIF API for artworks, artist biographies, and high-res museum imagery.",
      "long_description": "Statens Museum for Kunst (National Gallery of Denmark) provides an open REST and IIIF API providing full search access to over 250,000 digitized artworks, provenance records, and high-resolution public domain digital images.",
      "website_url": "https://www.smk.dk/article/smk-api/",
      "category": "api",
      "sector": "media",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Search artwork metadata, creation dates, mediums, and artist biographies",
        "Download high-resolution Public Domain / CC0 image reproductions of classical masterworks",
        "Extract color palettes and 3D scan data for visual artwork research"
      ],
      "notes": "Free, public API without authentication required for standard querying and image access.",
      "docs_url": "https://api.smk.dk/api/v1/art/search",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "search"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "smk",
      "protocol": "api",
      "url": "https://agentaccess.dk/smk-api",
      "url_da": "https://agentaccess.dk/da/smk-api"
    },
    {
      "slug": "salling-group-api",
      "name": "Salling Group Developer API",
      "description": "Retail REST API for food waste discounts, store locations, and assortment across Netto, Føtex, and Bilka.",
      "long_description": "Salling Group Developer API provides official endpoints for querying real-time food waste discounts (food-waste markdown items near expiry), store operating hours and amenities, and product catalogues for Denmark’s largest supermarket group.",
      "website_url": "https://developer.sallinggroup.dev",
      "category": "api",
      "sector": "ecommerce",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Query discounted food-waste clearance items with prices and expiry timestamps at local Netto/Føtex stores",
        "Look up store locations, live opening hours, and available facilities across Denmark",
        "Fetch product assortments and availability for retail market price monitoring"
      ],
      "notes": "Free API key registration available directly on developer portal. Generous rate limits for developers.",
      "docs_url": "https://developer.sallinggroup.dev",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "ecommerce",
        "retail",
        "food-waste",
        "api-key-required",
        "search-lookup"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "e-handel",
        "detailhandel",
        "madspild",
        "api-noegle-paakraevet",
        "soegning"
      ],
      "system_slug": "salling-group",
      "protocol": "api",
      "url": "https://agentaccess.dk/salling-group-api",
      "url_da": "https://agentaccess.dk/da/salling-group-api"
    },
    {
      "slug": "saxo-openapi",
      "name": "Saxo Bank OpenAPI",
      "description": "REST and streaming WebSocket APIs for multi-asset trading, portfolio data, and real-time market quotes.",
      "long_description": "Saxo Bank’s OpenAPI is an institutional-grade API suite providing programmatic access to global equities, FX, futures, options, and bonds, complete with streaming price feeds, order execution, and portfolio risk management.",
      "website_url": "https://www.developer.saxo",
      "category": "api",
      "sector": "finance",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "order",
        "submit"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Stream real-time Level 1 and Level 2 market price quotes for Nordic and global securities",
        "Place, modify, and cancel automated limit and stop orders with risk validation",
        "Query real-time portfolio margin calculations, cash balances, and historical trade logs"
      ],
      "notes": "Requires Saxo developer application key and OAuth 2.0 user credentials. Full simulation sandbox provided.",
      "docs_url": "https://www.developer.saxo/openapi/learn",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "order"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "saxo-openapi",
      "protocol": "api",
      "url": "https://agentaccess.dk/saxo-openapi",
      "url_da": "https://agentaccess.dk/da/saxo-openapi"
    },
    {
      "slug": "skattestyrelsen",
      "name": "Skattestyrelsen — SKAT",
      "description": "Danish Tax Agency — restricted partner API and MitID-gated access for tax data and filings.",
      "long_description": "Skattestyrelsen provides restricted API access for certified accounting and ERP software providers. Includes e-Income (eIndkomst), VAT (moms), and annual tax filing integrations. Direct citizen access requires MitID authentication. No general public API exists — all access is gated behind certification or MitID.",
      "website_url": "https://skat.dk",
      "category": "api",
      "sector": "government",
      "access_type": "restricted",
      "auth_requirement": "mitid",
      "agent_capability": [
        "read",
        "submit"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Automated VAT filing for businesses (partner API)",
        "Tax return data ingestion for accounting software",
        "eIncome data access for payroll systems",
        "Supervised citizen tax return review with MitID"
      ],
      "notes": "Partner API requires formal certification from SKAT. MitID is mandatory for citizen flows. No public or trial access available. Legal restrictions apply to all uses.",
      "docs_url": "https://erhverv.skat.dk/data.aspx?oid=2234102",
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "tax",
        "vat-moms",
        "compliance",
        "mitid-hitl",
        "write-actions"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "skat",
        "moms",
        "compliance",
        "mitid-hitl",
        "skrivehandlinger"
      ],
      "system_slug": "skat",
      "protocol": "api",
      "url": "https://agentaccess.dk/skattestyrelsen",
      "url_da": "https://agentaccess.dk/da/skattestyrelsen"
    },
    {
      "slug": "statistikbanken",
      "name": "Statistikbanken — Statistics Denmark",
      "description": "Statistics Denmark public API with 2,000+ datasets covering economy, population, labor market, energy, and more.",
      "long_description": "Danmarks Statistik provides a comprehensive REST API to their entire statistical database. Supports metadata queries (table discovery, variable lookup) and data retrieval in JSON, CSV, and SDMX formats. No authentication required. Covers almost all official Danish statistics going back decades.",
      "website_url": "https://www.statistikbanken.dk",
      "category": "api",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Fetch population data by municipality for demographic analysis",
        "Pull labor market statistics into economic models",
        "Monitor energy consumption trends over time",
        "Retrieve housing price indices for property analysis",
        "Build automated statistical reports from official data",
        "Discover available datasets and their variables programmatically"
      ],
      "notes": "Fully public — no auth required. Extremely well-documented. Supports bulk export. Some tables have embargo periods before data is released.",
      "docs_url": "https://www.dst.dk/da/Statistik/brug-statistikken/muligheder-i-statistikbanken/api",
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "statistics",
        "macroeconomics",
        "open-data",
        "read-only",
        "batch-export"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "statistik",
        "makrooekonomi",
        "aabne-data",
        "skrivebeskyttet",
        "masseeksport"
      ],
      "system_slug": "danmarks-statistik",
      "protocol": "api",
      "url": "https://agentaccess.dk/statistikbanken",
      "url_da": "https://agentaccess.dk/da/statistikbanken"
    },
    {
      "slug": "sundhed-dk",
      "name": "Sundhed.dk",
      "description": "Denmark's national health portal — MitID-gated, no public API.",
      "long_description": "Sundhed.dk is the national health portal for Danish citizens, providing access to medical records, prescriptions, vaccination history, and general practitioner (GP) communications. All access requires MitID. No public API exists for citizens or developers. Healthcare professionals access data via authorized EHR integrations.",
      "website_url": "https://www.sundhed.dk",
      "category": "browser",
      "sector": "health",
      "access_type": "restricted",
      "auth_requirement": "mitid",
      "agent_capability": [
        "read"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Supervised read of own medical records (MitID required)",
        "Monitoring prescription refill status (supervised)"
      ],
      "notes": "MitID required for all access. Highly sensitive health data — strict GDPR requirements. No automation without human supervision. No unofficial access path.",
      "docs_url": null,
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "healthcare",
        "patient-records",
        "mitid-hitl",
        "gdpr-sensitive"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "sundhed",
        "patientjournaler",
        "mitid-hitl",
        "gdpr-personfoelsom"
      ],
      "system_slug": "sundhed-dk",
      "protocol": "browser",
      "url": "https://agentaccess.dk/sundhed-dk",
      "url_da": "https://agentaccess.dk/da/sundhed-dk"
    },
    {
      "slug": "supwiz",
      "name": "Supwiz Conversational AI",
      "description": "Danish enterprise conversational AI and automated customer service routing engine optimized for Nordic languages.",
      "long_description": "Supwiz is an award-winning Danish AI software vendor founded by world-championship machine learning researchers. Supwiz provides enterprise conversational AI, omnichannel chatbots, ticket classification, and automated routing specifically fine-tuned for Danish and Scandinavian public and private sector communication.",
      "website_url": "https://supwiz.com",
      "category": "api",
      "sector": "other",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "write",
        "search"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Automate Danish customer service inquiries across web chat, email, and ticketing systems",
        "Classify and route incoming citizen service requests based on semantic intent",
        "Integrate Danish omnichannel conversational agents into enterprise CRM solutions"
      ],
      "notes": "Commercial enterprise SaaS. Provides REST APIs, webhook integrations, and pre-built connectors for Zendesk, Salesforce, and ServiceNow.",
      "docs_url": "https://supwiz.com/platform",
      "github_url": null,
      "added": "2026-09-11",
      "tags": [
        "danish-ai",
        "ai-providers",
        "nlp",
        "enterprise-ai",
        "conversational-ai"
      ],
      "description_da": "Dansk enterprise samtale-AI og automatiseret kundeservicemotor optimeret til nordiske sprog.",
      "long_description_da": "Supwiz er en prisvindende dansk AI-virksomhed grundlagt af førende forskere i maskinlæring. Supwiz leverer samtale-AI, omnichannel chatbots, sagsbehandlingsautomatisering og routing finjusteret til dansk og skandinavisk sprogforståelse i offentlige og private virksomheder.",
      "use_cases_da": [
        "Automatiser dansk kundeservicehenvendelser på tværs af chat, e-mail og sagssystemer",
        "Klassificer og videresend borgerhenvendelser baseret på semantisk hensigt",
        "Integrer danske samtale-agenter i enterprise CRM- og sagsløsninger"
      ],
      "notes_da": "Kommerciel enterprise SaaS. Leverer REST API’er, webhooks og standardintegrationer til Zendesk, Salesforce og ServiceNow.",
      "tags_da": [
        "dansk-ai",
        "ai-udbydere",
        "nlp",
        "enterprise-ai",
        "samtale-ai"
      ],
      "system_slug": "supwiz",
      "protocol": "api",
      "url": "https://agentaccess.dk/supwiz",
      "url_da": "https://agentaccess.dk/da/supwiz"
    },
    {
      "slug": "trafikinfo",
      "name": "Trafikinfo — Vejdirektoratet",
      "description": "The Danish Road Directorate API for real-time traffic data, road conditions, and incidents.",
      "long_description": "Vejdirektoratet (Danish Road Directorate) provides open REST APIs for real-time traffic conditions, road works, incidents, traffic cameras, and travel time measurements on Danish state roads. Data is available in both JSON and DATEX II (XML) format. No authentication required for basic traffic data.",
      "website_url": "https://www.trafikinfo.dk",
      "category": "api",
      "sector": "transport",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Real-time traffic monitoring for routing agents",
        "Detect road incidents and calculate delays",
        "Monitor road works for logistics planning",
        "Ingest traffic camera images for analysis"
      ],
      "notes": "API key required — free registration. DATEX II format for full data. REST/JSON available for common use cases.",
      "docs_url": "https://trafikinfo.vejdirektoratet.dk/API",
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "transport",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "trafikinfo",
      "protocol": "api",
      "url": "https://agentaccess.dk/trafikinfo",
      "url_da": "https://agentaccess.dk/da/trafikinfo"
    },
    {
      "slug": "uni-login",
      "name": "UNI-Login",
      "description": "Danish education sector identity provider — official API for institutional integration, not for agent automation.",
      "long_description": "UNI-Login is the identity provider for the Danish education sector, used by schools, students, and teachers. An official API exists for institutional integrations (Single Sign-On), but it requires a formal agreement with Styrelsen for IT og Læring (STIL). There is no path for individual developers or agents to use UNI-Login for automation.",
      "website_url": "https://www.uni-login.dk",
      "category": "api",
      "sector": "education",
      "access_type": "restricted",
      "auth_requirement": "restricted",
      "agent_capability": [
        "authenticate"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "SSO integration for educational software (institutional)",
        "Supervised login flows for educational platforms"
      ],
      "notes": "Institutional integration only. Requires a formal agreement with STIL. Not accessible for individual developers or automation without an agreement.",
      "docs_url": "https://www.emu.dk/omraade/vejledning-og-kompetenceudvikling-for-skoleledere/uni-login",
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "authenticate"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "uni-login",
      "protocol": "api",
      "url": "https://agentaccess.dk/uni-login",
      "url_da": "https://agentaccess.dk/da/uni-login"
    },
    {
      "slug": "udbud-dk-mcp",
      "name": "Udbud.dk MCP",
      "description": "MCP server providing keyless agent access to Danish public procurement notices and tender awards on udbud.dk.",
      "long_description": "Udbud.dk is Denmark's official national public procurement portal, operated by the Danish Competition and Consumer Authority (Konkurrence- og Forbrugerstyrelsen). This open-source MCP server wraps udbud.dk's public endpoints, enabling AI agents to search EU-level and national below-threshold tenders, contract awards, direct awards, and market consultation notices without API keys.",
      "website_url": "https://udbud.dk",
      "category": "mcp",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": false,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Search Danish public tenders and contract notices by free-text keywords or CPV category codes",
        "Filter government procurement notices by contracting authority CVR number or notice type",
        "Retrieve full tender notices, contract awards, direct awards, and submission deadlines",
        "List recently published Danish national and EU-threshold public procurement opportunities"
      ],
      "notes": "Keyless access wrapping udbud.dk's public JSON API. Returns structured English keys with Danish tender details (titles, descriptions, buyer info). Open-source package by Pipeworx.",
      "docs_url": "https://github.com/pipeworx-io/mcp-udbud-dk",
      "github_url": "https://github.com/pipeworx-io/mcp-udbud-dk",
      "added": "2026-08-16",
      "tags": [
        "search"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "udbud-dk",
      "protocol": "mcp",
      "url": "https://agentaccess.dk/udbud-dk-mcp",
      "url_da": "https://agentaccess.dk/da/udbud-dk-mcp"
    },
    {
      "slug": "uniteapps-cvr",
      "name": "UniteApps CVR API",
      "description": "API for Danish CVR searches, financials, ownership, roles, and address screening.",
      "long_description": "UniteApps CVR is a privately operated analysis service from UniteApps and is not an official Danish Business Authority service. It indexes public CVR distribution data, XBRL filings, and Danish address coordinates to expose company profiles, financials, roles, ownership graphs, address searches, screening, and evidence for labour-law identity analysis. Agents access the read-only JSON REST API with a personal Bearer token created after account registration; the same dataset is also available through a separate OAuth-based MCP server.",
      "website_url": "https://cvr.uniteapps.dk",
      "category": "api",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "unknown",
      "official": false,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Search Danish companies and participants by name or CVR number",
        "Retrieve company profiles, management roles, owners, and production units",
        "Compare financial trends and industry benchmarks from filed XBRL accounts",
        "Screen companies by industry, municipality, employee count, date, or geographic radius",
        "Map ownership and shared-identity signals for KYC or labour-law research"
      ],
      "notes": "Free Beta accounts include 300 REST calls per week, resetting Monday at 00:00 UTC, plus 10 premium lookups per calendar month, one token, and up to five allowed origins; Pro access is not yet generally available. The service is unofficial, supplied without accuracy or uptime guarantees, and its general terms restrict large-scale automated access, resale, and commercial exploitation without permission. Person and role data originates in public registers, but users remain responsible for GDPR-compliant purposes, data minimisation, and handling; no MitID flow is documented.",
      "docs_url": "https://cvr.uniteapps.dk/docs/api",
      "github_url": null,
      "added": "2026-08-20",
      "tags": [
        "cvr",
        "companies",
        "search-lookup",
        "api-key-required",
        "read-only"
      ],
      "description_da": "API til danske CVR-opslag med regnskaber, ejerforhold, roller og adressescreening.",
      "long_description_da": "UniteApps CVR er en privatdrevet analysetjeneste fra UniteApps og er ikke en officiel tjeneste fra Erhvervsstyrelsen. Den indekserer offentlige CVR-distributionsdata, XBRL-regnskaber og danske adressekoordinater og udstiller virksomhedsprofiler, regnskaber, roller, ejergrafer, adresseopslag, screening og datagrundlag til vurdering af arbejdsretslig identitet. Agenter tilgår det skrivebeskyttede JSON REST-API med en personlig Bearer-token, som oprettes efter registrering; de samme data findes også via en separat OAuth-baseret MCP-server.",
      "use_cases_da": [
        "Søg efter danske virksomheder og deltagere ud fra navn eller CVR-nummer",
        "Hent virksomhedsprofiler, ledelsesroller, ejere og produktionsenheder",
        "Sammenlign regnskabstendenser og branchebenchmarks fra indberettede XBRL-regnskaber",
        "Udvælg virksomheder efter branche, kommune, medarbejderantal, dato eller geografisk radius",
        "Kortlæg ejerforhold og fælles identitetssignaler til KYC eller arbejdsretslig research"
      ],
      "notes_da": "Gratis Beta-konti omfatter 300 REST-kald om ugen med nulstilling mandag kl. 00.00 UTC samt 10 premium-opslag pr. kalendermåned, én token og op til fem tilladte origins; Pro-adgang er endnu ikke generelt tilgængelig. Tjenesten er uofficiel, leveres uden garanti for nøjagtighed eller oppetid, og de generelle betingelser begrænser omfattende automatiseret adgang, videresalg og kommerciel udnyttelse uden tilladelse. Person- og rolledata stammer fra offentlige registre, men brugeren er fortsat ansvarlig for GDPR-kompatible formål, dataminimering og behandling; der er ikke dokumenteret noget MitID-flow.",
      "tags_da": [
        "cvr",
        "virksomheder",
        "soegning",
        "api-noegle-paakraevet",
        "skrivebeskyttet"
      ],
      "system_slug": "cvr",
      "protocol": "api",
      "url": "https://agentaccess.dk/uniteapps-cvr",
      "url_da": "https://agentaccess.dk/da/uniteapps-cvr"
    },
    {
      "slug": "uniteapps-cvr-mcp",
      "name": "UniteApps CVR MCP",
      "description": "Search and analyse Danish companies, financials, ownership networks, and identity links through MCP.",
      "long_description": "UniteApps operates this third-party analysis service for data from Denmark's Central Business Register. It continuously synchronizes company, participant, production-unit and filing data from the Danish Business Authority's distribution channel, while locally normalizing XBRL accounts for financial comparisons. Its account-authenticated remote MCP server exposes eight read and search tools for company profiles, screening, financial analysis, ownership graphs and identity research.",
      "website_url": "https://cvr.uniteapps.dk",
      "category": "mcp",
      "sector": "finance",
      "access_type": "direct",
      "auth_requirement": "login",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "unknown",
      "official": false,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Resolve a Danish company or participant from a fuzzy name or CVR query",
        "Retrieve company profiles with management, owners and production units",
        "Compare financial ratios and growth trends against industry benchmarks",
        "Map ownership networks and related entities up to four levels",
        "Compare companies for shared people, addresses, mergers and ownership paths"
      ],
      "notes": "A UniteApps account is required; the remote MCP server uses OAuth with the same Supabase-backed account and does not involve MitID. The published Free Beta includes MCP access, 300 REST API calls per week and 10 premium lookups per calendar month, but no separate MCP call ceiling is stated. The service is provided without warranty, and its terms prohibit large-scale automated access, resale and unauthorized commercial exploitation. CVR participant and ownership records may contain personal data, so agents should apply GDPR-compatible purpose limitation and human review to KYC, legal and employment-law conclusions.",
      "docs_url": "https://cvr.uniteapps.dk/docs/mcp",
      "github_url": null,
      "added": "2026-08-20",
      "tags": [
        "cvr",
        "mcp-server",
        "companies",
        "search-lookup",
        "llm-tool"
      ],
      "description_da": "Søg og analysér danske virksomheder, regnskaber, ejernetværk og identitetsrelationer via MCP.",
      "long_description_da": "UniteApps driver denne tredjepartstjeneste til analyse af data fra Det Centrale Virksomhedsregister. Tjenesten synkroniserer løbende oplysninger om virksomheder, deltagere, produktionsenheder og regnskaber fra Erhvervsstyrelsens distributionskanal og normaliserer XBRL-regnskaber lokalt til økonomiske sammenligninger. Den kontogodkendte MCP-server udstiller otte læse- og søgeværktøjer til virksomhedsprofiler, screening, regnskabsanalyse, ejergrafer og identitetsundersøgelser.",
      "use_cases_da": [
        "Find en dansk virksomhed eller deltager ud fra et upræcist navn eller en CVR-søgning",
        "Hent virksomhedsprofiler med ledelse, ejere og produktionsenheder",
        "Sammenlign nøgletal og væksttendenser med branchebenchmarks",
        "Kortlæg ejernetværk og relaterede enheder i op til fire led",
        "Sammenlign virksomheder ud fra fælles personer, adresser, fusioner og ejerskabsstier"
      ],
      "notes_da": "Der kræves en UniteApps-konto; den eksterne MCP-server bruger OAuth med den samme Supabase-baserede konto og involverer ikke MitID. Den offentliggjorte Gratis Beta omfatter MCP-adgang, 300 REST-API-kald om ugen og 10 premium-opslag pr. kalendermåned, men der er ikke angivet et særskilt loft for MCP-kald. Tjenesten leveres uden garanti, og vilkårene forbyder automatiseret adgang i stort omfang, videresalg og uautoriseret kommerciel udnyttelse. CVR-oplysninger om deltagere og ejere kan indeholde personoplysninger, så agenter bør følge GDPR's principper om formålsbegrænsning og sikre menneskelig kontrol af KYC-, juridiske og arbejdsretlige konklusioner.",
      "tags_da": [
        "cvr",
        "mcp-server",
        "virksomheder",
        "soegning",
        "llm-vaerktoej"
      ],
      "system_slug": "cvr",
      "protocol": "mcp",
      "url": "https://agentaccess.dk/uniteapps-cvr-mcp",
      "url_da": "https://agentaccess.dk/da/uniteapps-cvr-mcp"
    },
    {
      "slug": "vipps-mobilepay",
      "name": "Vipps MobilePay Developer",
      "description": "REST API family for mobile payments, recurring subscriptions, point-of-sale, and user login.",
      "long_description": "Vipps MobilePay is the ubiquitous Nordic mobile wallet solution. The developer platform provides APIs for e-commerce checkout (Payments), automated subscription charges (Recurring), in-app merchant flows, and verified identity login (Login).",
      "website_url": "https://developer.vippsmobilepay.com",
      "category": "api",
      "sector": "finance",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "order",
        "submit",
        "authenticate"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Initiate 1-click MobilePay payments in online checkout flows",
        "Manage recurring consumer subscription agreements and monthly automatic bill captures",
        "Authenticate Danish consumer identity and retrieve verified shipping addresses"
      ],
      "notes": "Requires a Vipps MobilePay merchant agreement and API keys. Comprehensive sandbox available.",
      "docs_url": "https://developer.vippsmobilepay.com",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "payments",
        "mobile-pay",
        "finance",
        "api-key-required",
        "write-actions"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "betalinger",
        "mobilbetaling",
        "finans",
        "api-noegle-paakraevet",
        "skrivehandlinger"
      ],
      "system_slug": "mobilepay",
      "protocol": "api",
      "url": "https://agentaccess.dk/vipps-mobilepay",
      "url_da": "https://agentaccess.dk/da/vipps-mobilepay"
    },
    {
      "slug": "mobilepay",
      "name": "Vipps MobilePay Developer",
      "description": "Developer APIs for MobilePay ePayment checkout, recurring subscription billing, and OpenID Connect login.",
      "long_description": "Vipps MobilePay provides payment and identity infrastructure across Denmark and the Nordics. Its unified developer platform offers REST APIs for one-off ePayment transactions, recurring subscription billing (MobilePay Subscriptions), point-of-sale integrations, and OpenID Connect-based end-user authentication (Login). A test environment with simulated app flows is available for sandbox integration.",
      "website_url": "https://mobilepay.dk",
      "category": "api",
      "sector": "finance",
      "access_type": "restricted",
      "auth_requirement": "restricted",
      "agent_capability": [
        "read",
        "write",
        "submit",
        "authenticate"
      ],
      "reliability": "stable",
      "official": true,
      "featured": true,
      "status": "active",
      "use_cases": [
        "Initiate ePayment checkouts with app redirect and push authorization",
        "Create and manage recurring payment agreements for subscription services",
        "Authenticate users and fetch verified profile data via MobilePay Login",
        "Query real-time payment capture, refund, and settlement status",
        "Trigger webhooks for payment state transitions and dispute handling"
      ],
      "notes": "Requires a Vipps MobilePay merchant or partner agreement. Authentication requires OAuth 2.0 bearer tokens and API subscription keys. Full sandbox testing suite provided in developer portal.",
      "docs_url": "https://developer.mobilepay.dk",
      "github_url": null,
      "added": "2026-08-14",
      "tags": [
        "payments",
        "mobile-pay",
        "finance",
        "api-key-required",
        "write-actions"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "betalinger",
        "mobilbetaling",
        "finans",
        "api-noegle-paakraevet",
        "skrivehandlinger"
      ],
      "system_slug": "mobilepay",
      "protocol": "api",
      "url": "https://agentaccess.dk/mobilepay",
      "url_da": "https://agentaccess.dk/da/mobilepay"
    },
    {
      "slug": "virk-dk",
      "name": "Virk.dk — Government Business Portal",
      "description": "The Danish government's business portal with APIs for CVR data, annual reports, and company filings.",
      "long_description": "Virk.dk is the Danish government's central portal for business-related digital services. Provides machine-readable access to the CVR registry, annual report filings (årsrapporter via XBRL/iXBRL), and company search. Some datasets require a formal agreement with Erhvervsstyrelsen. Also supports submission of certain filings via API for certified software providers.",
      "website_url": "https://virk.dk",
      "category": "api",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "submit"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Parse annual reports (XBRL) for financial analysis",
        "Monitor company filing status and deadlines",
        "Submit filings programmatically (requires certification)",
        "Track company registration and deregistration events"
      ],
      "notes": "Multiple API tiers. Basic CVR data is free. Annual report data and submission APIs require an agreement with Erhvervsstyrelsen.",
      "docs_url": "https://data.virk.dk",
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "government",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "virk-dk",
      "protocol": "api",
      "url": "https://agentaccess.dk/virk-dk",
      "url_da": "https://agentaccess.dk/da/virk-dk"
    },
    {
      "slug": "dinero-api",
      "name": "Visma Dinero API",
      "description": "REST API for Danish SME cloud accounting, invoicing, contacts, and purchase voucher bookkeeping.",
      "long_description": "Dinero (part of Visma) is one of Denmark’s most popular accounting platforms for startups and small businesses. Its REST API allows external systems to create sales invoices, log purchase expenses, manage contacts, and sync bank transactions.",
      "website_url": "https://dinero.dk",
      "category": "api",
      "sector": "finance",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "write",
        "submit"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Generate, finalize, and email professional PDF invoices with Danish VAT calculations",
        "Upload purchase receipts and automatically book expense vouchers to the chart of accounts",
        "Synchronize customer and vendor records between CRM platforms and Dinero"
      ],
      "notes": "Requires Dinero Pro subscription and an API key generated from the Dinero account settings.",
      "docs_url": "https://developer.dinero.dk",
      "github_url": null,
      "added": "2026-08-13",
      "tags": [
        "accounting-erp",
        "e-invoicing",
        "vat-moms",
        "api-key-required",
        "write-actions"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "regnskab-erp",
        "e-fakturering",
        "moms",
        "api-noegle-paakraevet",
        "skrivehandlinger"
      ],
      "system_slug": "dinero",
      "protocol": "api",
      "url": "https://agentaccess.dk/dinero-api",
      "url_da": "https://agentaccess.dk/da/dinero-api"
    },
    {
      "slug": "e-conomic",
      "name": "Visma e-conomic APIs",
      "description": "REST and SOAP accounting APIs for Danish small and medium enterprises.",
      "long_description": "Visma e-conomic is Denmark’s leading cloud accounting software. Its REST API enables complete synchronization of invoices, bookkeeping vouchers, customer ledgers, inventory, and VAT reporting.",
      "website_url": "https://www.e-conomic.dk",
      "category": "api",
      "sector": "finance",
      "access_type": "direct",
      "auth_requirement": "api_key",
      "agent_capability": [
        "read",
        "write",
        "submit"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Create and book customer invoices, credit notes, and automated payment reminders",
        "Post accounting journal entries with attached PDF receipt voucher documentation",
        "Query debtor and creditor balances for automated financial auditing workflows"
      ],
      "notes": "Requires an active e-conomic subscription and App Secret / Agreement Grant token authentication. Rate limit: 20 req/sec standard.",
      "docs_url": "https://apis.e-conomic.com",
      "github_url": null,
      "added": "2026-08-14",
      "tags": [
        "finance",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "e-conomic",
      "protocol": "api",
      "url": "https://agentaccess.dk/e-conomic",
      "url_da": "https://agentaccess.dk/da/e-conomic"
    },
    {
      "slug": "eboks",
      "name": "eBoks",
      "description": "Denmark's official digital mailbox — business API available, citizen access requires MitID.",
      "long_description": "eBoks is Denmark's official digital mailbox system (Digital Post), used by all Danish authorities and most Danish citizens. Businesses can integrate via a formal API agreement to send and receive official documents. Citizen access to their own mailbox requires MitID authentication. No unofficial API exists.",
      "website_url": "https://www.e-boks.com",
      "category": "api",
      "sector": "government",
      "access_type": "restricted",
      "auth_requirement": "mitid",
      "agent_capability": [
        "read",
        "write"
      ],
      "reliability": "stable",
      "official": true,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Automated ingestion of official government letters (business API)",
        "Sending documents to citizens via Digital Post (business)",
        "Supervised monitoring of citizen mailbox with MitID"
      ],
      "notes": "Business sender API requires a commercial agreement with eBoks. Citizen read access requires MitID. Highly regulated — handle all content with care.",
      "docs_url": "https://www.e-boks.com/denmark/da/om-e-boks/api-integration/",
      "github_url": null,
      "added": "2026-04-13",
      "tags": [
        "government",
        "danish-data"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "eboks",
      "protocol": "api",
      "url": "https://agentaccess.dk/eboks",
      "url_da": "https://agentaccess.dk/da/eboks"
    },
    {
      "slug": "mcp-energi-data-dk",
      "name": "mcp-energi-data-dk",
      "description": "Open MCP server providing AI agents with direct access to Danish electricity spot prices, CO₂ intensity, and energy datasets.",
      "long_description": "mcp-energi-data-dk is an open-source Model Context Protocol (MCP) server created by Pipeworx. It connects AI agents directly to Energinet's Energi Data Service, providing tools for querying hourly electricity spot prices (Elspotprices), real-time CO₂ emission intensity (CO2Emis), and custom dataset queries over DK1 and DK2 price areas. Accessible via a hosted streamable HTTP gateway or local stdio.",
      "website_url": "https://www.energidataservice.dk",
      "category": "mcp",
      "sector": "utility",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": false,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Fetch current and next-day hourly Nord Pool spot electricity prices for DK1 (West) and DK2 (East)",
        "Monitor real-time and 5-minute grid CO₂ emissions intensity",
        "Automate smart energy consumption scheduling for heat pumps, EV charging, and compute workloads",
        "Query historical production mix across wind, solar, and thermal generation"
      ],
      "notes": "Community MCP server maintained by Pipeworx, backed by official Energinet data. Keyless access available via remote endpoint (https://gateway.pipeworx.io/energi-data-dk/mcp) or locally via npx.",
      "docs_url": "https://github.com/pipeworx-io/mcp-energi-data-dk",
      "github_url": "https://github.com/pipeworx-io/mcp-energi-data-dk",
      "added": "2026-08-16",
      "tags": [
        "energy",
        "mcp-server",
        "real-time",
        "open-data",
        "llm-tool"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": [
        "energi",
        "mcp-server",
        "realtid",
        "aabne-data",
        "llm-vaerktoej"
      ],
      "system_slug": "energinet",
      "protocol": "mcp",
      "url": "https://agentaccess.dk/mcp-energi-data-dk",
      "url_da": "https://agentaccess.dk/da/mcp-energi-data-dk"
    },
    {
      "slug": "mcp-udbud-dk",
      "name": "mcp-udbud-dk",
      "description": "Open MCP server for searching and retrieving Danish public procurement tenders and tender notices from Udbud.dk.",
      "long_description": "mcp-udbud-dk is an open-source Model Context Protocol (MCP) server developed by Pipeworx that allows AI agents to directly query official Danish public procurement notices (Udbud.dk). Exposing structured MCP tools (search_tenders, get_recent_notices, get_notice_details), it provides keyless access to tender deadlines, procurement values, CPV categories, and contracting authority details over a hosted streamable HTTP endpoint or local stdio.",
      "website_url": "https://udbud.dk",
      "category": "mcp",
      "sector": "government",
      "access_type": "direct",
      "auth_requirement": "public",
      "agent_capability": [
        "read",
        "search"
      ],
      "reliability": "stable",
      "official": false,
      "featured": false,
      "status": "active",
      "use_cases": [
        "Search active Danish public procurement tenders by keyword, industry, and CPV code",
        "Fetch structured details, submission deadlines, and buyer requirements for specific tender notices",
        "Monitor new public contract opportunities across municipalities, regions, and state agencies",
        "Automate tender matching and bid-opportunity alerts for B2G sales pipelines"
      ],
      "notes": "Community MCP server maintained by Pipeworx, not run by Udbud.dk or Konkurrence- og Forbrugerstyrelsen. Free and keyless access available over remote gateway (https://gateway.pipeworx.io/udbud-dk/mcp) or via local npx execution.",
      "docs_url": "https://github.com/pipeworx-io/mcp-udbud-dk",
      "github_url": "https://github.com/pipeworx-io/mcp-udbud-dk",
      "added": "2026-08-16",
      "tags": [
        "search"
      ],
      "description_da": null,
      "long_description_da": null,
      "use_cases_da": null,
      "notes_da": null,
      "tags_da": null,
      "system_slug": "mcp-udbud-dk",
      "protocol": "mcp",
      "url": "https://agentaccess.dk/mcp-udbud-dk",
      "url_da": "https://agentaccess.dk/da/mcp-udbud-dk"
    }
  ],
  "enablers": [
    {
      "slug": "printingpress",
      "name": "PrintingPress",
      "tagline": "Instant MCP & CLI generator from OpenAPI, Swagger & APIs",
      "description": "PrintingPress converts OpenAPI and Swagger specifications into fully-typed Model Context Protocol (MCP) servers and CLI tools in seconds.",
      "long_description": "PrintingPress is a developer acceleration platform that turns API definitions into interactive agent interfaces. Point PrintingPress at any OpenAPI / Swagger endpoint, paste a cURL command, or upload a JSON schema to instantly generate ready-to-run MCP servers for Claude Desktop, Cursor, and custom agent runtimes, as well as terminal CLIs.",
      "category": "mcp-builders",
      "pricing_model": "Freemium",
      "website_url": "https://printingpress.dev",
      "docs_url": "https://printingpress.dev/docs",
      "badge": "MCP & CLI Generator",
      "featured": true,
      "features": [
        "One-click OpenAPI / Swagger to MCP server compilation",
        "Generates native TypeScript & Python MCP servers",
        "Automated CLI binary generation for terminal agents",
        "Built-in parameter validation via Zod schemas",
        "Supports authenticated endpoints with env variable mapping"
      ],
      "tags": [
        "mcp-generator",
        "cli-generator",
        "openapi",
        "swagger",
        "typescript",
        "python",
        "scaffolding"
      ],
      "compatibleFrameworks": [
        "claude-desktop",
        "cursor",
        "chatgpt",
        "vercel-ai-sdk",
        "langchain",
        "cline"
      ],
      "danishRecipes": [
        {
          "title": "Generate an MCP Server for Datafordeleren & DAWA",
          "description": "Feed the Danish Address Web Architecture (DAWA) OpenAPI spec into PrintingPress to generate a complete MCP server allowing Claude or Cursor to query Danish addresses, parishes, and cadastral maps.",
          "targetDanishSystem": "DAWA Address API",
          "targetSlug": "dawa",
          "commandOrSnippet": "npx printingpress generate --url https://api.dataforsyningen.dk/rest/gsearch/v1.0/openapi.json --output ./dawa-mcp"
        },
        {
          "title": "Scaffold CVR.dev Search CLI",
          "description": "Transform CVR.dev documentation into a standalone terminal CLI tool that autonomous agents can invoke via bash to look up Danish VAT (CVR) registrations and company accounting books.",
          "targetDanishSystem": "CVR.dev Company API",
          "targetSlug": "cvr-dev",
          "commandOrSnippet": "npx printingpress generate --type cli --schema ./cvr-spec.yaml --name cvr-cli"
        }
      ],
      "quickstart": {
        "language": "bash",
        "filename": "Terminal",
        "code": "# Install and run PrintingPress generator\nnpx -y printingpress generate --url https://api.example.dk/v1/openapi.json --target mcp-typescript\n\n# Run your generated MCP server locally\ncd ./generated-mcp && npm start"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/printingpress",
      "url_da": "https://agentaccess.dk/da/enablers/printingpress"
    },
    {
      "slug": "fastmcp",
      "name": "FastMCP",
      "tagline": "High-level Python & TypeScript framework for building MCP servers",
      "description": "FastMCP provides clean decorators and microframework patterns to write production-ready MCP tools in under 10 lines of code.",
      "long_description": "FastMCP by Prefect/Jonathan Lowin is the FastAPI of the Model Context Protocol ecosystem. It abstracts away protocol handshakes, transport framing, and schema definitions. Decorate any Python function with `@mcp.tool()` and FastMCP automatically inspects type annotations and docstrings to generate complete JSON Schema tool definitions for LLMs.",
      "category": "mcp-builders",
      "pricing_model": "Open Source",
      "website_url": "https://github.com/jlowin/fastmcp",
      "github_url": "https://github.com/jlowin/fastmcp",
      "docs_url": "https://github.com/jlowin/fastmcp#readme",
      "badge": "Python/TS MCP SDK",
      "featured": true,
      "features": [
        "Simple @mcp.tool() decorator syntax",
        "Automatic JSON Schema generation from Python type hints",
        "Built-in stdio, SSE, and HTTP streaming transports",
        "Supports image, audio, and binary prompt artifacts",
        "Native async support with httpx integration"
      ],
      "tags": [
        "mcp",
        "python",
        "sdk",
        "fastapi",
        "microframework",
        "typescript"
      ],
      "compatibleFrameworks": [
        "claude-desktop",
        "cursor",
        "chatgpt",
        "langchain",
        "crewai",
        "autogen",
        "grok-bot",
        "meta-ai"
      ],
      "danishRecipes": [
        {
          "title": "Build a 10-line DMI Weather MCP Server",
          "description": "Connect to the Danish Meteorological Institute (DMI) Open Data API to provide Claude with live radar, precipitation, and sea level data across Denmark.",
          "targetDanishSystem": "DMI Open Data",
          "targetSlug": "dmi-open-data",
          "commandOrSnippet": "from fastmcp import FastMCP\nimport httpx\n\nmcp = FastMCP(\"DMI Weather Denmark\")\n\n@mcp.tool()\nasync def get_copenhagen_temp() -> float:\n    \"\"\"Fetch current temperature in Copenhagen from DMI.\"\"\"\n    async with httpx.AsyncClient() as client:\n        r = await client.get(\"https://dmigw.govcloud.dk/v2/metObs/data/...\")\n        return r.json()[\"temp\"]"
        }
      ],
      "quickstart": {
        "language": "python",
        "filename": "server.py",
        "code": "from fastmcp import FastMCP\n\nmcp = FastMCP(\"My Danish Agent Tools\")\n\n@mcp.tool()\ndef search_cvr(cvr_number: str) -> str:\n    \"\"\"Look up a Danish company by its 8-digit CVR number.\"\"\"\n    return f\"Company info for CVR {cvr_number}\"\n\nif __name__ == \"__main__\":\n    mcp.run()"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/fastmcp",
      "url_da": "https://agentaccess.dk/da/enablers/fastmcp"
    },
    {
      "slug": "firecrawl",
      "name": "Firecrawl",
      "tagline": "Turn entire websites and portals into clean, LLM-ready Markdown",
      "description": "Firecrawl crawls, handles JavaScript rendering, bypasses anti-bot barriers, and outputs clean Markdown structured for AI agent ingestion.",
      "long_description": "Firecrawl (by Mendable) solves the messy reality of the web for AI agents. It handles headless browser rendering, proxy rotation, cookie banners, dynamic SPAs, and PDF downloads, returning pristine Markdown tailored for RAG pipelines and context windows.",
      "category": "web-scraping",
      "pricing_model": "Freemium",
      "website_url": "https://firecrawl.dev",
      "github_url": "https://github.com/mendableai/firecrawl",
      "docs_url": "https://docs.firecrawl.dev",
      "badge": "Web to Markdown",
      "featured": true,
      "features": [
        "Crawls entire domains with intelligent link discovery",
        "Transforms complex HTML tables and layouts into clean Markdown",
        "Built-in structured JSON extraction via LLM schemas",
        "Bypasses Cloudflare, cookie banners, and dynamic JS hydration",
        "Official Python and TypeScript SDKs"
      ],
      "tags": [
        "scraping",
        "markdown",
        "rag",
        "extraction",
        "crawler",
        "llm-ready"
      ],
      "compatibleFrameworks": [
        "vercel-ai-sdk",
        "langchain",
        "llamaindex",
        "crewai",
        "autogen",
        "openclaw",
        "grok-bot",
        "meta-ai"
      ],
      "danishRecipes": [
        {
          "title": "Extract Borger.dk Welfare & Pension Guides into Vector RAG",
          "description": "Crawl the official citizen portal Borger.dk to convert public administrative guidelines into clean Markdown for a Danish citizen advisory agent.",
          "targetDanishSystem": "Borger.dk Citizen Portal",
          "commandOrSnippet": "from firecrawl import FirecrawlApp\napp = FirecrawlApp(api_key=\"fc-xxx\")\ncontent = app.scrape_url(\"https://www.borger.dk/pension-og-efterloen\", params={\"formats\": [\"markdown\"]})"
        },
        {
          "title": "Extract Danish E-Commerce Prices & Catalogs",
          "description": "Scrape dynamic Danish webshops without APIs to extract structured product specifications, Danish kroner (DKK) pricing, and availability."
        }
      ],
      "quickstart": {
        "language": "typescript",
        "filename": "scrape.ts",
        "code": "import FirecrawlApp from '@mendable/firecrawl-js'\n\nconst app = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY })\n\n// Scrape a Danish public webpage into clean LLM markdown\nconst scrapeResult = await app.scrapeUrl('https://www.borger.dk', {\n  formats: ['markdown'],\n})\n\nconsole.log(scrapeResult.markdown)"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/firecrawl",
      "url_da": "https://agentaccess.dk/da/enablers/firecrawl"
    },
    {
      "slug": "browser-use",
      "name": "Browser-use",
      "tagline": "Autonomous open-source AI agent browser automation engine",
      "description": "Browser-use enables LLMs to interact directly with web browsers — clicking buttons, filling forms, and navigating complex workflows like a human.",
      "long_description": "Browser-use is the premier open-source autonomous web browsing agent. Powered by Playwright and vision-language models, Browser-use extracts interactive elements with bounding boxes and executes multi-step web interactions autonomously, enabling agents to operate Danish services that have no machine APIs.",
      "category": "browser-automation",
      "pricing_model": "Open Source",
      "website_url": "https://github.com/browser-use/browser-use",
      "github_url": "https://github.com/browser-use/browser-use",
      "docs_url": "https://docs.browser-use.com",
      "badge": "Autonomous Web Agent",
      "featured": true,
      "features": [
        "Vision + DOM tree interactive element extraction",
        "Supports persistent browser sessions with saved cookies",
        "Multi-tab management and automated file downloads",
        "Integrates with LangChain, LangGraph, and Claude 3.7 / GPT-4o",
        "Human-in-the-loop takeover mode for MitID or 2FA checkpoints"
      ],
      "tags": [
        "browser-agent",
        "playwright",
        "vision",
        "automation",
        "rpa",
        "open-source"
      ],
      "compatibleFrameworks": [
        "langchain",
        "crewai",
        "autogen",
        "openclaw",
        "python"
      ],
      "danishRecipes": [
        {
          "title": "Automate Boligsiden Property Search & Filtering",
          "description": "Instruct an agent to open Boligsiden, set regional filters (e.g. København K, max 6M DKK), and compile a spreadsheet of newly listed apartments.",
          "targetDanishSystem": "Boligsiden Real Estate",
          "targetSlug": "boligsiden",
          "commandOrSnippet": "from browser_use import Agent\nfrom langchain_openai import ChatOpenAI\n\nagent = Agent(\n    task=\"Go to boligsiden.dk, search for apartments in 2100 København Ø under 5.000.000 DKK, and save the top 3 links.\",\n    llm=ChatOpenAI(model=\"gpt-4o\"),\n)\nawait agent.run()"
        }
      ],
      "quickstart": {
        "language": "python",
        "filename": "agent.py",
        "code": "import asyncio\nfrom browser_use import Agent\nfrom langchain_anthropic import ChatAnthropic\n\nasync def main():\n    agent = Agent(\n        task=\"Go to skat.dk and find the latest tax deduction rates for commuting (befordringsfradrag).\",\n        llm=ChatAnthropic(model_name=\"claude-3-7-sonnet-20250219\"),\n    )\n    result = await agent.run()\n    print(result)\n\nasyncio.run(main())"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/browser-use",
      "url_da": "https://agentaccess.dk/da/enablers/browser-use"
    },
    {
      "slug": "stagehand",
      "name": "Stagehand",
      "tagline": "AI-powered web automation and structured data extraction SDK",
      "description": "Built on Playwright by Browserbase, Stagehand provides high-level `act()`, `extract()`, and `observe()` primitives for resilient web automation.",
      "long_description": "Stagehand is an open-source AI web automation framework built specifically for developers who need robust browser automations that do not break when CSS classes or DOM hierarchies change. Instead of brittle selectors, Stagehand uses natural language intent for actions and Zod schemas for structured extraction.",
      "category": "browser-automation",
      "pricing_model": "Open Source",
      "website_url": "https://stagehand.dev",
      "github_url": "https://github.com/browserbase/stagehand",
      "docs_url": "https://docs.stagehand.dev",
      "badge": "Playwright AI SDK",
      "featured": true,
      "features": [
        "page.act() for natural language UI interactions",
        "page.extract() with strict Zod type validation",
        "page.observe() to suggest possible agent actions on current DOM",
        "Built-in Playwright reliability and caching",
        "Runs locally or connected to cloud browser fleets (Browserbase, Browserless)"
      ],
      "tags": [
        "playwright",
        "browserbase",
        "extraction",
        "typescript",
        "zod",
        "automation"
      ],
      "compatibleFrameworks": [
        "vercel-ai-sdk",
        "langchain",
        "cursor"
      ],
      "danishRecipes": [
        {
          "title": "Extract Real-time Danish Grocery Prices (Nemlig / Bilka)",
          "description": "Use `stagehand.extract()` with a Zod schema to extract organic milk prices, discounts, and delivery slots without brittle CSS selectors.",
          "commandOrSnippet": "const prices = await stagehand.page.extract({\n  instruction: \"Extract all organic milk items with their price in DKK and discount status\",\n  schema: z.object({\n    items: z.array(z.object({ name: z.string(), priceDkk: z.number(), onSale: z.boolean() }))\n  })\n})"
        }
      ],
      "quickstart": {
        "language": "typescript",
        "filename": "stagehand-demo.ts",
        "code": "import { Stagehand } from '@browserbasehq/stagehand'\nimport { z } from 'zod'\n\nconst stagehand = new Stagehand({ env: 'LOCAL' })\nawait stagehand.init()\n\nawait stagehand.page.goto('https://www.dsb.dk')\nawait stagehand.page.act('Click on Rejser and enter København H to Aarhus H')\n\nconst departures = await stagehand.page.extract({\n  instruction: 'Extract the earliest three train departure times and prices',\n  schema: z.object({ departures: z.array(z.string()) })\n})\n\nconsole.log(departures)\nawait stagehand.close()"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/stagehand",
      "url_da": "https://agentaccess.dk/da/enablers/stagehand"
    },
    {
      "slug": "browserless",
      "name": "Browserless",
      "tagline": "Scalable headless Chrome fleet for Playwright and Puppeteer agents",
      "description": "Browserless provides enterprise-grade, cloud or self-hosted headless browser infrastructure designed to run high-concurrency agent workflows.",
      "long_description": "Browserless is the headless browser infrastructure backbone for AI agents. Rather than managing local Chromium processes with memory leaks and CPU spikes, agents connect via WebSocket (`ws://`) to a cluster of headless browsers with built-in proxy rotation, stealth mode, and live visual debugging.",
      "category": "browser-automation",
      "pricing_model": "Freemium",
      "website_url": "https://browserless.io",
      "github_url": "https://github.com/browserless/browserless",
      "docs_url": "https://docs.browserless.io",
      "badge": "Headless Browser Fleet",
      "featured": true,
      "features": [
        "Drop-in WebSocket endpoint for Playwright, Puppeteer, and Selenium",
        "Docker self-hosted edition or managed cloud cluster",
        "Live interactive session debugger via browser stream",
        "Built-in ad-blocking and automated resource blocking to reduce token bandwidth",
        "Stealth flags to navigate enterprise bot mitigations"
      ],
      "tags": [
        "headless-chrome",
        "playwright",
        "puppeteer",
        "infrastructure",
        "docker",
        "cloud"
      ],
      "compatibleFrameworks": [
        "openclaw",
        "langchain",
        "crewai",
        "autogen",
        "vercel-ai-sdk"
      ],
      "danishRecipes": [
        {
          "title": "Run 24/7 Rejseplanen & Transit Monitoring Agents",
          "description": "Offload continuous headless browser scraping of Danish regional bus and train delays to a dedicated Browserless Docker instance."
        }
      ],
      "quickstart": {
        "language": "typescript",
        "filename": "connect.ts",
        "code": "import { chromium } from 'playwright'\n\n// Connect directly to a remote Browserless Chrome cluster\nconst browser = await chromium.connectOverCDP(\n  `wss://chrome.browserless.io?token=${process.env.BROWSERLESS_TOKEN}`\n)\n\nconst page = await browser.newPage()\nawait page.goto('https://www.cvr.dk')\nconsole.log(await page.title())\nawait browser.close()"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/browserless",
      "url_da": "https://agentaccess.dk/da/enablers/browserless"
    },
    {
      "slug": "webmcp",
      "name": "WebMCP",
      "tagline": "W3C proposed standard for exposing structured AI tools directly on the web",
      "tagline_da": "W3C-standardforslag til eksponering af strukturerede AI-værktøjer direkte på websider",
      "description": "WebMCP allows web applications to expose typed JavaScript tools and annotated HTML forms directly to in-browser AI agents, replacing fragile DOM scraping.",
      "description_da": "WebMCP gør det muligt for webapplikationer at eksponere typede JavaScript-funktioner og annoterede HTML-formularer direkte til AI-agenter i browseren.",
      "long_description": "WebMCP is an open web standard under incubation in the W3C Web Machine Learning Working Group and available experimentally from Chrome 146 (and Origin Trials). It enables web applications to declare callable agent tools with explicit JSON schemas directly in client-side code, rather than forcing agents to rely on fragile DOM scraping or simulated mouse clicks. WebMCP supports both a Declarative API (using native HTML form attributes like `toolname` and `toolparam`) and an Imperative API (`document.modelContext` / `navigator.modelContext`). Cloudflare provides a 1-click WebMCP edge bridge that automatically connects in-browser agents to any same-origin `/mcp` server endpoint, and Cloudflare BrowserRun supports native WebMCP tool discovery and actuation. Because tools run inside the active browser session under standard Origin Isolation and Permissions Policy, WebMCP provides a secure, human-in-the-loop mechanism for agent automation on authenticated platforms without leaking session credentials or bypass tokens.",
      "long_description_da": "WebMCP er en åben webstandard udviklet under W3C Web Machine Learning Working Group og tilgængelig eksperimentelt fra Chrome 146 (samt Origin Trials). Standarden gør det muligt for webapplikationer at registrere kaldepare agent-værktøjer med eksplicitte JSON Schemas direkte i klientside-koden, så agenter slipper for at gætte museklik eller scrape rå HTML. WebMCP understøtter både et Deklarativt API (via standard HTML-formularattributter som `toolname` og `toolparam`) og et Imperativt API (`document.modelContext` / `navigator.modelContext`). Cloudflare tilbyder en 1-klik WebMCP edge-bridge, der automatisk forbinder browseragenter til et same-origin `/mcp`-endpoint, og Cloudflare BrowserRun understøtter direkte opdagelse og eksekvering af WebMCP-værktøjer. Da værktøjerne afvikles i den aktive browsersession under standard origin-isolering og Permissions Policy, muliggør WebMCP sikre Human-in-the-Loop arbejdsgange på MitID- og loginbeskyttede selvbetjeningsløsninger uden at udstille brugernavne eller sessionsnøgler.",
      "category": "browser-automation",
      "pricing_model": "Open Source",
      "website_url": "https://developer.chrome.com/docs/ai/webmcp",
      "github_url": "https://github.com/webmachinelearning/webmcp",
      "docs_url": "https://blog.cloudflare.com/webmcp/",
      "badge": "Web Standard",
      "featured": true,
      "features": [
        "Declarative API: Annotate native HTML forms with toolname and parameter bindings",
        "Imperative API: Register JavaScript functions into document.modelContext with typed JSON Schemas",
        "Cloudflare 1-Click Edge Bridge: Connects in-browser agents to same-origin /mcp server with zero code changes",
        "Cloudflare BrowserRun actuation: Remote browsers autonomously discover and invoke site-registered tools",
        "Runs in active browser session with Origin Isolation and Permissions Policy enforcement",
        "Eliminates brittle CSS selector maintenance and vision-based click guessing",
        "Human-in-the-loop friendly for sensitive operations like payments and submissions",
        "Shipping experimentally in Chrome 146+ with Model Context Tool Inspector extension"
      ],
      "features_da": [
        "Deklarativt API: Annotér standard HTML-formularer med toolname og parameterbindinger",
        "Imperativt API: Registrér JavaScript-funktioner direkte i document.modelContext med typede JSON Schemas",
        "Cloudflare 1-klik Edge Bridge: Forbinder browseragenter til same-origin /mcp-server uden kodeændringer",
        "Cloudflare BrowserRun eksekvering: Fjernbrowsere opdager og aktiverer automatisk sidens registrerede værktøjer",
        "Afvikles i aktiv browsersession under origin-isolering og Permissions Policy",
        "Eliminerer skrøbelige CSS-selectors og visuelt gættede museklik",
        "Bygget til Human-in-the-Loop ved følsomme handlinger som betalinger og indsendelser",
        "Tilgængelig eksperimentelt i Chrome 146+ samt Model Context Tool Inspector"
      ],
      "tags": [
        "webmcp",
        "browser-standard",
        "w3c",
        "chrome",
        "cloudflare",
        "browserrun",
        "html-tools",
        "declarative-api",
        "imperative-api",
        "in-browser-agent"
      ],
      "compatibleFrameworks": [
        "gemini",
        "claude-desktop",
        "cursor",
        "vercel-ai-sdk",
        "langchain",
        "grok-bot"
      ],
      "danishRecipes": [
        {
          "title": "Cloudflare WebMCP Edge Bridge with Same-Origin /mcp",
          "description": "Enable Cloudflare WebMCP preview on your Danish platform domain. The edge bridge connects browser agents directly to your /mcp endpoint for instant, zero-maintenance agent access.",
          "targetDanishSystem": "AgentAccess.dk / Cloudflare Edge",
          "targetSlug": "webmcp",
          "commandOrSnippet": "<!-- Injected at the edge by Cloudflare HTMLRewriter -->\n<script type=\"module\"\n        src=\"/.webmcp/bridge.js\"\n        data-packs=\"c2pa,mcp-server-client\"\n        data-mcp-url=\"/mcp\"></script>"
        },
        {
          "title": "Declarative CVR Search on Danish Portals",
          "description": "Add toolname=\"cvr_search\" and toolparam=\"cvr_query\" attributes to native HTML search forms so in-browser agents can execute business lookups without DOM scraping.",
          "targetDanishSystem": "CVR.dk / Virk.dk",
          "targetSlug": "cvr-dev",
          "commandOrSnippet": "<form action=\"/search\" method=\"GET\" toolname=\"cvr_search\" tooldescription=\"Look up Danish registered businesses by CVR number or company name\">\n  <label for=\"cvr\">CVR / Navn</label>\n  <input type=\"text\" id=\"cvr\" name=\"q\" toolparam=\"cvr_query\" toolparamdescription=\"8-digit Danish CVR number or legal company name\" required />\n  <button type=\"submit\">Søg</button>\n</form>"
        },
        {
          "title": "Imperative Tool Registration for MitID-Protected Self-Service",
          "description": "Register an imperative client-side tool with document.modelContext that handles municipal or tax form pre-filling after the user has completed MitID authentication.",
          "targetDanishSystem": "Borger.dk / Skat.dk",
          "commandOrSnippet": "if (document.modelContext) {\n  document.modelContext.registerTool({\n    name: 'prepare_tax_deduction',\n    description: 'Pre-fills Danish commuter deduction (kørselsfradrag) for the authenticated citizen',\n    inputSchema: {\n      type: 'object',\n      properties: {\n        workDays: { type: 'integer', minimum: 1, maximum: 365 },\n        distanceKmPerDay: { type: 'number', minimum: 25 }\n      },\n      required: ['workDays', 'distanceKmPerDay']\n    },\n    execute: async ({ workDays, distanceKmPerDay }) => {\n      // Updates local form state; user inspects and clicks final submit\n      return {\n        content: [{ type: 'text', text: 'Commuter deduction updated successfully' }],\n        isError: false,\n      }\n    }\n  })\n}"
        }
      ],
      "quickstart": {
        "language": "html",
        "filename": "index.html",
        "code": "<!-- 1. Declarative WebMCP: Annotate standard HTML forms -->\n<form action=\"/api/quote\" toolname=\"request_freight_quote\" tooldescription=\"Get freight estimate between Danish postal codes\">\n  <input name=\"fromZip\" toolparam=\"from_postal_code\" placeholder=\"Fra postnr (f.eks. 8000)\" required />\n  <input name=\"toZip\" toolparam=\"to_postal_code\" placeholder=\"Til postnr (f.eks. 1050)\" required />\n  <input name=\"weightKg\" type=\"number\" toolparam=\"weight_kg\" placeholder=\"Vægt i kg\" required />\n  <button type=\"submit\">Beregn fragt</button>\n</form>\n\n<!-- 2. Imperative WebMCP: Register typed tools in JavaScript -->\n<script>\nif (window.modelContext) {\n  window.modelContext.registerTool({\n    name: 'get_live_train_status',\n    description: 'Fetches live train delays and track alterations for Danish stations',\n    inputSchema: {\n      type: 'object',\n      properties: {\n        stationName: { type: 'string', description: 'Station name in Denmark, e.g. Aarhus H' }\n      },\n      required: ['stationName']\n    },\n    execute: async ({ stationName }) => {\n      const res = await fetch(`/api/trains?station=${encodeURIComponent(stationName)}`)\n      return res.json()\n    }\n  })\n}\n</script>"
      },
      "added": "2026-09-03",
      "url": "https://agentaccess.dk/enablers/webmcp",
      "url_da": "https://agentaccess.dk/da/enablers/webmcp"
    },
    {
      "slug": "crawl4ai",
      "name": "Crawl4AI",
      "tagline": "Open-source, blazing fast asynchronous LLM web crawler",
      "description": "Crawl4AI is an open-source, speed-optimized asynchronous web crawler that generates structured Markdown and JSON graphs for AI models.",
      "long_description": "Crawl4AI is engineered specifically for AI engineers who want zero subscription fees and extreme throughput. It runs asynchronous crawls with smart caching, CSS-selector stripping, heuristic content scoring, and multi-URL batching, producing clean LLM markdown with metadata at zero cost.",
      "category": "web-scraping",
      "pricing_model": "Open Source",
      "website_url": "https://github.com/unclecode/crawl4ai",
      "github_url": "https://github.com/unclecode/crawl4ai",
      "docs_url": "https://crawl4ai.com",
      "badge": "Open Source Crawler",
      "featured": false,
      "features": [
        "100% open source and local execution",
        "Asynchronous batch crawling with asyncio",
        "Heuristic content extraction (removes headers, footers, and noise)",
        "Extracts structured JSON using local models (Ollama) or cloud APIs",
        "Screenshots and PDF extraction capabilities"
      ],
      "tags": [
        "crawler",
        "scraping",
        "open-source",
        "python",
        "async",
        "llm-ready"
      ],
      "compatibleFrameworks": [
        "langchain",
        "llamaindex",
        "crewai",
        "autogen",
        "python"
      ],
      "danishRecipes": [
        {
          "title": "Batch Ingest Danish Legal Codes from Retsinformation.dk",
          "description": "Run Crawl4AI across Danish legal statues and minister orders on Retsinformation to generate an open-source vector store of Danish law."
        }
      ],
      "quickstart": {
        "language": "python",
        "filename": "crawler.py",
        "code": "import asyncio\nfrom crawl4ai import AsyncWebCrawler\n\nasync def main():\n    async with AsyncWebCrawler() as crawler:\n        result = await crawler.arun(url=\"https://www.retsinformation.dk\")\n        print(result.markdown[:500])\n\nasyncio.run(main())"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/crawl4ai",
      "url_da": "https://agentaccess.dk/da/enablers/crawl4ai"
    },
    {
      "slug": "e2b",
      "name": "E2B Code Interpreter",
      "tagline": "Secure cloud sandboxes for autonomous AI agent code execution",
      "description": "E2B provides isolated, sub-second cloud sandboxes where AI agents can execute arbitrary Python, JavaScript, and shell code safely.",
      "long_description": "E2B is the default execution runtime for autonomous coding agents. When your agent fetches data from a Danish open API or scraper, E2B gives the agent a complete Linux environment (with preinstalled pandas, matplotlib, httpx, and node) to analyze the data, run statistical regressions, and produce visual reports without risk to the host system.",
      "category": "sandboxes-runtimes",
      "pricing_model": "Freemium",
      "website_url": "https://e2b.dev",
      "github_url": "https://github.com/e2b-dev/E2B",
      "docs_url": "https://e2b.dev/docs",
      "badge": "Cloud Code Sandbox",
      "featured": true,
      "features": [
        "Spins up secure Linux micro-VMs in <150ms",
        "Pre-loaded with data science & automation packages",
        "Streaming stdout, stderr, and generated charts/files",
        "Full filesystem access with persistence during session",
        "Official TypeScript and Python SDKs"
      ],
      "tags": [
        "sandbox",
        "code-interpreter",
        "runtime",
        "microvm",
        "security",
        "execution"
      ],
      "compatibleFrameworks": [
        "vercel-ai-sdk",
        "langchain",
        "crewai",
        "autogen",
        "claude-code"
      ],
      "danishRecipes": [
        {
          "title": "Run Financial Analysis on Danish Company Annual Reports",
          "description": "Allow an agent to fetch Danish XBRL/PDF accounting statements from Erhvervsstyrelsen and compute solvency metrics in a safe Python sandbox."
        }
      ],
      "quickstart": {
        "language": "typescript",
        "filename": "sandbox.ts",
        "code": "import { Sandbox } from '@e2b/code-interpreter'\n\nconst sbx = await Sandbox.create()\nconst execution = await sbx.runCode(`\nimport pandas as pd\ndata = {\"Year\": [2022, 2023, 2024], \"Revenue_DKK_M\": [45.2, 52.8, 61.4]}\ndf = pd.DataFrame(data)\nprint(df.describe())\n`)\n\nconsole.log(execution.text)\nawait sbx.close()"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/e2b",
      "url_da": "https://agentaccess.dk/da/enablers/e2b"
    },
    {
      "slug": "jina-reader",
      "name": "Jina Reader",
      "tagline": "Zero-setup URL-to-Markdown proxy for any web page",
      "description": "Prepend `r.jina.ai/` to any URL to instantly convert the page into clean, LLM-ready markdown with zero authentication or setup.",
      "long_description": "Jina Reader provides the simplest possible interface for AI agents to read the web. By simply prefixing any target URL with `https://r.jina.ai/`, it fetches the page, strips boilerplate scripts and styling, executes JavaScript, and streams pristine Markdown back to your agent.",
      "category": "web-scraping",
      "pricing_model": "Freemium",
      "website_url": "https://jina.ai/reader",
      "docs_url": "https://jina.ai/reader/#api",
      "badge": "Zero-Setup Proxy",
      "featured": false,
      "features": [
        "Zero installation: just prepend https://r.jina.ai/ to any URL",
        "High-speed streaming markdown output",
        "Handles dynamic single-page applications",
        "Built-in image description and search integration (s.jina.ai)",
        "Free tier available without API key requirements"
      ],
      "tags": [
        "markdown-proxy",
        "scraping",
        "simple",
        "fast",
        "api"
      ],
      "compatibleFrameworks": [
        "vercel-ai-sdk",
        "langchain",
        "llamaindex",
        "python"
      ],
      "danishRecipes": [
        {
          "title": "Instant Read of Danish Ministry Press Releases",
          "description": "Fetch real-time policy updates from Regeringen.dk or Finansministeriet by fetching `https://r.jina.ai/https://www.regeringen.dk/...` directly from standard fetch()."
        }
      ],
      "quickstart": {
        "language": "bash",
        "filename": "Terminal",
        "code": "# Fetch clean markdown of any Danish webpage with curl\ncurl https://r.jina.ai/https://www.dst.dk/da/Statistik"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/jina-reader",
      "url_da": "https://agentaccess.dk/da/enablers/jina-reader"
    },
    {
      "slug": "daytona",
      "name": "Daytona",
      "tagline": "Open-source development environment & agent workspace manager",
      "description": "Daytona provides standardized, containerized agent workspaces and development environments across local and cloud infrastructure.",
      "long_description": "Daytona is an open-source development environment manager that gives AI agents dedicated, reproducible workspaces. Agents can spin up isolated development containers pre-configured with Danish tool CLIs, API tokens, and local dependencies in one command.",
      "category": "sandboxes-runtimes",
      "pricing_model": "Open Source",
      "website_url": "https://daytona.io",
      "github_url": "https://github.com/daytonaio/daytona",
      "docs_url": "https://daytona.io/docs",
      "badge": "Agent Workspaces",
      "featured": false,
      "features": [
        "100% open source self-hosted or cloud workspaces",
        "Instant container creation with Git repository integration",
        "Provides secure SSH and VS Code access for agents and developers",
        "Automated secret management for API keys"
      ],
      "tags": [
        "workspaces",
        "dev-environments",
        "containers",
        "docker",
        "open-source"
      ],
      "compatibleFrameworks": [
        "claude-code",
        "cursor",
        "cline",
        "droid"
      ],
      "danishRecipes": [
        {
          "title": "Create an Isolated Environment for Danish API Integration",
          "description": "Provision a Daytona workspace pre-loaded with Danish address APIs, CVR tools, and TypeScript SDKs for an agent to build an integration."
        }
      ],
      "quickstart": {
        "language": "bash",
        "filename": "Terminal",
        "code": "# Install Daytona CLI\ncurl -sf -L https://download.daytona.io/daytona/install.sh | sudo bash\n\n# Create an agent workspace\ndaytona create https://github.com/example/danish-agent-service"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/daytona",
      "url_da": "https://agentaccess.dk/da/enablers/daytona"
    },
    {
      "slug": "har2mcp",
      "name": "Har2MCP",
      "tagline": "Convert browser network captures (HAR) and API traffic into MCP tools",
      "description": "Har2MCP inspects recorded browser network activity (.har files) and automatically reverse-engineers clean Model Context Protocol tools.",
      "long_description": "When Danish digital services, municipal platforms, or private dashboards lack public OpenAPI documentation, Har2MCP allows developers to record browser interactions in Chrome DevTools, export the HAR log, and synthesize fully typed MCP tools with automatic parameter detection.",
      "category": "mcp-builders",
      "pricing_model": "Open Source",
      "website_url": "https://github.com",
      "github_url": "https://github.com",
      "badge": "Traffic to MCP",
      "featured": false,
      "features": [
        "Parse Chrome / Firefox .har files into MCP tool definitions",
        "Automatic query parameter and JSON body schema extraction",
        "Filters out tracking cookies and static asset noise",
        "Generates TypeScript and Python MCP server boilerplate"
      ],
      "tags": [
        "mcp-generator",
        "har",
        "reverse-engineering",
        "devtools",
        "open-source"
      ],
      "compatibleFrameworks": [
        "claude-desktop",
        "cursor",
        "chatgpt",
        "cline"
      ],
      "danishRecipes": [
        {
          "title": "Reverse Engineer Undocumented Danish Municipal Search",
          "description": "Record network requests while searching on a municipal portal, then use Har2MCP to generate an MCP tool callable by Claude Desktop.",
          "commandOrSnippet": "npx har2mcp generate --input ./kommune-search.har --output ./kommune-mcp"
        }
      ],
      "quickstart": {
        "language": "bash",
        "filename": "Terminal",
        "code": "# Convert a saved HAR capture into an MCP server\nnpx har2mcp generate -i ./traffic.har -o ./my-mcp-server"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/har2mcp",
      "url_da": "https://agentaccess.dk/da/enablers/har2mcp"
    },
    {
      "slug": "mcp-cli",
      "name": "MCP CLI & Inspector",
      "tagline": "Official Model Context Protocol terminal runner, inspector & tester",
      "description": "The standard developer CLI and interactive web inspector to test, debug, and execute MCP servers locally and remotely.",
      "long_description": "The Model Context Protocol Inspector / CLI is the essential development tool for verifying MCP servers. Test tool schema execution, inspect incoming/outgoing JSON-RPC messages, and verify prompt and resource templates before connecting to Claude or Cursor.",
      "category": "mcp-builders",
      "pricing_model": "Open Source",
      "website_url": "https://modelcontextprotocol.io",
      "github_url": "https://github.com/modelcontextprotocol/inspector",
      "docs_url": "https://modelcontextprotocol.io/docs/tools/inspector",
      "badge": "Official MCP CLI",
      "featured": true,
      "features": [
        "Interactive visual UI for testing tool invocation & outputs",
        "Supports stdio, SSE, and HTTP streaming MCP transports",
        "Inspects JSON-RPC 2.0 frames in real-time",
        "CLI mode for automated CI/CD validation of MCP servers"
      ],
      "tags": [
        "mcp",
        "cli",
        "inspector",
        "testing",
        "debugging",
        "official"
      ],
      "compatibleFrameworks": [
        "claude-desktop",
        "cursor",
        "chatgpt",
        "cline",
        "goose"
      ],
      "danishRecipes": [
        {
          "title": "Test Danish CVR MCP Server Locally",
          "description": "Run the MCP inspector on your local Danish CVR or DAWA MCP server to verify that tool responses match the required schema.",
          "commandOrSnippet": "npx @modelcontextprotocol/inspector npx -y @agentaccess/dawa-mcp"
        }
      ],
      "quickstart": {
        "language": "bash",
        "filename": "Terminal",
        "code": "# Launch the MCP Inspector on any local or remote server\nnpx @modelcontextprotocol/inspector node ./dist/server.js"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/mcp-cli",
      "url_da": "https://agentaccess.dk/da/enablers/mcp-cli"
    },
    {
      "slug": "playwright-mcp",
      "name": "Playwright MCP Server",
      "tagline": "Model Context Protocol wrapper for Playwright browser automation",
      "description": "Enables LLMs and agent harnesses to control real browser sessions via standard MCP tool calls (navigate, click, type, screenshot).",
      "long_description": "Playwright MCP brings full headless browser automation to any MCP-compatible client like Claude Desktop, Cursor, or Cline. The agent can navigate Danish portals, take screenshots, fill input fields, and extract DOM trees natively through tool calling.",
      "category": "browser-automation",
      "pricing_model": "Open Source",
      "website_url": "https://github.com/executeautomation/mcp-playwright",
      "github_url": "https://github.com/executeautomation/mcp-playwright",
      "badge": "Playwright MCP",
      "featured": true,
      "features": [
        "Browser navigation, element clicking, text input, and hovering",
        "High-resolution viewport screenshot capture and visual inspect",
        "Console log and network request inspection",
        "Headless and headed execution modes"
      ],
      "tags": [
        "mcp",
        "playwright",
        "browser-automation",
        "claude-desktop",
        "open-source"
      ],
      "compatibleFrameworks": [
        "claude-desktop",
        "cursor",
        "chatgpt",
        "cline",
        "goose"
      ],
      "danishRecipes": [
        {
          "title": "Allow Claude to browse and verify Danish Web Shops",
          "description": "Configure Claude Desktop with Playwright MCP to inspect live prices, stock levels, and terms of service across Danish e-commerce sites."
        }
      ],
      "quickstart": {
        "language": "json",
        "filename": "claude_desktop_config.json",
        "code": "{\n  \"mcpServers\": {\n    \"playwright\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@executeautomation/playwright-mcp-server\"]\n    }\n  }\n}"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/playwright-mcp",
      "url_da": "https://agentaccess.dk/da/enablers/playwright-mcp"
    },
    {
      "slug": "tavily",
      "name": "Tavily Search API",
      "tagline": "Search engine & content extractor built exclusively for autonomous AI agents",
      "description": "Tavily is a purpose-built search engine designed for LLMs, delivering clean factual snippets and real-time web context with zero noise.",
      "long_description": "Tavily provides fast, high-relevance search specifically tuned for autonomous AI agents. It searches the web, parses HTML, removes ads and tracking scripts, and returns concise, relevant markdown text chunks formatted for context windows.",
      "category": "web-scraping",
      "pricing_model": "Freemium",
      "website_url": "https://tavily.com",
      "docs_url": "https://docs.tavily.com",
      "badge": "Agent Search API",
      "featured": true,
      "features": [
        "Search + Extract in a single low-latency API call",
        "Domain filtering (e.g. restrict to .dk or specific ministries)",
        "Raw content extraction with Q&A summarization",
        "Official integrations with LangChain, LlamaIndex, and Vercel AI SDK"
      ],
      "tags": [
        "search",
        "agent-search",
        "extraction",
        "rag",
        "api",
        "llm-ready"
      ],
      "compatibleFrameworks": [
        "vercel-ai-sdk",
        "langchain",
        "llamaindex",
        "crewai",
        "autogen",
        "grok-bot",
        "meta-ai"
      ],
      "danishRecipes": [
        {
          "title": "Search Danish Regulatory Updates & Municipal Decisions",
          "description": "Instruct an agent to search Danish public news and ministry announcements with domain filtering restricted to `site:.dk`.",
          "commandOrSnippet": "from tavily import TavilyClient\nclient = TavilyClient(api_key=\"tvly-xxx\")\nresponse = client.search(\"nyeste regler for kørselsfradrag Skat\", include_domains=[\"skat.dk\", \"borger.dk\"])"
        }
      ],
      "quickstart": {
        "language": "typescript",
        "filename": "search.ts",
        "code": "import { tavily } from '@tavily/core'\n\nconst tvly = tavily({ apiKey: process.env.TAVILY_API_KEY })\nconst response = await tvly.search('Danish company registration rules', {\n  includeDomains: ['erhvervsstyrelsen.dk', 'cvr.dk'],\n})\n\nconsole.log(response.results)"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/tavily",
      "url_da": "https://agentaccess.dk/da/enablers/tavily"
    },
    {
      "slug": "browserbase",
      "name": "Browserbase",
      "tagline": "Developer-first headless browser platform with stealth, residential proxies & session recording",
      "description": "Browserbase is cloud headless browser infrastructure featuring built-in CAPTCHA solving, residential proxy rotation, and session video replays.",
      "long_description": "Browserbase is engineered for enterprise AI web automations that cannot fail. It pairs with Playwright, Puppeteer, and Stagehand, managing browser fingerprinting, residential IPs, and session persistence in cloud sandbox fleets.",
      "category": "browser-automation",
      "pricing_model": "Freemium",
      "website_url": "https://browserbase.com",
      "docs_url": "https://docs.browserbase.com",
      "badge": "Cloud Browser Platform",
      "featured": false,
      "features": [
        "Automatic CAPTCHA and anti-bot mitigation bypass",
        "Session live debugger and video recording replays",
        "Residential and datacenter proxy rotation",
        "Seamless Stagehand and Playwright integration"
      ],
      "tags": [
        "headless-browser",
        "playwright",
        "stealth",
        "captcha-bypass",
        "proxies",
        "cloud"
      ],
      "compatibleFrameworks": [
        "vercel-ai-sdk",
        "langchain",
        "openclaw",
        "crewai"
      ],
      "danishRecipes": [
        {
          "title": "Reliable Extraction on Heavily-Guarded Danish Portals",
          "description": "Run automated price and catalog scraping across Danish e-commerce and classifieds platforms without IP bans or bot blocks."
        }
      ],
      "quickstart": {
        "language": "typescript",
        "filename": "browserbase.ts",
        "code": "import { Browserbase } from '@browserbasehq/sdk'\nimport { chromium } from 'playwright'\n\nconst bb = new Browserbase({ apiKey: process.env.BROWSERBASE_API_KEY })\nconst session = await bb.sessions.create({ projectId: process.env.BROWSERBASE_PROJECT_ID })\n\nconst browser = await chromium.connectOverCDP(session.connectUrl)\nconst page = await browser.newPage()\nawait page.goto('https://www.dst.dk')\nconsole.log(await page.title())\nawait browser.close()"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/browserbase",
      "url_da": "https://agentaccess.dk/da/enablers/browserbase"
    },
    {
      "slug": "instructor",
      "name": "Instructor & Pydantic Tooling",
      "tagline": "Structured data extraction & type-safe LLM function schemas",
      "description": "Instructor enforces strict Pydantic and Zod schemas on LLM outputs, turning unstructured web and API data into typed objects with automatic retries.",
      "long_description": "Instructor is the gold standard for getting structured, type-safe data out of LLMs. When parsing Danish government PDF reports, unstructured HTML, or legacy XML APIs, Instructor guarantees the response matches your schema with validation rules and automatic self-correction on error.",
      "category": "sandboxes-runtimes",
      "pricing_model": "Open Source",
      "website_url": "https://python.useinstructor.com",
      "github_url": "https://github.com/jxnl/instructor",
      "docs_url": "https://python.useinstructor.com",
      "badge": "Structured Extraction",
      "featured": false,
      "features": [
        "Enforces Pydantic (Python) or Zod (TypeScript) validation",
        "Automatic retry with self-healing error prompts",
        "Supports streaming structured partial objects",
        "Compatible with OpenAI, Anthropic, Gemini, and Ollama"
      ],
      "tags": [
        "pydantic",
        "zod",
        "structured-output",
        "validation",
        "extraction",
        "open-source"
      ],
      "compatibleFrameworks": [
        "vercel-ai-sdk",
        "langchain",
        "llamaindex",
        "python",
        "grok-bot",
        "meta-ai"
      ],
      "danishRecipes": [
        {
          "title": "Extract Danish Company Accounting Metrics into Pydantic",
          "description": "Define a Pydantic schema for Danish solvency, EBITDA, and equity, and extract structured data directly from annual PDF reports.",
          "commandOrSnippet": "from pydantic import BaseModel\nimport instructor\nfrom openai import OpenAI\n\nclass DanishFinancials(BaseModel):\n    cvr: str\n    year: int\n    ebitda_dkk: float\n    equity_dkk: float\n\nclient = instructor.from_openai(OpenAI())\ndata = client.chat.completions.create(\n    model=\"gpt-4o\",\n    response_model=DanishFinancials,\n    messages=[{\"role\": \"user\", \"content\": \"Extract financials from this text...\"}],\n)"
        }
      ],
      "quickstart": {
        "language": "python",
        "filename": "extract.py",
        "code": "import instructor\nfrom openai import OpenAI\nfrom pydantic import BaseModel\n\nclass DanishAddress(BaseModel):\n    street: str\n    house_number: str\n    postal_code: int\n    city: str\n\nclient = instructor.from_openai(OpenAI())\naddr = client.chat.completions.create(\n    model=\"gpt-4o\",\n    response_model=DanishAddress,\n    messages=[{\"role\": \"user\", \"content\": \"Rådhuspladsen 1, 1550 København V\"}],\n)\nprint(addr.city)"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/instructor",
      "url_da": "https://agentaccess.dk/da/enablers/instructor"
    },
    {
      "slug": "steel-browser",
      "name": "Steel",
      "tagline": "Open-source browser infrastructure built exclusively for AI agents",
      "description": "Steel provides production-grade headless browser sandboxes with built-in stealth, session persistence, and anti-bot mitigation.",
      "long_description": "Steel is an open-source browser API and cloud infrastructure layer built specifically for autonomous web agents. Instead of dealing with flaky local Chrome processes, Steel spins up isolated browser sandboxes pre-configured with residential proxy rotation, CAPTCHA bypass, and live session debugging.",
      "category": "browser-automation",
      "pricing_model": "Open Source",
      "website_url": "https://steel.dev",
      "github_url": "https://github.com/steel-dev/steel-browser",
      "docs_url": "https://docs.steel.dev",
      "badge": "Agent Browser API",
      "featured": true,
      "features": [
        "100% open source self-hostable via Docker or managed cloud API",
        "Built-in residential proxy rotation and CAPTCHA solving",
        "Session recording and interactive visual live debugger",
        "Direct compatibility with Playwright, Puppeteer, and Stagehand"
      ],
      "tags": [
        "headless-chrome",
        "playwright",
        "puppeteer",
        "anti-bot",
        "stealth",
        "open-source"
      ],
      "compatibleFrameworks": [
        "vercel-ai-sdk",
        "langchain",
        "crewai",
        "autogen"
      ],
      "danishRecipes": [
        {
          "title": "Run Persistent Agent Sessions on Danish Portals",
          "description": "Authenticate an agent session once on a Danish portal and reuse authenticated cookie states across multiple agent automation tasks."
        }
      ],
      "quickstart": {
        "language": "typescript",
        "filename": "steel-session.ts",
        "code": "import { Steel } from 'steel-sdk'\nimport { chromium } from 'playwright'\n\nconst client = new Steel({ steelAPIKey: process.env.STEEL_API_KEY })\nconst session = await client.sessions.create({ useProxy: true })\n\nconst browser = await chromium.connectOverCDP(session.websocketUrl)\nconst page = await browser.newPage()\nawait page.goto('https://www.dst.dk')\nconsole.log(await page.title())\nawait client.sessions.release(session.id)"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/steel-browser",
      "url_da": "https://agentaccess.dk/da/enablers/steel-browser"
    },
    {
      "slug": "exa",
      "name": "Exa Search API",
      "tagline": "Neural search engine & structured content extractor for AI agents",
      "description": "Exa is an embedding-powered web search engine designed for LLMs, delivering clean semantic snippets and structured page extraction.",
      "long_description": "Exa replaces traditional keyword search engines with semantic vector retrieval across the live web. AI agents can search using natural language or target URL embeddings, retrieving concise highlights and structured markdown formatted for context windows.",
      "category": "web-scraping",
      "pricing_model": "Freemium",
      "website_url": "https://exa.ai",
      "github_url": "https://github.com/exa-labs/exa-py",
      "docs_url": "https://docs.exa.ai",
      "badge": "Neural Agent Search",
      "featured": true,
      "features": [
        "Neural semantic search tuned for LLM context windows",
        "Domain filtering (e.g. restrict to .dk domains and Danish government sites)",
        "Sub-second highlight extraction with zero boilerplate",
        "Official Python and TypeScript SDKs + MCP server integration"
      ],
      "tags": [
        "neural-search",
        "embeddings",
        "agent-search",
        "rag",
        "extraction",
        "api"
      ],
      "compatibleFrameworks": [
        "vercel-ai-sdk",
        "langchain",
        "llamaindex",
        "crewai",
        "autogen",
        "grok-bot",
        "meta-ai"
      ],
      "danishRecipes": [
        {
          "title": "Neural Discovery of Danish Government Initiatives",
          "description": "Query Exa for \"Danish green energy transition subsidies\" restricted to `includeDomains: [\"ens.dk\", \"kefm.dk\"]` to retrieve clean Markdown highlights."
        }
      ],
      "quickstart": {
        "language": "typescript",
        "filename": "search.ts",
        "code": "import Exa from 'exa-js'\n\nconst exa = new Exa(process.env.EXA_API_KEY)\nconst result = await exa.searchAndContents(\n  'Danish energy infrastructure datasets',\n  {\n    type: 'neural',\n    includeDomains: ['energinet.dk', 'ens.dk'],\n    highlights: true,\n  }\n)\n\nconsole.log(result.results)"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/exa",
      "url_da": "https://agentaccess.dk/da/enablers/exa"
    },
    {
      "slug": "agentql",
      "name": "AgentQL",
      "tagline": "AI-powered semantic query language for web scraping and automation",
      "description": "AgentQL uses natural language queries to locate web elements and extract structured data without brittle CSS selectors or XPath.",
      "long_description": "AgentQL eliminates the main failure point of web scrapers: fragile CSS and XPath selectors that break when sites change. By querying elements with semantic descriptions (e.g. `{ company_name, cvr_number, vat_status }`), AgentQL automatically resolves the correct DOM nodes even across UI redesigns.",
      "category": "web-scraping",
      "pricing_model": "Freemium",
      "website_url": "https://agentql.com",
      "github_url": "https://github.com/tinyfish-io/agentql",
      "docs_url": "https://docs.agentql.com",
      "badge": "Semantic Web Query",
      "featured": true,
      "features": [
        "Natural language element targeting (no CSS/XPath needed)",
        "Self-healing against website UI and DOM updates",
        "Drop-in Playwright extension with Python and TypeScript SDKs",
        "AgentQL MCP server for interactive agent browser control"
      ],
      "tags": [
        "semantic-scraping",
        "playwright",
        "query-language",
        "ai-selectors",
        "resilient"
      ],
      "compatibleFrameworks": [
        "claude-desktop",
        "cursor",
        "vercel-ai-sdk",
        "langchain"
      ],
      "danishRecipes": [
        {
          "title": "Scrape Danish E-Commerce Prices Resilient to Redesigns",
          "description": "Use AgentQL semantic queries on Danish retail portals to extract price, stock, and SKU details without maintaining custom selectors."
        }
      ],
      "quickstart": {
        "language": "typescript",
        "filename": "query.ts",
        "code": "import { wrap } from 'agentql'\nimport { chromium } from 'playwright'\n\nconst browser = await chromium.launch()\nconst page = await wrap(await browser.newPage())\nawait page.goto('https://www.cvr.dk')\n\nconst QUERY = `{\n  search_input\n  search_button\n}`\nconst response = await page.queryElements(QUERY)\nawait response.search_input.type('Novo Nordisk')\nawait response.search_button.click()"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/agentql",
      "url_da": "https://agentaccess.dk/da/enablers/agentql"
    },
    {
      "slug": "baml",
      "name": "BAML",
      "tagline": "Type-safe prompt programming language & LLM function compiler",
      "description": "BAML is a domain-specific language that turns complex LLM prompts into strongly-typed functions with automatic client generation.",
      "long_description": "BAML (Basically A Made-up Language) brings software engineering rigor to prompt engineering. Write typed schemas and prompts in `.baml` files, test them with live preview in VS Code, and compile them into zero-overhead, type-safe clients for Python, TypeScript, and Go.",
      "category": "sandboxes-runtimes",
      "pricing_model": "Open Source",
      "website_url": "https://boundaryml.com",
      "github_url": "https://github.com/boundaryml/baml",
      "docs_url": "https://docs.boundaryml.com",
      "badge": "Type-Safe AI DSL",
      "featured": true,
      "features": [
        "Compiles prompts into native TypeScript, Python, and Go SDKs",
        "4x token savings over verbose JSON schema formats",
        "Schema-Aligned Parsing (SAP) heals malformed LLM responses",
        "Interactive VS Code playground with hot-reloading testing"
      ],
      "tags": [
        "dsl",
        "type-safe",
        "prompt-engineering",
        "schema",
        "open-source",
        "compiler"
      ],
      "compatibleFrameworks": [
        "vercel-ai-sdk",
        "langchain",
        "llamaindex",
        "python"
      ],
      "danishRecipes": [
        {
          "title": "Compile Type-Safe Danish Address & CPR Parsing Functions",
          "description": "Define strict BAML schemas for Danish municipal forms and generate TypeScript clients that parse messy user inputs with guaranteed types."
        }
      ],
      "quickstart": {
        "language": "typescript",
        "filename": "extract.baml",
        "code": "// Define structured types in BAML\nclass DanishCompany {\n  name string\n  cvr int\n  industry string\n}\n\nfunction ExtractCompany(text: string) -> DanishCompany {\n  client GPT4o\n  prompt #\"\n    Extract the Danish company details:\n    {{ text }}\n    {{ ctx.output_format }}\n  \"#\n}"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/baml",
      "url_da": "https://agentaccess.dk/da/enablers/baml"
    },
    {
      "slug": "supergateway",
      "name": "Supergateway",
      "tagline": "Proxy stdio MCP servers over SSE & WebSockets for remote AI agents",
      "description": "Supergateway bridges local stdio-based Model Context Protocol servers to Server-Sent Events (SSE) and WebSockets for remote cloud agents.",
      "long_description": "Most open-source MCP servers are built for local stdio communication. Supergateway acts as a lightweight proxy, allowing developers to expose stdio MCP tools over HTTP/SSE endpoints, enabling remote cloud agents, Docker containers, and web clients to call them seamlessly.",
      "category": "mcp-builders",
      "pricing_model": "Open Source",
      "website_url": "https://github.com/supercorp-ai/supergateway",
      "github_url": "https://github.com/supercorp-ai/supergateway",
      "badge": "MCP Network Proxy",
      "featured": false,
      "features": [
        "Translates stdio MCP servers to SSE and WebSocket streams",
        "Enables Dockerized MCP servers to communicate with host clients",
        "Bidirectional bridging (stdio <-> network)",
        "Zero-install execution via npx"
      ],
      "tags": [
        "mcp",
        "sse",
        "websockets",
        "proxy",
        "docker",
        "networking",
        "open-source"
      ],
      "compatibleFrameworks": [
        "claude-desktop",
        "cursor",
        "chatgpt",
        "cline",
        "openclaw",
        "grok-bot"
      ],
      "danishRecipes": [
        {
          "title": "Expose Local Danish DAWA MCP Server to Remote Cloud Agents",
          "description": "Run Supergateway to expose a local DAWA or CVR stdio MCP server over a secure SSE endpoint accessible by cloud-hosted agents.",
          "commandOrSnippet": "npx -y supergateway --stdio \"npx -y @agentaccess/dawa-mcp\" --port 8000"
        }
      ],
      "quickstart": {
        "language": "bash",
        "filename": "Terminal",
        "code": "# Expose any local stdio MCP server over SSE on port 8000\nnpx -y supergateway --stdio \"node ./server.js\" --port 8000"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/supergateway",
      "url_da": "https://agentaccess.dk/da/enablers/supergateway"
    },
    {
      "slug": "spider",
      "name": "Spider Crawler",
      "tagline": "High-performance Rust web crawler & scraper generating LLM-ready markdown",
      "description": "Spider is an ultra-fast web crawler written in Rust that streams clean Markdown, structured JSON, and embeddings for AI models.",
      "long_description": "Spider is engineered for maximum crawling throughput. Written in Rust, it defaults to lightweight HTTP requests for static content and automatically escalates to headless browser rendering only when JavaScript is strictly required, generating pristine LLM markdown at extreme speed.",
      "category": "web-scraping",
      "pricing_model": "Open Source",
      "website_url": "https://spider.cloud",
      "github_url": "https://github.com/spider-rs/spider",
      "docs_url": "https://spider.cloud/docs",
      "badge": "Rust Web Crawler",
      "featured": false,
      "features": [
        "Concurrent multi-threaded crawling in Rust",
        "Smart mode: runs HTTP for static pages, headless browser for JS",
        "Built-in AI extraction with natural language prompt filters",
        "Official SDKs for Rust, Python, TypeScript, and Node.js"
      ],
      "tags": [
        "crawler",
        "rust",
        "fast",
        "markdown",
        "rag",
        "open-source"
      ],
      "compatibleFrameworks": [
        "langchain",
        "llamaindex",
        "crewai",
        "autogen"
      ],
      "danishRecipes": [
        {
          "title": "Crawl Entire Danish Public Sector Portals in Seconds",
          "description": "Run Spider to crawl and convert large Danish government guidance directories (e.g. Borger.dk or Skat.dk) into indexed Markdown collections."
        }
      ],
      "quickstart": {
        "language": "typescript",
        "filename": "crawl.ts",
        "code": "import { Spider } from '@spider-rs/spider-client'\n\nconst app = new Spider({ apiKey: process.env.SPIDER_API_KEY })\nconst result = await app.scrapeUrl('https://www.borger.dk', {\n  return_format: 'markdown',\n})\n\nconsole.log(result[0].content)"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/spider",
      "url_da": "https://agentaccess.dk/da/enablers/spider"
    },
    {
      "slug": "langfuse",
      "name": "Langfuse",
      "tagline": "Open-source LLM observability, tracing & prompt management platform",
      "description": "Langfuse provides full-lifecycle tracing, evaluation, and monitoring for AI agents executing complex multi-step tool calls.",
      "long_description": "When AI agents execute tool calling across Danish APIs, scrapers, and MCP servers, Langfuse captures complete execution traces, token consumption, latency, and tool input/output payloads. Developers can debug agent failures, track costs, and evaluate output quality in real time.",
      "category": "sandboxes-runtimes",
      "pricing_model": "Open Source",
      "website_url": "https://langfuse.com",
      "github_url": "https://github.com/langfuse/langfuse",
      "docs_url": "https://langfuse.com/docs",
      "badge": "Agent Observability",
      "featured": true,
      "features": [
        "Detailed distributed tracing of agent tool calls & model steps",
        "Self-hostable via Docker or managed cloud platform",
        "Cost tracking, latency monitoring, and token analytics",
        "Integrations with Vercel AI SDK, LangChain, LlamaIndex, and OpenAI"
      ],
      "tags": [
        "observability",
        "tracing",
        "monitoring",
        "prompt-management",
        "open-source"
      ],
      "compatibleFrameworks": [
        "vercel-ai-sdk",
        "langchain",
        "llamaindex",
        "crewai",
        "autogen"
      ],
      "danishRecipes": [
        {
          "title": "Trace and Debug Danish Agent Tool-Calling Workflows",
          "description": "Wrap your agent in Langfuse to inspect every API call made to CVR, DAWA, or DMI, monitoring payload correctness and API latency."
        }
      ],
      "quickstart": {
        "language": "typescript",
        "filename": "trace.ts",
        "code": "import { Langfuse } from 'langfuse'\n\nconst langfuse = new Langfuse()\nconst trace = langfuse.trace({ name: 'danish-cvr-lookup' })\nconst span = trace.span({ name: 'fetch-cvr-api' })\n\n// Perform API request...\nspan.end({ output: { company: 'Novo Nordisk A/S', cvr: '24256790' } })\nawait langfuse.shutdownAsync()"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/langfuse",
      "url_da": "https://agentaccess.dk/da/enablers/langfuse"
    },
    {
      "slug": "openapi-mcp-server",
      "name": "OpenAPI MCP Proxy",
      "tagline": "Convert any REST OpenAPI or Swagger spec into instant MCP tools",
      "description": "Dynamically translates OpenAPI 3.0/3.1 specifications into Model Context Protocol tools with automated parameter validation.",
      "long_description": "OpenAPI MCP Proxy allows agents to instantly connect to any REST API that provides a Swagger or OpenAPI specification. It automatically parses endpoints, schemas, and parameters, exposing them as typed tools with Zod validation over stdio or HTTP transports.",
      "category": "mcp-builders",
      "pricing_model": "Open Source",
      "website_url": "https://github.com/sotayamashita/openapi-mcp-server",
      "github_url": "https://github.com/sotayamashita/openapi-mcp-server",
      "badge": "OpenAPI to MCP",
      "featured": false,
      "features": [
        "Dynamic mapping of OpenAPI operations to MCP tools",
        "Zod schema validation on input parameters",
        "Supports HTTP Bearer, API key, and Basic auth",
        "Runs locally via npx without manual code generation"
      ],
      "tags": [
        "openapi",
        "swagger",
        "mcp",
        "rest-api",
        "automation",
        "open-source"
      ],
      "compatibleFrameworks": [
        "claude-desktop",
        "cursor",
        "chatgpt",
        "cline",
        "goose",
        "grok-bot"
      ],
      "danishRecipes": [
        {
          "title": "Mount Any Danish OpenAPI Document into Claude Desktop",
          "description": "Point OpenAPI MCP Proxy at the official OpenAPI JSON specification of a Danish municipality or service to enable tool calling immediately.",
          "commandOrSnippet": "npx -y @sotayamashita/openapi-mcp-server --spec https://api.datafordeler.dk/openapi.json"
        }
      ],
      "quickstart": {
        "language": "json",
        "filename": "claude_desktop_config.json",
        "code": "{\n  \"mcpServers\": {\n    \"danish-api\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@sotayamashita/openapi-mcp-server\",\n        \"--spec\",\n        \"https://example.dk/openapi.json\"\n      ]\n    }\n  }\n}"
      },
      "added": "2026-08-18",
      "url": "https://agentaccess.dk/enablers/openapi-mcp-server",
      "url_da": "https://agentaccess.dk/da/enablers/openapi-mcp-server"
    },
    {
      "slug": "is-it-agent-ready",
      "name": "Is Your Site Agent-Ready?",
      "tagline": "Automated agent-readiness scanner auditing web services for MCP, A2A, WebMCP, and Auth.md",
      "tagline_da": "Automatiseret agentparatheds-scanner der tester webløsninger for MCP, A2A, WebMCP og Auth.md",
      "description": "Cloudflare's automated scanner evaluating web services across Discoverability, Content Accessibility, Bot Access Control, Protocol Discovery, and Commerce.",
      "description_da": "Cloudflares automatiserede scanner, der evaluerer webløsninger inden for opdagelse, indholdstilgængelighed, bot-adgang, protokolstandarder og handel.",
      "long_description": "Is Your Site Agent-Ready? (isitagentready.com) is an open testing and validation scanner created by Cloudflare to evaluate how accessible and capable web applications are for autonomous AI agents. The tool systematically audits endpoints across five key Agent Experience (AX) categories: Discoverability (robots.txt, XML sitemaps, Link discovery headers, DNS-AID), Content Accessibility (Markdown content negotiation via Accept: text/markdown), Bot Access Control (AI crawler rules, Content Signals, Web Bot Auth), Protocol Discovery (MCP Server Cards, Agent Skills, WebMCP, API Catalogs, OAuth Discovery, OAuth Protected Resource RFC 9728, Auth.md, and A2A Agent Cards), and Agentic Commerce (x402, MPP, UCP, ACP). The scanner provides an instant readiness score (Levels 0–5) alongside actionable remediation instructions that developers can directly copy-paste into AI coding agents like Cursor, Windsurf, or Claude Code to fix failing checks.",
      "long_description_da": "Is Your Site Agent-Ready? (isitagentready.com) er en åben test- og valideringsscanner udviklet af Cloudflare, der vurderer hvor tilgængelige og parate webløsninger er til autonome AI-agenter. Værktøjet foretager systematiske audits på tværs af fem centrale Agent Experience (AX) kategorier: Opdagelse (robots.txt, XML-sitemaps, Link discovery headers, DNS-AID), Indholdstilgængelighed (Markdown content negotiation via Accept: text/markdown), Bot-adgangskontrol (AI crawler-regler, Content Signals, Web Bot Auth), Protokolopdagelse (MCP Server Cards, Agent Skills, WebMCP, API-kataloger, OAuth Discovery, OAuth Protected Resource RFC 9728, Auth.md samt A2A Agent Cards) og Agentisk Handel (x402, MPP, UCP, ACP). Scanneren leverer en øjeblikkelig parathedsscore (Niveau 0–5) samt handlingsanvisende udbedringsinstruktioner, som udviklere kan kopiere direkte over i AI-kodeassistenter som Cursor, Windsurf eller Claude Code for hurtigt at rette fejl.",
      "category": "mcp-builders",
      "pricing_model": "Freemium",
      "website_url": "https://isitagentready.com",
      "docs_url": "https://developers.cloudflare.com/agents/",
      "badge": "Agent Readiness Scanner",
      "featured": true,
      "features": [
        "Audits Discoverability: robots.txt, XML sitemaps, Link headers, and DNS-AID",
        "Evaluates Content Accessibility: Markdown content negotiation (Accept: text/markdown)",
        "Tests Protocol Discovery: MCP Server Card, A2A Agent Card, Auth.md, WebMCP, and Agent Skills",
        "Verifies OAuth Standards: RFC 8414 Discovery and RFC 9728 Protected Resource",
        "Assesses Agentic Commerce: x402, MPP, UCP, and ACP payment protocols",
        "Generates copy-paste agent prompts for Cursor, Claude Code, and Windsurf to fix failing checks",
        "Exposes native WebMCP scan_site tool for in-browser autonomous agent scanning"
      ],
      "features_da": [
        "Tester opdagelse: robots.txt, XML-sitemaps, Link-headers og DNS-AID",
        "Evaluerer indholdstilgængelighed: Markdown-forhandling (Accept: text/markdown)",
        "Tester protokolopdagelse: MCP Server Card, A2A Agent Card, Auth.md, WebMCP og Agent Skills",
        "Verificerer OAuth-standarder: RFC 8414 Discovery og RFC 9728 Protected Resource",
        "Undersøger agentisk handel: x402, MPP, UCP og ACP betalingsprotokoller",
        "Genererer udbedringsprompts til Cursor, Claude Code og Windsurf til direkte fejlretning",
        "Eksponerer indbygget WebMCP scan_site-værktøj til in-browser agentscanning"
      ],
      "tags": [
        "agent-readiness",
        "scanner",
        "mcp-audit",
        "a2a-card",
        "auth-md",
        "webmcp",
        "cloudflare",
        "testing",
        "discoverability",
        "markdown-negotiation"
      ],
      "compatibleFrameworks": [
        "cursor",
        "claude-desktop",
        "chatgpt",
        "windsurf",
        "cline",
        "langchain"
      ],
      "danishRecipes": [
        {
          "title": "Audit Danish SaaS or Public Portals for Agent Readiness",
          "description": "Scan Danish accounting, municipality, or developer portals to uncover missing robots.txt rules, absent llms.txt endpoints, or lack of RFC 9728 OAuth resource declarations.",
          "targetDanishSystem": "Danish Digital Infrastructure",
          "targetSlug": "cvr-dev",
          "commandOrSnippet": "curl -s -X POST \"https://isitagentready.com/api/scan\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"url\": \"https://api.cvr.dev\"}' | jq ."
        },
        {
          "title": "Automate Agent Readiness in Danish Web Deployments",
          "description": "Incorporate agent readiness checks into CI/CD pipelines to ensure Danish applications never deploy breaking changes to Markdown negotiation or Auth.md metadata.",
          "targetDanishSystem": "AgentAccess.dk Platform",
          "targetSlug": "agentaccess",
          "commandOrSnippet": "// Audit Danish web staging before production rollout\nconst res = await fetch('https://isitagentready.com/api/scan', {\n  method: 'POST',\n  headers: { 'Content-Type': 'application/json' },\n  body: JSON.stringify({ url: 'https://agentaccess.dk' })\n})\nconst report = await res.json()\nconsole.log(`Agent Readiness Level: ${report.level}/5`)"
        }
      ],
      "quickstart": {
        "language": "typescript",
        "filename": "scan-agent-readiness.ts",
        "code": "// Scan any website or API endpoint for AI Agent Readiness\nconst response = await fetch('https://isitagentready.com/api/scan', {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n  },\n  body: JSON.stringify({\n    url: 'https://agentaccess.dk',\n  }),\n})\n\nconst audit = await response.json()\nconsole.log('Readiness Level (0-5):', audit.level)\n\n// Inspect failing checks and copy remediation prompts\nconst failing = audit.checks?.filter((c: any) => !c.passed) ?? []\nconsole.log(`Failing checks (${failing.length}):`, failing.map((c: any) => c.name))"
      },
      "added": "2026-09-09",
      "url": "https://agentaccess.dk/enablers/is-it-agent-ready",
      "url_da": "https://agentaccess.dk/da/enablers/is-it-agent-ready"
    },
    {
      "slug": "deepseek-harness",
      "name": "DeepSeek Harness",
      "tagline": "Compose secure AI agents from replaceable plugins, tools, and runtimes",
      "tagline_da": "Sammensæt sikre AI-agenter ud fra udskiftelige plugins, værktøjer og runtimes",
      "description": "An open-source, plugin-native agent runtime from DeepSeek AI with a CLI, Web UI, Python SDK, tool registry, persistent sessions, sandboxing, and approval policies.",
      "description_da": "Et open-source, plugin-baseret agent-runtime fra DeepSeek AI med CLI, Web UI, Python SDK, værktøjsregister, persistente sessioner og sandkassestyring.",
      "long_description": "DeepSeek Harness is a composable runtime for building and operating agents that can inspect files, edit workspaces, execute shell commands, call structured tools, delegate work, and maintain plans. Its Cordis architecture implements models, tools, skills, sessions, storage, sandboxes, scheduling, the agent loop, and user interfaces as replaceable plugins coordinated through typed services and events. Sandbox backends, scoped tool restrictions, guarded execution pipelines, and configurable approval policies help constrain filesystem, shell, and network operations.",
      "long_description_da": "DeepSeek Harness er et modulært runtime til opbygning og drift af agenter, der kan inspicere filer, redigere arbejdsområder, køre terminalkommandoer og kalde strukturerede værktøjer. Dets Cordis-arkitektur muliggør udskiftning af modeller, værktøjer og sandkasser via typede plugins med stærke godkendelsespolitikker.",
      "category": "sandboxes-runtimes",
      "pricing_model": "Open Source",
      "website_url": "https://deepseek.com/harness/",
      "github_url": "https://github.com/deepseek-ai/deepseek-harness",
      "docs_url": "https://deepseek-harness.github.io/deepseek-harness/en/guide/quickstart",
      "badge": "Plugin-Native Agent Runtime",
      "featured": true,
      "features": [
        "Plugin-native Cordis architecture for replacing models, tools, sessions, storage, sandboxes, loops, and user interfaces",
        "CLI profiles, local Web UI, headless execution, and an embeddable Python SDK",
        "Schema-validated model-facing tool registry with scoped allowlists, restrictions, cancellation, and execution policies",
        "Persistent agent sessions with append-only logs for tool calls, context injection, replay, recovery, and branching",
        "Filesystem and shell capabilities protected by sandbox backends and configurable approval policies",
        "Composable profiles and bundles for distributing custom agents and third-party integrations without modifying the core"
      ],
      "features_da": [
        "Plugin-baseret Cordis-arkitektur til udskiftning af modeller, værktøjer, sessioner og sandkasser",
        "CLI-profiler, lokalt Web UI, headless-afvikling og et integrerbart Python SDK",
        "Skemavalideret værktøjsregister med godkendelsespolitikker og rettighedsstyring",
        "Persistente agentsessioner med append-only logs og genoptagelse",
        "Filsystem- og terminaladgang beskyttet af sandkasse-backends"
      ],
      "tags": [
        "ai-agents",
        "agent-runtime",
        "plugins",
        "cordis",
        "sandbox",
        "tool-use",
        "python-sdk",
        "deepseek"
      ],
      "compatibleFrameworks": [
        "claude-code",
        "codex",
        "python"
      ],
      "danishRecipes": [
        {
          "title": "Build a DAWA address-validation agent",
          "description": "Create a scoped tool plugin that queries the public DAWA address API, validates the returned JSON, and exposes normalized Danish addresses to the model.",
          "targetDanishSystem": "DAWA",
          "targetSlug": "dawa",
          "commandOrSnippet": "export DEEPSEEK_API_KEY=\"sk-...\"\\nnpx @deepseek-ai/dsh --profile headless \"Use curl to query https://api.dataforsyningen.dk/adresser?q=Rådhuspladsen%201 and return canonical address as JSON.\""
        },
        {
          "title": "Create a guarded CVR company lookup profile",
          "description": "Package an organization-approved CVR client as a schema-validated Harness tool, keeping credentials outside model context.",
          "targetDanishSystem": "CVR / Virk Data",
          "targetSlug": "cvr-api",
          "commandOrSnippet": "npx @deepseek-ai/dsh web --patch ./profiles/cvr/cordis.patch.yml"
        }
      ],
      "quickstart": {
        "language": "bash",
        "filename": "Terminal",
        "code": "# Requires Node.js\\nnpx @deepseek-ai/dsh web\\n\\n# Open http://127.0.0.1:3080, select a workspace,\\n# then add your DeepSeek API key under Settings → Models."
      },
      "added": "2026-09-08",
      "url": "https://agentaccess.dk/enablers/deepseek-harness",
      "url_da": "https://agentaccess.dk/da/enablers/deepseek-harness"
    }
  ],
  "frameworks": [
    {
      "slug": "claude-desktop",
      "name": "Claude Desktop",
      "subtitle": "Anthropic Claude Desktop app via MCP",
      "description": "Configure Anthropic Claude Desktop with Model Context Protocol (MCP) servers to directly query Danish public registers, CVR company data, CPR checks, and digital infrastructure.",
      "ecosystemUrl": "https://modelcontextprotocol.io",
      "compatibleCategories": [
        "mcp",
        "api"
      ],
      "snippetType": "mcp_json",
      "badge": "MCP Protocol",
      "faqs": [
        {
          "question": "How do I add Danish system APIs to Claude Desktop?",
          "answer": "Open your claude_desktop_config.json file (located in your Application Support or AppData folder) and paste the mcpServers configuration provided on this page. Restart Claude Desktop to start chatting with Danish digital infrastructure."
        },
        {
          "question": "Does Claude Desktop require NemLog-in or MitID for Danish APIs?",
          "answer": "Public read-only datasets (like CVR company info, BBR property data, or Smileys) require no MitID. Write actions or personal data access require human-in-the-loop auth tokens configured in environment variables."
        },
        {
          "question": "Are these MCP tools official?",
          "answer": "AgentAccess catalogs both official government/enterprise MCP servers and open-source community implementations. Each card clearly indicates whether the server is officially backed or community-maintained."
        }
      ],
      "url": "https://agentaccess.dk/for/claude-desktop",
      "url_da": "https://agentaccess.dk/da/for/claude-desktop"
    },
    {
      "slug": "cursor",
      "name": "Cursor IDE",
      "subtitle": "AI Developer Environment via MCP",
      "description": "Integrate Danish APIs, MCP tools, and datasets straight into Cursor IDE. Allow Cursor Composer and Agent mode to query Danish CVR data, tax rules, and public specifications while you code.",
      "ecosystemUrl": "https://cursor.com",
      "compatibleCategories": [
        "mcp",
        "api",
        "cli"
      ],
      "snippetType": "mcp_json",
      "badge": "Developer IDE",
      "faqs": [
        {
          "question": "How do I enable Danish MCP servers in Cursor?",
          "answer": "Navigate to Cursor Settings > Features > MCP Servers, click \"Add new MCP Server\", and use the command configuration listed for each Danish system on this page."
        },
        {
          "question": "Can Cursor AI edit code using live Danish API schemas?",
          "answer": "Yes! When configured with Danish MCP servers, Cursor can fetch live data models and field specifications directly from Danish public endpoints to auto-generate accurate TypeScript/Python API clients."
        }
      ],
      "url": "https://agentaccess.dk/for/cursor",
      "url_da": "https://agentaccess.dk/da/for/cursor"
    },
    {
      "slug": "chatgpt",
      "name": "ChatGPT",
      "subtitle": "OpenAI ChatGPT Desktop via MCP",
      "description": "Configure OpenAI ChatGPT Desktop with Model Context Protocol (MCP) servers to directly query Danish public registers, CVR company data, CPR checks, and digital infrastructure.",
      "ecosystemUrl": "https://chatgpt.com",
      "compatibleCategories": [
        "mcp",
        "api"
      ],
      "snippetType": "mcp_json",
      "badge": "MCP Protocol",
      "faqs": [
        {
          "question": "How do I add Danish system tools to ChatGPT Desktop?",
          "answer": "In the ChatGPT desktop app, enable Developer mode in Settings > Advanced, navigate to Settings > MCP Servers, click \"Add server\", and add the server configuration provided on this page."
        },
        {
          "question": "Does ChatGPT support local and remote MCP servers?",
          "answer": "Yes, ChatGPT Desktop supports both local processes (via npx / stdio transport) and remote Streamable HTTP / SSE MCP servers."
        },
        {
          "question": "Does ChatGPT require MitID or NemLog-in for Danish APIs?",
          "answer": "Public datasets (like CVR company info, DAWA address lookups, or DMI weather) require no authentication. Any flow requiring MitID must remain explicitly human-in-the-loop for approval."
        }
      ],
      "url": "https://agentaccess.dk/for/chatgpt",
      "url_da": "https://agentaccess.dk/da/for/chatgpt"
    },
    {
      "slug": "codex-cli",
      "name": "OpenAI Codex CLI",
      "subtitle": "Terminal AI Coding Companion",
      "description": "Command-line Codex assistant for terminal automation, code generation, and Danish public register lookups.",
      "ecosystemUrl": "https://openai.com",
      "compatibleCategories": [
        "cli",
        "mcp",
        "api"
      ],
      "snippetType": "python_native",
      "badge": "CLI Assistant",
      "faqs": [
        {
          "question": "Can Codex CLI query Danish CVR and public data?",
          "answer": "Yes, using the native async Python or cURL client definitions provided on this page to fetch and manipulate Danish data feeds directly from your command line."
        }
      ],
      "url": "https://agentaccess.dk/for/codex-cli",
      "url_da": "https://agentaccess.dk/da/for/codex-cli"
    },
    {
      "slug": "codex-app",
      "name": "OpenAI Codex App",
      "subtitle": "Desktop AI Assistant & Coding Workspace",
      "description": "OpenAI Codex desktop environment for autonomous software engineering, project tasks, and Danish digital infrastructure access via MCP and REST APIs.",
      "ecosystemUrl": "https://openai.com",
      "compatibleCategories": [
        "api",
        "mcp",
        "cli"
      ],
      "snippetType": "mcp_json",
      "badge": "Desktop Assistant",
      "faqs": [
        {
          "question": "How do I connect Danish APIs to Codex App?",
          "answer": "Use the integrated MCP configuration or custom API tool declarations listed on this page to bind Danish public and private data sources to your Codex environment."
        }
      ],
      "url": "https://agentaccess.dk/for/codex-app",
      "url_da": "https://agentaccess.dk/da/for/codex-app"
    },
    {
      "slug": "claude-code",
      "name": "Claude Code CLI",
      "subtitle": "Anthropic CLI Coding Agent",
      "description": "Command-line AI pairing agent from Anthropic. Connect Claude Code CLI to Danish MCP tools to query CVR company data, property registers, and public specifications directly from your terminal.",
      "ecosystemUrl": "https://anthropic.com",
      "compatibleCategories": [
        "mcp",
        "cli",
        "api"
      ],
      "snippetType": "mcp_json",
      "badge": "Terminal CLI Agent",
      "faqs": [
        {
          "question": "How do I add MCP servers to Claude Code CLI?",
          "answer": "Run \"claude mcp add <name> -- npx -y <package>\" or add the MCP configuration to your local .claude.json settings."
        }
      ],
      "url": "https://agentaccess.dk/for/claude-code",
      "url_da": "https://agentaccess.dk/da/for/claude-code"
    },
    {
      "slug": "vercel-ai-sdk",
      "name": "Vercel AI SDK",
      "subtitle": "Next.js & React AI Applications",
      "description": "Production-ready TypeScript tool definitions with Zod validation schemas for Vercel AI SDK (streamText and generateText) interacting with Danish platforms.",
      "ecosystemUrl": "https://sdk.vercel.ai",
      "compatibleCategories": [
        "api",
        "mcp"
      ],
      "snippetType": "vercel_ai_sdk",
      "badge": "TypeScript / React",
      "faqs": [
        {
          "question": "How do I use Danish APIs with Vercel AI SDK streamText?",
          "answer": "Copy the ready-to-use tool() definitions provided on this page into your Next.js Route Handlers or Server Actions and pass them inside the tools parameter of streamText()."
        },
        {
          "question": "Is Vercel AI SDK compatible with Edge runtime for Danish APIs?",
          "answer": "Yes, REST API integrations support Vercel Edge Runtime. Node.js runtime is recommended if using native MCP transport connections."
        }
      ],
      "url": "https://agentaccess.dk/for/vercel-ai-sdk",
      "url_da": "https://agentaccess.dk/da/for/vercel-ai-sdk"
    },
    {
      "slug": "langchain",
      "name": "LangChain",
      "subtitle": "Python & TypeScript Agent Chains",
      "description": "LangChain tool wrappers and structured tools for querying Danish enterprise registers, transport schedules, and government services.",
      "ecosystemUrl": "https://langchain.com",
      "compatibleCategories": [
        "api",
        "mcp",
        "browser",
        "cli"
      ],
      "snippetType": "langchain_py",
      "badge": "Python / TS Framework",
      "faqs": [
        {
          "question": "How do I add a Danish data tool to a LangChain Agent?",
          "answer": "Import the provided @tool decorator function into your Python environment and pass it to initialize_agent() or LangGraph node definitions."
        },
        {
          "question": "Can LangChain agents parse Danish XML/CSV data feeds?",
          "answer": "Yes! AgentAccess provides specialized data loaders and parsing tools for high-volume Danish data feeds like CVR daily dumps or CVR.dev streams."
        }
      ],
      "url": "https://agentaccess.dk/for/langchain",
      "url_da": "https://agentaccess.dk/da/for/langchain"
    },
    {
      "slug": "llamaindex",
      "name": "LlamaIndex",
      "subtitle": "RAG & Context Augmentation for Denmark",
      "description": "LlamaIndex data readers and tool specs to ingest Danish public datasets, municipal documents, and API feeds into vector indexes and agentic workflows.",
      "ecosystemUrl": "https://llamaindex.ai",
      "compatibleCategories": [
        "api",
        "mcp"
      ],
      "snippetType": "llamaindex_ts",
      "badge": "RAG / Ingestion",
      "faqs": [
        {
          "question": "How do I ingest Danish public data feeds into LlamaIndex?",
          "answer": "Use the LlamaIndex custom reader functions provided on this page to index Danish XML, JSON, or REST API responses into your LlamaIndex VectorStoreIndex."
        }
      ],
      "url": "https://agentaccess.dk/for/llamaindex",
      "url_da": "https://agentaccess.dk/da/for/llamaindex"
    },
    {
      "slug": "crewai",
      "name": "CrewAI",
      "subtitle": "Multi-Agent Orchestration for Danish Systems",
      "description": "Equip your CrewAI autonomous agents with dedicated tools to search Danish company records, evaluate financial reports, and check compliance status.",
      "ecosystemUrl": "https://crewai.com",
      "compatibleCategories": [
        "api",
        "mcp",
        "browser"
      ],
      "snippetType": "crewai_py",
      "badge": "Multi-Agent Framework",
      "faqs": [
        {
          "question": "How do CrewAI agents interact with Danish government APIs?",
          "answer": "Decorate your custom tool class with CrewAI BaseTool and attach it to your CrewAI Agent definition (e.g. CVR Research Agent or Tax Compliance Agent)."
        }
      ],
      "url": "https://agentaccess.dk/for/crewai",
      "url_da": "https://agentaccess.dk/da/for/crewai"
    },
    {
      "slug": "autogen",
      "name": "Microsoft AutoGen",
      "subtitle": "Conversational Agent Framework",
      "description": "Register Danish API tools and browser automation functions with Microsoft AutoGen ConversationalAgent for multi-agent collaboration.",
      "ecosystemUrl": "https://microsoft.github.io/autogen",
      "compatibleCategories": [
        "api",
        "mcp",
        "browser"
      ],
      "snippetType": "autogen_py",
      "badge": "Microsoft Framework",
      "faqs": [
        {
          "question": "How do I register Danish system tools with AutoGen?",
          "answer": "Use autogen.register_function() to bind python API clients for Danish systems to your AssistantAgent and UserProxyAgent instances."
        }
      ],
      "url": "https://agentaccess.dk/for/autogen",
      "url_da": "https://agentaccess.dk/da/for/autogen"
    },
    {
      "slug": "cline",
      "name": "Cline CLI & Extension",
      "subtitle": "Autonomous Coding Agent for VS Code & Terminal",
      "description": "Cline autonomous coding assistant. Connect Cline to Danish MCP tools for searching company records, testing local endpoints, and inspecting public schemas.",
      "ecosystemUrl": "https://cline.bot",
      "compatibleCategories": [
        "mcp",
        "cli",
        "api"
      ],
      "snippetType": "mcp_json",
      "badge": "VS Code & CLI Agent",
      "faqs": [
        {
          "question": "Where do I paste MCP settings for Cline?",
          "answer": "Add the mcpServers JSON configuration directly into your cline_mcp_settings.json file or through the Cline MCP settings UI."
        }
      ],
      "url": "https://agentaccess.dk/for/cline",
      "url_da": "https://agentaccess.dk/da/for/cline"
    },
    {
      "slug": "copilot-cli",
      "name": "GitHub Copilot CLI",
      "subtitle": "GitHub Terminal AI Assistant",
      "description": "GitHub Copilot in the CLI (gh copilot). Generate shell commands, terminal workflows, and API calls for Danish digital infrastructure.",
      "ecosystemUrl": "https://github.com/features/copilot",
      "compatibleCategories": [
        "cli",
        "api"
      ],
      "snippetType": "python_native",
      "badge": "GitHub Terminal AI",
      "faqs": [
        {
          "question": "How do I use GitHub Copilot CLI with Danish APIs?",
          "answer": "Use \"gh copilot suggest\" or custom alias commands configured with Danish API client scripts."
        }
      ],
      "url": "https://agentaccess.dk/for/copilot-cli",
      "url_da": "https://agentaccess.dk/da/for/copilot-cli"
    },
    {
      "slug": "openclaw",
      "name": "OpenClaw Agent",
      "subtitle": "Autonomous Web Scraping & Browser Automation",
      "description": "Deploy OpenClaw autonomous agents to extract structured data, navigate complex Danish web portals, and automate browser actions across government and commercial platforms.",
      "ecosystemUrl": "https://github.com/openclaw/openclaw",
      "compatibleCategories": [
        "browser",
        "api"
      ],
      "snippetType": "openclaw_py",
      "badge": "Autonomous Browser Agent",
      "faqs": [
        {
          "question": "How does OpenClaw handle complex Danish web portals?",
          "answer": "OpenClaw combines Playwright headless browsing with vision models and DOM parsing to navigate dynamic forms, search bars, and pagination on Danish portals."
        },
        {
          "question": "Can OpenClaw interact with systems behind login?",
          "answer": "Yes, session cookies or state files can be passed to OpenClaw. Any action requiring MitID must remain human-in-the-loop for authentication."
        }
      ],
      "url": "https://agentaccess.dk/for/openclaw",
      "url_da": "https://agentaccess.dk/da/for/openclaw"
    },
    {
      "slug": "opencode",
      "name": "OpenCode Agent",
      "subtitle": "Terminal AI Coding Assistant",
      "description": "Open-source terminal AI coding assistant. Equip OpenCode with Danish MCP tools and web access for automated refactoring, API integration, and codebase maintenance.",
      "ecosystemUrl": "https://github.com/sst/opencode",
      "compatibleCategories": [
        "mcp",
        "cli",
        "api"
      ],
      "snippetType": "mcp_json",
      "badge": "Terminal Agent",
      "faqs": [
        {
          "question": "How does OpenCode execute Danish system tools?",
          "answer": "OpenCode reads MCP servers configured in your local environment, allowing terminal prompts to query live Danish APIs while writing code."
        }
      ],
      "url": "https://agentaccess.dk/for/opencode",
      "url_da": "https://agentaccess.dk/da/for/opencode"
    },
    {
      "slug": "hermes",
      "name": "Hermes Agent",
      "subtitle": "Nous Research Open-Weights Agent Protocol",
      "description": "Structure tool calling and function schemas for Nous Research Hermes 3 and Hermes Agent models querying Danish enterprise and public datasets.",
      "ecosystemUrl": "https://nousresearch.com",
      "compatibleCategories": [
        "api",
        "mcp"
      ],
      "snippetType": "hermes_json",
      "badge": "Open-Weights Model Spec",
      "faqs": [
        {
          "question": "How are Hermes function calls formatted for Danish APIs?",
          "answer": "Hermes uses standard JSON Schema tool declarations wrapped in system prompts or OpenAI-compatible tool arrays for zero-shot function invocation."
        }
      ],
      "url": "https://agentaccess.dk/for/hermes",
      "url_da": "https://agentaccess.dk/da/for/hermes"
    },
    {
      "slug": "hermes-desktop",
      "name": "Hermes Desktop",
      "subtitle": "Nous Research Hermes 3 Desktop Agent",
      "description": "Run Nous Research Hermes 3 desktop application connected to Danish MCP servers and REST API endpoints for autonomous research and local tool execution.",
      "ecosystemUrl": "https://nousresearch.com",
      "compatibleCategories": [
        "mcp",
        "api"
      ],
      "snippetType": "mcp_json",
      "badge": "Desktop Agent App",
      "faqs": [
        {
          "question": "How do I add Danish system tools to Hermes Desktop?",
          "answer": "Configure Hermes Desktop with the mcpServers JSON block provided on this page to enable native function calling for Danish public databases."
        }
      ],
      "url": "https://agentaccess.dk/for/hermes-desktop",
      "url_da": "https://agentaccess.dk/da/for/hermes-desktop"
    },
    {
      "slug": "goose",
      "name": "Goose AI Agent",
      "subtitle": "Block’s Open-Source Developer Agent",
      "description": "Goose open-source AI agent framework built by Block. Connect Goose to Danish MCP extensions for terminal automation, database queries, and web data extraction.",
      "ecosystemUrl": "https://block.github.io/goose",
      "compatibleCategories": [
        "mcp",
        "cli",
        "api"
      ],
      "snippetType": "mcp_json",
      "badge": "Open-Source Agent",
      "faqs": [
        {
          "question": "How do I add MCP tools to Goose?",
          "answer": "Add the MCP extension command to your ~/.config/goose/config.yaml configuration file."
        }
      ],
      "url": "https://agentaccess.dk/for/goose",
      "url_da": "https://agentaccess.dk/da/for/goose"
    },
    {
      "slug": "droid",
      "name": "Droid Agent",
      "subtitle": "Autonomous Developer Droid",
      "description": "Autonomous software engineering Droid agent capable of running end-to-end tasks, API integrations, and system testing against Danish platforms.",
      "ecosystemUrl": "https://github.com",
      "compatibleCategories": [
        "mcp",
        "api",
        "cli"
      ],
      "snippetType": "mcp_json",
      "badge": "Autonomous Droid",
      "faqs": [
        {
          "question": "Can Droid agents run headless MCP tools?",
          "answer": "Yes, Droid agents execute STDIO and HTTP MCP servers in isolated worker threads."
        }
      ],
      "url": "https://agentaccess.dk/for/droid",
      "url_da": "https://agentaccess.dk/da/for/droid"
    },
    {
      "slug": "oh-my-pi",
      "name": "Oh My Pi",
      "subtitle": "Terminal Prompt & Agent Environment",
      "description": "Oh My Pi terminal AI environment for configuring prompt chains, local tool execution, and Danish system lookup helpers.",
      "ecosystemUrl": "https://github.com",
      "compatibleCategories": [
        "cli",
        "api",
        "mcp"
      ],
      "snippetType": "python_native",
      "badge": "Terminal Shell AI",
      "faqs": [
        {
          "question": "How do I trigger Danish API calls in Oh My Pi?",
          "answer": "Bind the custom shell function or Python execution script provided on this page into your terminal configuration."
        }
      ],
      "url": "https://agentaccess.dk/for/oh-my-pi",
      "url_da": "https://agentaccess.dk/da/for/oh-my-pi"
    },
    {
      "slug": "pi",
      "name": "Pi Agent",
      "subtitle": "Personal Assistant & Tool Executor",
      "description": "Pi personal AI assistant tool integrations for querying Danish local data, transport schedules, and public statistics.",
      "ecosystemUrl": "https://inflection.ai",
      "compatibleCategories": [
        "api"
      ],
      "snippetType": "python_native",
      "badge": "Personal AI Agent",
      "faqs": [
        {
          "question": "Can Pi access Danish transport data?",
          "answer": "Yes, through Rejseplanen and open mobility API integrations cataloged on AgentAccess."
        }
      ],
      "url": "https://agentaccess.dk/for/pi",
      "url_da": "https://agentaccess.dk/da/for/pi"
    },
    {
      "slug": "pool",
      "name": "Pool Swarm Engine",
      "subtitle": "Multi-Agent Swarm Orchestrator",
      "description": "Pool multi-agent swarm orchestration engine for distributing parallel tasks, company batch processing, and high-volume data harvesting across Danish APIs.",
      "ecosystemUrl": "https://github.com",
      "compatibleCategories": [
        "api",
        "mcp"
      ],
      "snippetType": "python_native",
      "badge": "Swarm Orchestrator",
      "faqs": [
        {
          "question": "How does Pool orchestrate batch queries to Danish systems?",
          "answer": "Pool distributes parallel async workers across rate-limited endpoints with automatic backoff and retry handling."
        }
      ],
      "url": "https://agentaccess.dk/for/pool",
      "url_da": "https://agentaccess.dk/da/for/pool"
    },
    {
      "slug": "python",
      "name": "Native Python",
      "subtitle": "Async httpx & requests integrations",
      "description": "Clean, zero-dependency async Python client functions using httpx and pydantic for querying Danish public APIs and open data services.",
      "ecosystemUrl": "https://python.org",
      "compatibleCategories": [
        "api",
        "mcp",
        "cli",
        "browser"
      ],
      "snippetType": "python_native",
      "badge": "Python Standard",
      "faqs": [
        {
          "question": "What Python libraries are recommended for Danish APIs?",
          "answer": "We recommend using httpx for async HTTP requests and pydantic v2 for parsing Danish API JSON schemas."
        }
      ],
      "url": "https://agentaccess.dk/for/python",
      "url_da": "https://agentaccess.dk/da/for/python"
    },
    {
      "slug": "grok-bot",
      "name": "Grok Bot",
      "subtitle": "xAI Autonomous Agent & Tool Calling",
      "description": "Integrate xAI Grok and Grok Bot with Danish digital infrastructure, public registers, and real-time open data via structured OpenAI-compatible tool calling and API endpoints.",
      "ecosystemUrl": "https://x.ai",
      "compatibleCategories": [
        "api",
        "mcp"
      ],
      "snippetType": "grok_py",
      "badge": "xAI Agent",
      "faqs": [
        {
          "question": "How do I enable Danish data tools in Grok Bot?",
          "answer": "Pass the structured OpenAI-compatible tool declaration provided on this page into your xAI client request targeting the api.x.ai/v1 endpoint."
        },
        {
          "question": "Can Grok Bot access live Danish registers in real time?",
          "answer": "Yes, Grok Bot can execute live function calls to query CVR company data, DAWA addresses, DMI weather feeds, and public datasets in real time."
        },
        {
          "question": "Does Grok Bot require authentication for Danish APIs?",
          "answer": "Public Danish APIs (such as CVR, DAWA, and DMI) do not require credentials, while private or restricted endpoints require API tokens configured in environment variables."
        }
      ],
      "url": "https://agentaccess.dk/for/grok-bot",
      "url_da": "https://agentaccess.dk/da/for/grok-bot"
    },
    {
      "slug": "meta-ai",
      "name": "Meta AI",
      "subtitle": "Meta AI Assistant & Llama Agent Ecosystem",
      "description": "Integrate Meta AI agents and open-weights Llama models (Llama 3.3, 3.2, 3.1) with Danish public registers, CVR company data, DAWA addresses, and digital infrastructure via structured tool calling.",
      "ecosystemUrl": "https://ai.meta.com",
      "compatibleCategories": [
        "api",
        "mcp"
      ],
      "snippetType": "meta_ai_py",
      "badge": "Meta AI / Llama",
      "faqs": [
        {
          "question": "How do I connect Danish APIs to Meta AI and Llama models?",
          "answer": "Use the structured Python function calling definition provided on this page. Meta Llama 3.1, 3.2, and 3.3 models support native function calling via the standard OpenAI-compatible tool schema used by Llama Stack, Ollama, vLLM, and hosted cloud providers."
        },
        {
          "question": "Can Meta AI query live Danish registers like CVR or DAWA?",
          "answer": "Yes. With function calling configured, Meta AI agents can execute live queries against CVR company records, DAWA address registers, DMI weather APIs, and public energy datasets in real time."
        },
        {
          "question": "Does Meta AI require MitID or NemLog-in for Danish public data?",
          "answer": "No. Open Danish public APIs require no citizen authentication. Any private workflow requiring MitID or NemLog-in must incorporate a human-in-the-loop (HITL) step."
        }
      ],
      "url": "https://agentaccess.dk/for/meta-ai",
      "url_da": "https://agentaccess.dk/da/for/meta-ai"
    }
  ]
}