Software vendor shortlisting
Produce a buyer-specific shortlist with evidence and unresolved questions.
A vendor's advertised capability, a reviewer's experience, and a capability
verified in the user's environment are different evidence types.
Setup and API contract
Set CRAWLORA_API_KEY to your key from crawlora.net.
Use the bundled scripts/crawlora.sh, which sends x-api-key to
https://api.crawlora.net/api/v1. Read reference/endpoints.md
for selected endpoints and parameters. Check application code as well as HTTP
status; successful payloads are inside data. Stop on authentication errors,
back off on 429, and retry a transient upstream failure once. Bound requests
by the user's scope and credit budget. Preserve source URLs, IDs, retrieved pages,
and timestamps with intermediate evidence so an interrupted comparison can resume.
Establish criteria and discover candidates
- Start with the business workflow, current tools, team size, budget/currency,
deployment needs, required integrations, migration constraints, and must-have
features. Use a supplied vendor list first. Distinguish disqualifying conditions
from preferences, and confirm weights before presenting a weighted ranking.
- Discover candidates through Capterra search, Product Hunt product search, or
Bing. Capterra can return a fallback list for a query with no genuine match:
validate category/use-case relevance rather than accepting every hit.
Bing rejects
site: queries and may mark results low_confidence; resolve
the official domain directly instead of treating a weak hit as confirmation.
- Fetch Capterra product details using returned numeric
product_id. Product
Hunt details accept a slug or ID, but alternatives require a product slug.
Do not substitute a launch/user ID or guess a slug from a brand name. An
alternatives list is a discovery lead, not proof that products meet the same
requirements or have equivalent scope.
- Resolve each product's official website, owner, edition, and regional offer.
Read relevant pricing, feature, integration, deployment, and public trust/docs
pages with
/web/scrape. Its POST body is the flat options object, for example
{"url":"https://vendor.example/pricing","formats":["markdown"]}; do not
wrap it in scrapeOption. Use URLs actually supplied or discovered, not that
illustrative domain. Preserve page sections or short excerpts supporting claims.
scripts/crawlora.sh /capterra/search q="project management"
scripts/crawlora.sh /producthunt/search query="project management" type=product page=1
# Resolve the numeric product ID from search before requesting details/reviews:
# scripts/crawlora.sh /capterra/product product_id="$PRODUCT_ID"
# scripts/crawlora.sh /capterra/product/reviews product_id="$PRODUCT_ID" page=1
Evaluate evidence and tradeoffs
- Build a requirement-by-vendor matrix with supported, unsupported, and unknown
states, source URL/date, edition, and evidence type. Missing evidence is not
evidence of absence. A hard requirement with unknown status leaves a vendor
conditional; marketing silence should not silently disqualify it.
- Capterra's normalized product response provides identity, description, category,
and aggregate rating; it does not guarantee a feature matrix or current pricing.
Its review endpoint promises author, headline, and rating. Use full text, review
dates, company size, and reviewer role only when actually returned; otherwise
state that the sample cannot support those segment or recency conclusions.
- Aggregate review counts can be nonzero while the returned review page is empty.
Report that as no review text collected; do not fabricate themes or infer zero
reviews. Use the other available evidence and flag the missing review sample.
- Sample reviews to find implementation friction and demo questions. Keep source,
sample count, selection method, and available dates. Do not infer population
sentiment, suitability for the user's industry, or statistical significance
from a handful of headlines. Stars and Product Hunt popularity are not fit scores.
- Compare the same pricing basis: edition, seats, active users, usage units,
billing interval, minimum commitment, currency, and mandatory add-ons. An
annual-plan monthly equivalent is not a month-to-month offer. Show scenario
arithmetic and excluded/unknown implementation, migration, support, and tax
costs. Quote-only pricing remains unknown; never invent a total-cost estimate.
- Verify integration claims at the workflow level: native connector versus API,
one-way versus two-way sync, supported objects, and plan restrictions. A logo
does not prove the required data flow works. Public security/compliance claims
should remain attributed claims with dates/scope, not certifications you have
independently audited or guarantees of fitness for the user's requirements.
- Rank on the user's criteria. If using weights, expose the rubric and how unknowns
affect coverage and scores; do not give unknown features zero silently or let
popular products bypass must-haves. Prefer a conditional shortlist when key
evidence needs a demo or trial rather than an unjustified universal winner.
Deliverable
Return the requirements matrix, a justified shortlist, price scenarios, rejected
or conditional candidates with reasons, and a focused demo/trial checklist.
Separate claims, review observations, and your inferences. Include sources and
collection dates, and describe which unresolved answers would change the ranking.
Do not sign up for trials, contact sales, purchase software, or send the user's
internal requirements to vendors unless asked.
1---2name: software-vendor-shortlisting3description: Build a requirements-based software shortlist using Crawlora product discovery, public vendor pages, and review samples. Use to compare vendors against must-haves, pricing assumptions, integration needs, and demo questions before a buying decision.4---56# Software vendor shortlisting78Produce a buyer-specific shortlist with evidence and unresolved questions.9A vendor's advertised capability, a reviewer's experience, and a capability10verified in the user's environment are different evidence types.1112## Setup and API contract1314Set `CRAWLORA_API_KEY` to your key from [crawlora.net](https://crawlora.net).15Use the bundled `scripts/crawlora.sh`, which sends `x-api-key` to16`https://api.crawlora.net/api/v1`. Read [reference/endpoints.md](reference/endpoints.md)17for selected endpoints and parameters. Check application `code` as well as HTTP18status; successful payloads are inside `data`. Stop on authentication errors,19back off on `429`, and retry a transient upstream failure once. Bound requests20by the user's scope and credit budget. Preserve source URLs, IDs, retrieved pages,21and timestamps with intermediate evidence so an interrupted comparison can resume.2223## Establish criteria and discover candidates24251. Start with the business workflow, current tools, team size, budget/currency,26 deployment needs, required integrations, migration constraints, and must-have27 features. Use a supplied vendor list first. Distinguish disqualifying conditions28 from preferences, and confirm weights before presenting a weighted ranking.292. Discover candidates through Capterra search, Product Hunt product search, or30 Bing. Capterra can return a fallback list for a query with no genuine match:31 validate category/use-case relevance rather than accepting every hit.32 Bing rejects `site:` queries and may mark results `low_confidence`; resolve33 the official domain directly instead of treating a weak hit as confirmation.343. Fetch Capterra product details using returned numeric `product_id`. Product35 Hunt details accept a slug or ID, but alternatives require a product slug.36 Do not substitute a launch/user ID or guess a slug from a brand name. An37 alternatives list is a discovery lead, not proof that products meet the same38 requirements or have equivalent scope.394. Resolve each product's official website, owner, edition, and regional offer.40 Read relevant pricing, feature, integration, deployment, and public trust/docs41 pages with `/web/scrape`. Its POST body is the flat options object, for example42 `{"url":"https://vendor.example/pricing","formats":["markdown"]}`; do not43 wrap it in `scrapeOption`. Use URLs actually supplied or discovered, not that44 illustrative domain. Preserve page sections or short excerpts supporting claims.4546```sh47scripts/crawlora.sh /capterra/search q="project management"48scripts/crawlora.sh /producthunt/search query="project management" type=product page=149# Resolve the numeric product ID from search before requesting details/reviews:50# scripts/crawlora.sh /capterra/product product_id="$PRODUCT_ID"51# scripts/crawlora.sh /capterra/product/reviews product_id="$PRODUCT_ID" page=152```5354## Evaluate evidence and tradeoffs5556- Build a requirement-by-vendor matrix with supported, unsupported, and unknown57 states, source URL/date, edition, and evidence type. Missing evidence is not58 evidence of absence. A hard requirement with unknown status leaves a vendor59 conditional; marketing silence should not silently disqualify it.60- Capterra's normalized product response provides identity, description, category,61 and aggregate rating; it does not guarantee a feature matrix or current pricing.62 Its review endpoint promises author, headline, and rating. Use full text, review63 dates, company size, and reviewer role only when actually returned; otherwise64 state that the sample cannot support those segment or recency conclusions.65- Aggregate review counts can be nonzero while the returned review page is empty.66 Report that as no review text collected; do not fabricate themes or infer zero67 reviews. Use the other available evidence and flag the missing review sample.68- Sample reviews to find implementation friction and demo questions. Keep source,69 sample count, selection method, and available dates. Do not infer population70 sentiment, suitability for the user's industry, or statistical significance71 from a handful of headlines. Stars and Product Hunt popularity are not fit scores.72- Compare the same pricing basis: edition, seats, active users, usage units,73 billing interval, minimum commitment, currency, and mandatory add-ons. An74 annual-plan monthly equivalent is not a month-to-month offer. Show scenario75 arithmetic and excluded/unknown implementation, migration, support, and tax76 costs. Quote-only pricing remains unknown; never invent a total-cost estimate.77- Verify integration claims at the workflow level: native connector versus API,78 one-way versus two-way sync, supported objects, and plan restrictions. A logo79 does not prove the required data flow works. Public security/compliance claims80 should remain attributed claims with dates/scope, not certifications you have81 independently audited or guarantees of fitness for the user's requirements.82- Rank on the user's criteria. If using weights, expose the rubric and how unknowns83 affect coverage and scores; do not give unknown features zero silently or let84 popular products bypass must-haves. Prefer a conditional shortlist when key85 evidence needs a demo or trial rather than an unjustified universal winner.8687## Deliverable8889Return the requirements matrix, a justified shortlist, price scenarios, rejected90or conditional candidates with reasons, and a focused demo/trial checklist.91Separate claims, review observations, and your inferences. Include sources and92collection dates, and describe which unresolved answers would change the ranking.93Do not sign up for trials, contact sales, purchase software, or send the user's94internal requirements to vendors unless asked.