Search Contractor ToolStack

Find reviews, head-to-head comparisons, category guides, and more.

jobnimbus ai call answering vs servicetitan roofing crm
For Software Vendors

Real ratings from real contractors. Free to embed.

Drop the live, license-verified contractor voting widget on your product page, marketing site, or pricing page. Visitors see real-world scores from real contractors alongside competitors. The kind of third-party trust signal vendor blogs can't fake.

~11 KB minified Async-loaded · zero render blocking Get your snippet →
What You Get
A neutral, third-party trust signal — for free
Verified-contractor consensus, in real time

Scores aggregate license-verified contractor votes (state contractor-board cross-checked) weighted at 70% plus anonymous voters at 30%. Same numbers your visitors see on contractortoolstack.com.

Pay-to-play impossible

Affiliate revenue, advertising, and partnership offers can't move ratings — same editorial independence rules that govern the site. Visitors trust this because we don't sell placement.

~11 KB, async, no render blocking

Subresource Integrity hash on every load. Cloudflare Turnstile bot-check only fetches when a contractor actually submits — not on page load. Won't slow your site.

Free forever

No fee, no setup cost, no contract, no tier upgrade. Vendors aren't paying customers here — they're participants in the same neutral marketplace.

Bundle Specs & Trust Posture
What's actually shipping in the script tag
~11 KB
Minified
esbuild · iife
0
PII captured
Anonymous cookie only
Shadow
DOM isolated
Styles don't leak
Async
Load mode
No render blocking
SOC 2
Type 2
via Supabase

Full security posture documented at /security/

Generate Your Snippet
Pick a category, copy the snippet, paste into your HTML

Setup time: under 5 minutes. No account needed.

Pick a category to generate your snippet.

Setup in 4 Steps
From copy to live widget in under 5 minutes
1
Pick the category your product belongs to

Use the snippet generator above. The widget renders every product in that category — including yours, plus competitors — with live community-vote scores. Visitors see the full picture, which is the trust mechanic.

2
Copy the generated snippet

Three lines: a target div, the async-loading script tag, and a data-target attribute. No keys, no hashes, no configuration — paste and ship.

3
Paste into your site's HTML

Pricing page, comparison page, marketing site — anywhere the widget should render. Loads asynchronously so it never blocks page rendering. The widget self-isolates inside Shadow DOM so its styles don't leak into your site.

4
(Optional) Add your Turnstile site key

Replace the Turnstile placeholder with your own Cloudflare Turnstile site key for additional bot protection on votes submitted from your domain. Leave empty to use our default protection.

Why Categories First
The neutrality is the feature

Visitors don't trust vendor-curated rating blocks. They've seen the same self-rated 4.9-star widgets on every SaaS site for a decade.

A category embed shows your product alongside named competitors with verified-contractor scores. That visible neutrality is what makes the signal credible. Vendors who trust their product win this format.

Per-Product Embed
Coming next — wait list open

Want to embed only your own product's vote widget — no competitors visible? It's coming. The infrastructure is in place: scoring API, embed bundle, and Shadow DOM render path are all built. The per-product render template and build pipeline ship next.

Want a heads-up when it's live? Email info@contractortoolstack.com with subject "Product embed wait list" and we'll ping you on launch.

See It Live
View the widget in production

The widget is currently embedded on every category hub on contractortoolstack.com — same code, same scores, same look as what ships to your site.

Vendor Programs

Four things vendors can buy. Three things they can't.

Forty-plus vendors emailed us this summer asking how to get in front of the contractors who read this site. Here is the straight answer. What's for sale is placement and profile, clearly labeled. What is never for sale: a review, a score, or a spot in a ranking. Rankings are set by the rubric on How We Review and don't move for money.

Verified Vendor Profile
$149/month, or $1,290/year
  • A vendor profile page at /vendors/your-product/ you control: positioning, pricing, trades served, integrations, demo link. Marked "Vendor profile," separate from any editorial review.
  • "Also consider" placement on your category hub, on every head-to-head comparison in your category, and on the alternatives pages, labeled Sponsored.
  • Badge license to display your Contractor ToolStack rating on your site (only if you have an editorial score).
  • Qualified intros included: when a contractor uses our recommendation form in your category and asks for an intro, you get their trade, crew size, timeline, current tool, and the problem, the same day. Vendors without a profile pay $99 per intro.
  • Quarterly fact-check of your review's pricing and feature list, on request.
