Canny Public Roadmap avatar

Canny Public Roadmap

Pricing

Pay per event

Go to Apify Store
Canny Public Roadmap

Canny Public Roadmap

Fetch public Canny roadmap/board posts. One company slug or public URL in. Structured posts out (title, status, score, commentCount, url, createdAt, boardName, tags).

Pricing

Pay per event

Rating

0.0

(0)

Developer

Nock

Nock

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Unpublished / not listed on Apify Store yet. Publisher: Nock.

Fetch public Canny roadmap and board posts over anonymous HTTP. One company slug or public URL in. Structured posts out.

This Actor is not affiliated with, endorsed by, or related to Canny. It only reads pages and JSON that a public Canny portal already serves without a login.

What it does

Give the Actor a public company slug (ahrefs), a public portal URL (https://ahrefs.canny.io), or a public board URL (https://feedback.canny.io/feature-requests). It returns a dataset of public posts with an allowlisted set of fields.

No Canny API key. No login. No cookies. No voter identities, author names, emails, or avatars.

Features

  • One slug or public *.canny.io URL as input
  • Structured posts: title, status, score, commentCount, url, createdAt, boardName, tags
  • Public HTTP/JSON only
  • Private and login-only boards are skipped
  • Pay-per-event ready: one post event per public post written to the default dataset (prices are set later in Apify Console, not in this tree)

Input

FieldTypeRequiredDefaultDescription
boardstringyesCompany slug, public *.canny.io URL, or public board URL
maxPagesintegerno5Number of 10-item pages requested per public board

Example:

{"board":"ahrefs","maxPages":1}

Other accepted board values:

  • ahrefs
  • https://ahrefs.canny.io
  • https://feedback.canny.io/feature-requests

A local example lives at .actor/example_input.json. The Apify CLI apify run path uses storage/key_value_stores/default/INPUT.json.

Output

Each dataset item has only these fields:

FieldTypeSource
titlestring or nullpost title
statusstring or nulle.g. open, planned, in progress, complete
scorenumber or nullpublic vote score
commentCountnumber or nullpublic comment count
urlstring or nullhttps://{subdomain}.canny.io/{board}/p/{urlName}
createdAtstring or nullISO timestamp when the public list includes it
boardNamestring or nullpublic board name
tagsstring[]public tag names only, when present

tags is often []. Public list JSON frequently omits tag names.

What is collected

  • Public post title, status, score, comment count, URL, created time, board name, tag names

What is not collected

  • Author names, author IDs, author, authorID, by
  • Voters, voter identities, emails, avatars
  • Private or login-only boards (settings.access other than public)
  • Empty boards
  • Posts marked notAuthorized

How to run on Apify

This Actor is not published and not listed. After a later upload to an Apify account (not done from this tree):

  1. Open the Actor in Apify Console.
  2. Set input to a public slug such as ahrefs, or another public slug/URL.
  3. Run. Results land in the default dataset.

Do not publish until you have reviewed store listing, icon, and monetization.

How to run locally

Requires Node.js 18+. From this directory, install the listed package.json dependencies, then run scrape.js with a board slug such as ahrefs and optional --max-pages 1.

You can also pass a public portal URL or a public board URL. The CLI path prints JSON to stdout and writes the default local dataset under storage/datasets/default.

If the Apify CLI is present, apify run uses storage/key_value_stores/default/INPUT.json.

Public HTTP endpoints

Anonymous POST with a JSON body. No cookies and no API key.

  • List public boards: https://{subdomain}.canny.io/api/boards/getAll with body {}
  • List public posts: https://{subdomain}.canny.io/api/posts/get with a pages count and optional boardURLNames
  • Public roadmap (optional): https://{subdomain}.canny.io/api/roadmap/get with a pages count

Company-level runs also try the optional roadmap endpoint and merge any extra public posts. Private/login boards are skipped.

Pricing (pay-per-event, not priced in this tree)

The Actor is wired for pay-per-event. Do not invent prices. Configure events in Apify Console when you monetize:

  • apify-actor-start: synthetic platform event charged automatically when a run starts. Do not charge this event from code.
  • post: one event per public post written to the default dataset via Actor.pushData with event name post.

Set prices, free-event allowances, and whether apify-default-dataset-item is enabled in Console. This repository does not include a price list.

Limits

  • Public HTTP/JSON only. No browser automation, no captcha solving, no login.
  • Public boards only. Private or login-gated portals are skipped.
  • Pagination is pages = number of 10-post pages. Large boards need a higher maxPages.
  • This tree is unpublished and not listed. Upload and store publication are separate later steps.

FAQ

Is this an official Canny tool? No. Nock publishes this Actor independently. It is not affiliated with Canny.

Do I need a Canny API key? No. The Actor only calls public HTTP endpoints.

Will I get voter or author data? No. Those fields are stripped. Output is an allowlist.

License

UNLICENSED. Unpublished Actor source for Nock.

Later upload (not performed here)

When you are ready, authenticate the Apify CLI on your machine, then run the CLI push command from this directory. That creates or updates the unpublished Actor on your account. Publishing to the Store is a separate Console step.