[
  {
    "slug": "norwegian-companies-house",
    "name": "Norwegian Companies House",
    "tagline": "Company intelligence for 500,000+ Norwegian companies",
    "description": "Look up any of 500,000+ Norwegian companies — board members, CEO, financials, industry codes. Data from Brønnøysundregistrene.",
    "status": "live",
    "url": "https://norwegian-companies-house.fly.dev/",
    "repo": "apbopenclaw-boop/norwegian-companies-house",
    "price": "$0.01",
    "currency": "USDC on Base",
    "endpoints": [
      {
        "method": "GET",
        "path": "/company/{org_nr}",
        "description": "Full company details by organization number",
        "price": "$0.01",
        "example_request": "curl https://norwegian-companies-house.fly.dev/company/923609016",
        "example_response": "{\"name\":\"EQUINOR ASA\",\"type\":\"ASA\",\"employees\":21376,...}"
      },
      {
        "method": "GET",
        "path": "/search?q={query}",
        "description": "Search companies by name",
        "price": "$0.01",
        "example_request": "curl https://norwegian-companies-house.fly.dev/search?q=equinor",
        "example_response": "[{\"org_nr\":\"923609016\",\"name\":\"EQUINOR ASA\",...}]"
      },
      {
        "method": "GET",
        "path": "/person/{name}",
        "description": "Find companies by board member or CEO name",
        "price": "$0.01",
        "example_request": "curl https://norwegian-companies-house.fly.dev/person/Anders%20Opedal",
        "example_response": "[{\"org_nr\":\"923609016\",\"role\":\"Daglig leder\",...}]"
      }
    ],
    "details": "Data sourced from Brønnøysundregistrene (the Norwegian Register of Business Enterprises). Updated regularly. Covers all active Norwegian companies including AS, ASA, NUF, ENK, and more.\n\nReturns structured JSON with company name, type, registration date, address, industry codes (NACE), number of employees, board members, CEO, and financial data where available."
  },
  {
    "slug": "bhrefs",
    "name": "bhrefs — SEO Tools",
    "tagline": "Backlinks with Domain Rating, $0.01 per query",
    "description": "Backlink data with Domain Rating (0–100) for every linking site. Competitive gap analysis and email enrichment. Free preview with DR. Powered by Common Crawl Web Graph.",
    "status": "live",
    "url": "https://bhrefs.com/",
    "domain": "bhrefs.com",
    "price": "$0.01",
    "currency": "USDC on Base",
    "endpoints": [
      {
        "method": "GET",
        "path": "/backlinks?domain={domain}",
        "description": "Full backlinks list with DR score (0–100), harmonic rank, PageRank, sorted by DR DESC",
        "price": "$0.01",
        "example_request": "curl https://backlink-finder.fly.dev/backlinks?domain=nytimes.com",
        "example_response": "{\"domain\":\"nytimes.com\",\"backlink_count\":182104,\"backlinks\":[{\"linking_domain\":\"googleapis.com\",\"dr_score\":100,\"harmonic_rank\":1,...}]}"
      },
      {
        "method": "GET",
        "path": "/bundle?domain={domain}",
        "description": "Target's own DR + full backlinks list with per-linker DR. Combo deal.",
        "price": "$0.015",
        "example_request": "curl https://backlink-finder.fly.dev/bundle?domain=nytimes.com",
        "example_response": "{\"domain\":\"nytimes.com\",\"target_dr_score\":78,\"backlink_count\":182104,\"backlinks\":[...]}"
      },
      {
        "method": "GET",
        "path": "/gap?yours={d1}&competitor={d2}",
        "description": "Domains linking to competitor but not to you, with DR per entry",
        "price": "$0.10",
        "example_request": "curl 'https://backlink-finder.fly.dev/gap?yours=cognite.com&competitor=siemens.com'",
        "example_response": "{\"gap_count\":847,\"opportunities\":[{\"domain\":\"techcrunch.com\",\"authority_score\":89}]}"
      },
      {
        "method": "GET",
        "path": "/find?first_name=…&last_name=…&domain=…",
        "description": "Email finder — verified business email for a person",
        "price": "$0.05",
        "example_request": "curl 'https://backlink-finder.fly.dev/find?first_name=John&last_name=Smith&domain=acme.com'",
        "example_response": "{\"email\":\"john.smith@acme.com\",\"confidence\":0.92}"
      },
      {
        "method": "GET",
        "path": "/preview/{domain}",
        "description": "Free preview — top 5 backlinks with DR + target DR",
        "price": "free",
        "example_request": "curl https://backlink-finder.fly.dev/preview/nytimes.com"
      }
    ],
    "details": "Every /backlinks response includes a dr_score (0–100) for each linking domain, derived from Common Crawl Web Graph harmonic centrality on a log-rank scale. Top 5M domains covered. Free /preview shows DR before you pay.\n\nDesigned for AI agents doing SEO research, link prospecting, and competitive analysis. All responses are structured JSON."
  },
  {
    "slug": "aurora",
    "name": "Aurora — Norwegian Weather Intelligence",
    "tagline": "Weather forecasts, marine data, and alerts for Norway and Scandinavian waters",
    "description": "Weather forecasts, marine data, and alerts for Norway and Scandinavian waters. Powered by MET Norway. Pay per query with USDC via x402.",
    "status": "live",
    "url": "https://x402-aurora.fly.dev",
    "price": "$0.005",
    "currency": "USDC on Base",
    "endpoints": [
      {
        "method": "GET",
        "path": "/forecast?lat={lat}&lon={lon}",
        "description": "Weather forecast for a coordinate in Norway/Scandinavia",
        "price": "$0.005",
        "example_request": "curl 'https://x402-aurora.fly.dev/forecast?lat=59.91&lon=10.75'",
        "example_response": "{\"location\":{\"lat\":59.91,\"lon\":10.75},\"forecast\":[...]}"
      },
      {
        "method": "GET",
        "path": "/forecast/city?name={city}",
        "description": "Weather forecast by Norwegian city name",
        "price": "$0.005",
        "example_request": "curl 'https://x402-aurora.fly.dev/forecast/city?name=oslo'",
        "example_response": "{\"city\":\"Oslo\",\"forecast\":[...]}"
      },
      {
        "method": "GET",
        "path": "/marine?lat={lat}&lon={lon}",
        "description": "Marine forecast for Scandinavian waters (waves, wind, currents)",
        "price": "$0.01",
        "example_request": "curl 'https://x402-aurora.fly.dev/marine?lat=60.0&lon=5.0'",
        "example_response": "{\"location\":{\"lat\":60.0,\"lon\":5.0},\"marine\":[...]}"
      },
      {
        "method": "GET",
        "path": "/alerts",
        "description": "Active weather alerts and warnings for Norway",
        "price": "$0.005",
        "example_request": "curl 'https://x402-aurora.fly.dev/alerts'",
        "example_response": "{\"alerts\":[{\"event\":\"Wind\",\"severity\":\"Moderate\",...}]}"
      }
    ],
    "free_endpoints": [
      {
        "method": "GET",
        "path": "/cities",
        "description": "List of 50 Norwegian cities with coordinates (free, no payment required)"
      },
      {
        "method": "GET",
        "path": "/health",
        "description": "Service health check"
      },
      {
        "method": "GET",
        "path": "/api-status",
        "description": "API status and upstream availability"
      }
    ],
    "details": "Data sourced from MET Norway (Meteorologisk institutt), public domain / CC BY 4.0. Aurora caches responses for 30 min (forecast), 1 hr (marine), and 5 min (alerts).\n\nCoverage: latitude 55–81°N, longitude −10 to 35°E — covering mainland Norway, Svalbard, Jan Mayen, and Scandinavian waters.\n\nThe /cities endpoint is free and returns a geocoding list of 50 Norwegian cities, useful for discovering valid city names for the /forecast/city endpoint."
  },
  {
    "slug": "norwegian-statistics",
    "name": "SSB Statistics — All of Norway in Numbers",
    "tagline": "3,785 statistical tables from Statistics Norway (SSB) — search, browse, query",
    "description": "Full access to 3,785+ statistical tables from Statistics Norway (SSB). Population, employment, trade, housing, health, education, energy, environment, and more. Search by topic, get latest data, or run custom filtered queries.",
    "status": "live",
    "url": "https://ssb-statistics.fly.dev/",
    "repo": "apbopenclaw-boop/ssb-statistics",
    "price": "$0.01",
    "currency": "USDC on Base",
    "endpoints": [
      {
        "method": "GET",
        "path": "/search?q={query}",
        "description": "Search 3,785+ SSB statistical tables by topic",
        "price": "$0.01",
        "example_request": "curl 'https://ssb-statistics.fly.dev/search?q=unemployment'",
        "example_response": "[{\"table_id\":\"08517\",\"title\":\"Registered unemployed, by sex and age\",\"category\":\"Labour market and earnings\",...}]"
      },
      {
        "method": "GET",
        "path": "/table/{table_id}",
        "description": "Latest data for a table with default query (last 5 periods, all dimensions)",
        "price": "$0.01",
        "example_request": "curl https://ssb-statistics.fly.dev/table/07459",
        "example_response": "{\"table_id\":\"07459\",\"title\":\"Population and changes during the quarter\",\"data\":[...]}"
      },
      {
        "method": "GET",
        "path": "/table/{table_id}/metadata",
        "description": "Variable codes, dimension values, and time periods for a table",
        "price": "$0.01",
        "example_request": "curl https://ssb-statistics.fly.dev/table/07459/metadata",
        "example_response": "{\"table_id\":\"07459\",\"variables\":[{\"code\":\"Region\",\"values\":[...]}]}"
      },
      {
        "method": "POST",
        "path": "/table/{table_id}",
        "description": "Custom filtered query — specify exact dimensions, values, and time periods",
        "price": "$0.02",
        "example_request": "curl -X POST https://ssb-statistics.fly.dev/table/07459 -H 'Content-Type: application/json' -d '{\"query\":[{\"code\":\"Region\",\"values\":[\"0301\"]}]}'",
        "example_response": "{\"table_id\":\"07459\",\"title\":\"Population...\",\"data\":[{\"Region\":\"0301 Oslo\",...}]}"
      }
    ],
    "free_endpoints": [
      {
        "method": "GET",
        "path": "/health",
        "description": "Service health check — tables cached count and last crawl timestamp"
      }
    ],
    "details": "Full access to Statistics Norway's (SSB) entire public statistical table catalogue — 3,785+ tables covering all aspects of Norwegian society: population, labour, trade, housing, health, education, energy, environment, agriculture, transport, and more.\n\nThe /search endpoint finds tables by topic keyword. Use /table/{id} to get the latest data (last 5 periods, all dimensions). Use /table/{id}/metadata to discover available variables and values. Use POST /table/{id} for precise filtered queries.\n\nData refreshed from SSB API. DuckDB-powered search catalog."
  },
  {
    "slug": "norwegian-property",
    "name": "Norwegian Property & Address",
    "tagline": "Address search, geocoding, elevation, and property data from Kartverket",
    "description": "Norwegian address lookup, geocoding, elevation profiles, and property registry data. Powered by Kartverket (Norwegian Mapping Authority). Pay per query with USDC via x402.",
    "status": "live",
    "price": "$0.005",
    "currency": "USDC on Base",
    "endpoints": [
      {"method": "GET", "path": "/address?q={query}", "description": "Search Norwegian addresses", "price": "$0.005"},
      {"method": "GET", "path": "/elevation?lat={lat}&lon={lon}", "description": "Elevation data for a coordinate", "price": "$0.005"},
      {"method": "GET", "path": "/property/{id}", "description": "Property details by cadastral ID", "price": "$0.005"}
    ]
  },
  {
    "slug": "norwegian-ip-search",
    "name": "Norwegian IP Search",
    "tagline": "Trademarks, patents, and designs from Patentstyret",
    "description": "Search Norwegian trademarks, patents, and industrial designs. Data from Patentstyret (Norwegian Industrial Property Office). Pay per query with USDC via x402.",
    "status": "maintenance",
    "price": "$0.01",
    "currency": "USDC on Base",
    "endpoints": [
      {"method": "GET", "path": "/search?q={query}", "description": "Search trademarks, patents, and designs", "price": "$0.01"},
      {"method": "GET", "path": "/trademark/{id}", "description": "Trademark details", "price": "$0.01"},
      {"method": "GET", "path": "/patent/{id}", "description": "Patent details", "price": "$0.01"}
    ]
  },
  {
    "slug": "norwegian-transport",
    "name": "Norwegian Transport",
    "tagline": "Journey planning, departures, and stops from Entur",
    "description": "Norwegian public transport — journey planning, real-time departures, and stop information. Powered by Entur. Pay per query with USDC via x402.",
    "status": "live",
    "price": "$0.005",
    "currency": "USDC on Base",
    "endpoints": [
      {"method": "GET", "path": "/departures?stop={stop_id}", "description": "Real-time departures from a stop", "price": "$0.005"},
      {"method": "GET", "path": "/journey?from={from}&to={to}", "description": "Journey planning between locations", "price": "$0.005"},
      {"method": "GET", "path": "/stops?q={query}", "description": "Search for stops by name", "price": "$0.005"}
    ]
  }
]