Category Sponsor · one per category
$399/month, 3-month minimum
  • Everything in Verified Vendor Profile.
  • Top-of-hub sponsor box on your category page, above the ranked chart, labeled Sponsored. The ranked chart itself is untouched.
  • Sponsor slot in the monthly reader email for your category.
  • A hands-on review or update within 45 days if you provide a working account. Same rubric, same odds of a bad score. You don't get to see it first.
  • Exclusivity: one sponsor per category. First come.
Vendor Basic
$99/year
  • A vendor page you control at /vendors/your-product/: positioning, pricing, trades, integrations, screenshots, demo link. Marked "Vendor profile."
  • One current deal or promo posted on the page and in our deals roundup when we run one.
  • Edits any time by email; we publish within two business days.
  • No sponsored placement, no intros. Upgrade to a profile any month and we credit the unused year.
Claim your page · $99/yr
Verified Review Campaign
$299per 30-day campaign, plus gift cards at cost
  • We collect reviews from license-verified contractors who use your product. Verified votes carry 70% of the community score on this site; anonymous votes carry 30%.
  • Incentives are capped at $50 per reviewer and labeled on every review, the same standard G2 and Capterra publish.
  • You get every review, good or bad. We do not filter, and a campaign does not change the editorial score.
  • Your rating widget and badge update automatically as verified reviews land.
Start a campaign · $299
Not for sale: reviews. You can request one free. It publishes when it's done, with whatever score it earns.
Not for sale: scores. Ratings come from the category rubric and verified contractor votes. No sponsor has ever moved one.
Not for sale: rankings. Sponsored placement is always labeled and always outside the ranked list.

Start here

Use this for the free review request, to check whether a category sponsorship is still open, or to ask anything before paying. We reply within one business day.

Common Questions

Will the widget show competitors next to my product?
Yes. The category embed shows every product in that category — vendors cannot cherry-pick to display only themselves. The trust value comes from neutrality. Visitors who see your product alongside named competitors with verified-contractor scores trust the signal more than a vendor-curated rating block.
Can I embed only my own product?
Per-product embeds are not yet shipped. The infrastructure is in place — the API endpoint at /api/poll/scores/product/{slug}/ already exposes per-product community scores, and the embed bundle is type-aware — but the per-product render template and build pipeline are coming next. For now, the category embed is the only option. Email info@contractortoolstack.com for early-access notification.
What data does the widget capture from my visitors?
Anonymous voter cookie ID (random string, no PII), Cloudflare Turnstile token for bot protection, and the standard vote payload (product slug, dimension ratings, trade selection). The widget never sees your visitor's email unless they navigate to contractortoolstack.com to verify their license. IPs are SHA-256 HMAC-hashed before storage — no plaintext IPs are ever written. Full privacy detail at /privacy/.
Can vendors pay to influence ratings or move their product up?
No. Embedded scores are the same community scores shown on contractortoolstack.com. Affiliate revenue, advertising spend, and partnership offers cannot influence ratings. Editorial scores are computed via the published 70/30 + 0.20 calibration formula. Community scores aggregate license-verified contractor votes weighted at 70% plus anonymous voters at 30%. Both are displayed independently and never blended. Full methodology at /how-we-review/.
Will the widget slow down my page?
No. Bundle is approximately 11 KB minified, loads asynchronously (does not block page rendering), and self-isolates inside Shadow DOM so its styles don't leak into your site and your site's styles don't leak in either. Cloudflare Turnstile (for bot protection) only fetches when a contractor actually attempts to submit a vote — never on page load.
Can I customize the widget's colors or layout?
Not in v1. The widget renders inside a Shadow DOM with isolated styling that matches the Contractor ToolStack brand. Theme override and custom CSS hooks are on the roadmap. The neutral charcoal-and-emerald aesthetic is intentional — it signals third-party origin to your visitors, which is the trust mechanic.
How do widget updates work?
The script src points to the latest version automatically — every page load fetches the current bundle from contractortoolstack.com. We ship updates server-side, your snippet stays unchanged. No vendor action required when we deploy.
Is the widget really free?
Yes. Free forever. No fee, no setup cost, no contract, no hidden tier. Vendors who embed the widget aren't paying customers — they're participants in the same neutral marketplace where every contractor software product gets evaluated against the same dimensions.
Last updated: