
Track Competitor Feature Page Changes with Prismfy for public-signal monitoring.
Prismfy Team
May 8, 2026
The workflow is built around public-signal monitoring, so product and growth teams can track pricing pages, feature pages, docs changes, and announcement patterns without running a crawler.
Feature pages are where competitors tell the market what they think matters. Those pages change constantly. A capability gets renamed. A new workflow gets added. A button label becomes a category name. An old feature gets moved into a broader platform story.
That is useful intelligence, but only if you track it systematically. A one-off search will tell you what exists today. A recurring search plus comparison loop will tell you what changed.
Prismfy gives you the public-web search step through POST /v1/search. Your app can use that output to watch the pages that matter and compare them over time.
Feature pages often change before a salesperson says anything on a call and before a launch is widely discussed elsewhere. If you wait for a press release, you are usually late.
For SaaS teams, those changes matter because the page language shapes perception. If a competitor shifts from "automation" to "orchestration" or from "analytics" to "decisioning," that is a positioning signal, not just a copy edit.
The workflow is simple:
The search layer finds the public pages. Your code turns those pages into a signal.
This TypeScript example tracks feature-page results for one competitor and compares the current snapshot with the previous one.
type Result = {
title?: string
url?: string
content?: string
}
type SearchResponse = {
results?: Result[]
}
const API_URL = "https://api.prismfy.io/v1/search"
const API_KEY = process.env.PRISMFY_API_KEY || "ss_live_YOUR_KEY"
async function fetchFeaturePages(domain: string): Promise<Result[]> {
const response = await fetch(API_URL, {
method: "POST",
headers: {
Authorization: `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
query: "feature product capabilities integrations workflow",
domain,
timeRange: "day",
page: 1,
}),
})
if (!response.ok) {
throw new Error(`Prismfy search failed with ${response.status}`)
}
const data = (await response.json()) as SearchResponse
return (data.results ?? []).slice(0, 5)
}
function compact(results: Result[]) {
return results
.filter((item) => item.url)
.map((item) => ({
url: item.url as string,
title: item.title ?? "",
content: (item.content ?? "").slice(0, 220),
}))
}
function diffSnapshots(previous: ReturnType<typeof compact>, current: ReturnType<typeof compact>) {
const previousUrls = new Set(previous.map((item) => item.url))
const currentUrls = new Set(current.map((item) => item.url))
return {
added: current.filter((item) => !previousUrls.has(item.url)),
removed: previous.filter((item) => !currentUrls.has(item.url)),
}
}
async function run(domain: string) {
const current = compact(await fetchFeaturePages(domain))
const previous: ReturnType<typeof compact> = []
return diffSnapshots(previous, current)
}
The example keeps the comparison basic on purpose. URL churn is easy to detect, and title plus snippet changes usually tell you whether a page was rewritten or merely resurfaced.
Do not confuse feature pages with blog posts. A launch article can be useful, but the product page usually tells you how the company wants the market to understand the feature.
Watch wording, not just URLs. A stable page can still reveal a positioning shift if the headline, subhead, or feature list changes.
Use one query per page family. If you mix feature pages, blog posts, and changelog pages in one query, the signal gets muddy fast.
If a page depends heavily on screenshots, compare the search evidence with a human review before you treat it as a meaningful change.
Prismfy fits because it gives you a direct public-search layer without forcing a crawler or a browser automation stack into the problem. You call POST /v1/search, capture the relevant feature pages, and decide what to compare.
That keeps the workflow simple enough to operationalize. The code stays narrow, and the team sees exactly which public pages triggered the alert.
For SaaS teams, the highest-signal pages are usually pricing, product or feature pages, docs, and official announcements. Those are the places where positioning, packaging, and product direction change first.
Search helps you find the current public page faster, especially when competitors add new landing pages, rename features, or publish updates that are not obvious from a fixed watchlist alone.
Create a Prismfy key, test POST /v1/search, and wire the search step into the workflow you care about first.
Try it free
Free tier includes 3,000 requests per 30 days. No credit card required.