Skip to content

Monthly data report

November 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 received44
Verification rate31.8%
Median time to verify0.1h
Launches7
Self-scheduled share14.3%
Indexable share42.9%

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

Submissions
44 received
SourceSubmissions
Web34
MCP10
Show the query
select source, count(*)::int as n
from submissions
where created_at >= '2026-11-01T00:00:00.000Z' and created_at < '2026-11-01T13:35:41.219Z'
  and source not like 'seed%' and not is_internal
group by source
order by source;
Verification
MeasureValue
Submissions received44
Verified14
Verification rate31.8%
Median time to verify0.1h
Show the query
select
  (select count(*)::int from submissions
     where created_at >= '2026-11-01T00:00:00.000Z' and created_at < '2026-11-01T13:35:41.219Z' and source not like 'seed%' and not is_internal) as total,
  (select count(*)::int from submissions
     where created_at >= '2026-11-01T00:00:00.000Z' and created_at < '2026-11-01T13:35:41.219Z' and source not like 'seed%' and not is_internal
       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-11-01T00:00:00.000Z' and created_at < '2026-11-01T13:35:41.219Z' and source not like 'seed%' and not is_internal
       and verified_at is not null) as median_hours_to_verify;
Launches
7 launched
MeasureValue
Launched7
Self-scheduled1
Self-scheduled share14.3%
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-11-01' and launch_date < '2026-11-02'
  and source not like 'seed%';
Pricing model
Pricing modelLaunches
Pricing unlisted6
Free1

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-11-01' and launch_date < '2026-11-02'
  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-11-01' and launch_date < '2026-11-02'
  and source not like 'seed%'
  and pricing_amount_usd is not null;
Categories
Primary category, top 8
CategoryLaunches
Utilities4
AI & ML1
API & Dev Tools1
Landing Pages & Builders1
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-11-01' and p.launch_date < '2026-11-02'
  and p.source not like 'seed%'
group by c.slug, c.name
order by n desc, c.name
limit 8;
Indexability
MeasureValue
Launched7
Indexable3
Indexable share42.9%
Median description length11 words
Under 100 words7 (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-11-01' and launch_date < '2026-11-02'
    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
Unattributed33
MCP10
Other1
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-11-01T00:00:00.000Z' and created_at < '2026-11-01T13:35:41.219Z'
  and source not like 'seed%' and not is_internal
group by bucket
order by n desc;
Page requests
/tool/[slug], by requester type
RequesterRequests
Human1,069
AI agent492
Crawler230
Other40
Show the query
select bucket, sum(n)::int as n
from listing_requests
where day >= '2026-11-01' and day < '2026-11-02'
group by bucket
order by n desc;
Top launches
By points (votes + listing score)

lashmaplab.com

Free editable DIY cluster lash maps using the lengths in your tray.

Launching todayFree
Votes revealed at 17:00 UTC

glypse.ai

Glypse is the AI research engine for prediction markets that transforms market signals into clear

Launching todayPricing unlisted
Votes revealed at 17:00 UTC

lya.bio

One profile. A clear next step.

Launching todayPricing unlisted
Votes revealed at 17:00 UTC

fpstest.vip

Free frame rate test tool.

Launching todayPricing unlisted
Votes revealed at 17:00 UTC

cropimagecircle.com

Crop image circle online with transparent PNG, borders, custom sizes, and full-quality export.

Launching todayPricing unlisted
Votes revealed at 17:00 UTC

addrgen.vip

Generate realistic US addresses with ZIP codes from open datasets and use fake profile fields for QA, demos, and…

Launching todayPricing unlisted
Votes revealed at 17:00 UTC

2facode.im

Generate one or up to 50 TOTP codes locally in your browser.

Launching todayPricing unlisted
Votes revealed at 17:00 UTC
Show the query
select *
from products p
where p.status = 'launched' and p.launch_date >= '2026-11-01' and p.launch_date < '2026-11-02'
  and p.source not like 'seed%'
order by ((case when p.launch_date is not null and now() < ((p.launch_date::timestamp + interval '17 hours') at time zone 'utc') then 0 else p.votes_count end) + p.ai_score) desc, p.launch_date desc
limit 10;