Skip to content

Monthly data report

October 2026 (month to date)

Every number below is the direct output of the SQL query printed under it. Nothing on this page is typed by hand. This month is still in progress — the numbers cover it up to the moment this page rendered.

Data current as of .

Headline numberValue
Submissions received22
Verification rate50%
Median time to verify0.0h
Launches4
Self-scheduled share50%
Indexable share75%

Each figure is expanded, with its own query, in the matching section below.

Submissions
22 received
SourceSubmissions
Web19
MCP3
Show the query
select source, count(*)::int as n
from submissions
where created_at >= '2026-10-01T00:00:00.000Z' and created_at < '2026-10-02T03:17:52.099Z'
  and source not like 'seed%'
group by source
order by source;
Verification
MeasureValue
Submissions received22
Verified11
Verification rate50%
Median time to verify0.0h
Show the query
select
  (select count(*)::int from submissions
     where created_at >= '2026-10-01T00:00:00.000Z' and created_at < '2026-10-02T03:17:52.099Z' and source not like 'seed%') as total,
  (select count(*)::int from submissions
     where created_at >= '2026-10-01T00:00:00.000Z' and created_at < '2026-10-02T03:17:52.099Z' and source not like 'seed%'
       and verified_at is not null) as verified,
  (select percentile_cont(0.5) within group (order by extract(epoch from (verified_at - created_at)) / 3600.0)
     from submissions
     where created_at >= '2026-10-01T00:00:00.000Z' and created_at < '2026-10-02T03:17:52.099Z' and source not like 'seed%'
       and verified_at is not null) as median_hours_to_verify;
Launches
4 launched
MeasureValue
Launched4
Self-scheduled2
Self-scheduled share50%
Show the query
select
  count(*)::int as total,
  count(*) filter (where self_scheduled)::int as self_scheduled
from products
where status = 'launched' and launch_date >= '2026-10-01' and launch_date < '2026-10-03'
  and source not like 'seed%';
Pricing model
Pricing modelLaunches
Free1
Freemium1
Paid1
Pricing unlisted1

No launch this month gave a starting price.

Show the query
select pricing_model, count(*)::int as n
from products
where status = 'launched' and launch_date >= '2026-10-01' and launch_date < '2026-10-03'
  and source not like 'seed%'
group by pricing_model
order by n desc, pricing_model;

select count(*)::int as priced,
       percentile_cont(0.5) within group (order by pricing_amount_usd) as median_price_usd
from products
where status = 'launched' and launch_date >= '2026-10-01' and launch_date < '2026-10-03'
  and source not like 'seed%'
  and pricing_amount_usd is not null;
Categories
Primary category, top 8
CategoryLaunches
Utilities2
Finance1
Team Collaboration1
Show the query
select c.slug, c.name, count(*)::int as n
from product_categories pc
join products p on p.id = pc.product_id
join categories c on c.slug = pc.category_slug
where pc.is_primary
  and p.status = 'launched' and p.launch_date >= '2026-10-01' and p.launch_date < '2026-10-03'
  and p.source not like 'seed%'
group by c.slug, c.name
order by n desc, c.name
limit 8;
Indexability
MeasureValue
Launched4
Indexable3
Indexable share75%
Median description length45 words
Under 100 words4 (100%)

A listing under 100 original words in its description is the single most common reason a page ships noindex — see how ranking works.

Show the query
with launched as (
  select is_indexable,
    case when btrim(coalesce(description, '')) = '' then 0
         else array_length(regexp_split_to_array(btrim(description), '\s+'), 1)
    end as words
  from products
  where status = 'launched' and launch_date >= '2026-10-01' and launch_date < '2026-10-03'
    and source not like 'seed%'
)
select
  count(*)::int as total,
  count(*) filter (where is_indexable)::int as indexable,
  count(*) filter (where words < 100)::int as under_100_words,
  percentile_cont(0.5) within group (order by words) as median_words
from launched;
Referrers
Submission first-touch attribution
ReferrerSubmissions
Unattributed14
ChatGPT3
MCP3
Other2
Show the query
select
  case
    when referrer_source = 'chatgpt.com' then 'chatgpt.com'
    when referrer_source = 'mcp' then 'mcp'
    when referrer_source is null then 'unattributed'
    else 'other'
  end as bucket,
  count(*)::int as n
from submissions
where created_at >= '2026-10-01T00:00:00.000Z' and created_at < '2026-10-02T03:17:52.099Z'
  and source not like 'seed%'
group by bucket
order by n desc;
Page requests
/tool/[slug], by requester type
RequesterRequests
Human888
Crawler508
AI agent105
Other98
Show the query
select bucket, sum(n)::int as n
from listing_requests
where day >= '2026-10-01' and day < '2026-10-03'
group by bucket
order by n desc;
Top launches
By points (votes + listing score)

fiscusai.org

KOBİ'ler için e-Fatura/e-Arşiv hazırlık ve durum takibi, ön muhasebe, banka mutabakatı, tahsilat ve insan onaylı…

Paid

atopu.com

A calm, local-first workspace for browser tabs

Freemium

photogenerai.com

Create photos from text or edit your own with PhotoGenerAI.

Pricing unlisted

coilr.org

Free
Show the query
select *
from products
where status = 'launched' and launch_date >= '2026-10-01' and launch_date < '2026-10-03'
  and source not like 'seed%'
order by (votes_count + ai_score) desc, launch_date desc
limit 10;