Metrics / zapstore / new_republished_app_count

new_republished_app_count

Counts DISTINCT apps (pubkey, app_d_tag) whose first-ever kind-30063 (zapstore-app-releases) release event falls on that UTC day - apps, not release events.

unit

apps

grain

day (UTC)

series

sparse, full history

key

zapstore.new_republished_app_count@day

Parameters

paramaccepted values
grainday - default day (omit to get the default)
fromoptional inclusive ISO UTC calendar day (YYYY-MM-DD); omit for the series start
tooptional inclusive ISO UTC calendar day (YYYY-MM-DD); omit for today UTC (that day still in progress)
formatcsv | markdown

Query it

MCP tool call against https://dev.nostrolo.gy/mcp (connect your agent):

{
  "name": "nostrology_query_metric",
  "arguments": {
    "metric": "new_republished_app_count",
    "domain": "zapstore",
    "grain": "day"
  }
}

Windowed (inclusive UTC days; both optional):

{
  "name": "nostrology_query_metric",
  "arguments": {
    "metric": "new_republished_app_count",
    "domain": "zapstore",
    "grain": "day",
    "from": "2026-07-01",
    "to": "2026-07-31"
  }
}

Response: a plain-text envelope (window, freshness, column contract, this page's caveats) followed by the data table (csv, or format: "markdown") at day grain.

Response columns

nametypedescription
utc_daydateUTC calendar day (bucketed at UTC, not session TZ)
new_republished_app_countintegerDistinct republished apps whose first release was that day

What is counted

'Republished' means published by the Zapstore curator key EXCEPT that key's own first-party software (the Zapstore Android client, its alpha track, and zapstore-cli), which is natively published despite sharing the key; the partition is the exact complement of the one behind zapstore.new_native_app_count, so the two sum to all apps ever released and never double-count an app.

Caveats

  • First appearance is MIN(created_at) over ALL kind-30063 history, deliberately NOT the kind-32267 (zapstore-app-catalog) catalog: 32267 is replaceable and only the latest revision survives, so its MIN(created_at) returns the latest REPUBLICATION date rather than the first appearance.
  • For republished apps that first appearance is often NOT a Zapstore-era date: a tail of curator republishes carries the UPSTREAM GitHub / F-Droid release date in created_at, so the early part of this series (back to 2015-12-29, years before Nostr existed) is upstream release history, not Zapstore activity - the same provenance caveat as zapstore.republished_release_count, amplified at apps grain because the dedup keeps each app's EARLIEST date (measured 2026-07-30: 112 of 3,094 republished apps, 3.6%, first-appear before 2024).
  • This series counts APPS; for every release event in the same partition (each version, not just the first) use zapstore.republished_release_count, which bounds this one from above day for day.
  • Series is sparse: days with zero new republished apps are omitted.

Freshness in every response is data-derived: latest kind-30063 (zapstore-app-releases) event time.