get-smb-funding▌
nav.com/get-smb-funding-2s1rpm · updated May 21, 2026
MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.
Enumerate the small-business funding options on Nav's public marketplace — business loans, business credit cards, and trade-credit vendors — returning each offer's lender, dollar range, cost/APR, repayment, and funding speed. Read-only.
| name | get-smb-funding |
| title | Nav Small-Business Funding Marketplace |
| description | >- Enumerate the small-business funding options on Nav's public marketplace — business loans, business credit cards, and trade-credit vendors — returning each offer's lender, dollar range, cost/APR, repayment, and funding speed. Read-only. |
| website | nav.com |
| category | smb-finance |
| tags | - smb-finance - loans - credit-cards - marketplace - read-only - remix |
| source | 'browserbase: agent-runtime 2026-05-18' |
| updated | '2026-05-18' |
| recommended_method | hybrid |
| alternative_methods | - method: url-param rationale: >- Nav serves the marketplace as SSR HTML at https://www.nav.com/marketplace/{slug}/ — a single GET returns the page chrome plus the first 6 offer cards. No auth, no anti-bot, no proxy required. This is the cheapest path for a shortlist. - method: browser rationale: >- Required only when (a) you need offers 7..N — the 'Show more' button is client-side React with no URL or fetch path, or (b) you want to apply UI filters (Financing Type, Annual Revenue, etc.) which are pure React state and ignored on the URL. - method: api rationale: >- Nav exposes no public REST or GraphQL endpoint for the marketplace. Tested ?_data=routes/... (Remix loader pattern) and various ?filter=, ?type=, ?financingType= params — all return the full unfiltered HTML page. The HTML response is the only API; offers 7..N are reachable only by clicking Show more or by decoding the React Router stream payload embedded in the response (custom decoder required). |
| verified | false |
| proxies | false |
Nav Small-Business Funding Marketplace
Purpose
Enumerate the small-business funding options listed on Nav's public marketplace — business loans, business credit cards, and trade credit (net-30+ vendor accounts) — and return each offer's terms (lender, funding amount, cost/APR/factor rate, repayment, funding speed, pros/cons). Read-only; never clicks "Apply now". Returns offers visible to anyone in the world (no auth, no anti-bot). For Nav's personalized MatchFactor ranking, an account is required (see Gotcha below); this skill covers the public/anonymous view only.
When to Use
- "What small-business loans, credit cards, or net-30 vendor accounts are listed on Nav today?"
- A finance agent assembling a comparison shortlist before a user signs up for a marketplace account.
- Daily/weekly cron to detect when a new partner is added to Nav's portfolio (offers list is small and stable enough to diff).
- Anywhere you want the raw partner list — name, lender, dollar ranges, APR/factor rate, funding speed — without scraping each lender's own site.
Workflow
Nav's /marketplace/{slug}/ pages are server-rendered Remix routes. The Browserbase Fetch API (or any plain GET) returns the full HTML including the React Router stream payload, and the first 6 offer cards are fully visible in the rendered DOM. No auth, no anti-bot, no proxy required. Browser driving is only needed if you want offers 7–N (the "Show more" button is client-side JS) or to apply UI filters (filters are React state, ignored on the URL). For the typical "give me a shortlist" use case, the fetch path returns enough.
1. Pick the marketplace category
| slug | What it lists | Count (2026-05-18) |
|---|---|---|
business-loans | Term loans, lines of credit, SBA, MCA, equipment financing, cash advances | 23 offers |
business-credit-cards | Purchase cards, rewards/cash-back, charge cards, fuel cards | 20 offers |
trade-credit | Net-30+ vendor accounts (also reports to business credit bureaus) | 29 vendors |
URL template: https://www.nav.com/marketplace/{slug}/
2. Fetch the page
# Browserbase Fetch API — single 200 OK, ~500 KB HTML body
browse cloud fetch "https://www.nav.com/marketplace/business-loans/" --output bl.json
A plain curl works equally well; nothing about this surface requires Browserbase. The response is text/html; charset=utf-8, Cache-Control: private, served via Varnish.
3. Parse the rendered offer cards (top 6)
Each Apply now button anchors one offer card. Split the HTML on Apply now markers and read each chunk up to the matching Show details. Within a chunk the structure is consistent:
{Offer Name} by {Lender}
{free-text description, optional}
Pros
{pro bullet 1}
{pro bullet 2}
…
Cons
{con bullet 1}
…
Funding Amount {range}
Cost {APR or factor rate or fee}
Repayment Terms {schedule}
Funding Speed {turnaround}
Reference Python parser (stable across the three marketplace slugs):
import json, re
html = open("bl.html").read()
# Collapse tags to pipe-delimited tokens
t = re.sub(r"<[^>]+>", "|", html)
t = re.sub(r"\|+", "|", t)
t = re.sub(r"\s+", " ", t)
chunks = t.split("|Apply now|")[1:] # 0th chunk is the page chrome
offers = []
for ch in chunks:
end = ch.find("Show details")
parts = [p.strip() for p in ch[:end].split("|") if p.strip()]
if not parts: continue
head = parts[0] # "Short-Term Loan by Credibly"
m = re.match(r"^(.*?)\s+by\s+(.+)$", head)
name, lender = (m.group(1), m.group(2)) if m else (head, None)
def field(label):
try: return parts[parts.index(label)+1]
except ValueError: return None
pros, cons = [], []
if "Pros" in parts and "Cons" in parts:
pi, ci = parts.index("Pros"), parts.index("Cons")
fi = parts.index("Funding Amount") if "Funding Amount" in parts else len(parts)
pros, cons = parts[pi+1:ci], parts[ci+1:fi]
offers.append({
"name": name, "lender": lender,
"funding_amount": field("Funding Amount"),
"cost": field("Cost"),
"repayment_terms": field("Repayment Terms"),
"funding_speed": field("Funding Speed"),
"pros": pros, "cons": cons,
})
Read the total count from Showing 1 - <!-- -->6<!-- --> of <!-- -->23 (regex: r"Showing\s+1\s*-\s*<!--\s*-->\s*(\d+)\s*<!--\s*-->\s*of\s*<!--\s*-->\s*(\d+)"). The literal HTML comments in the count badge are React-hydration markers — don't strip them before matching, or write the regex against the rendered text (Showing 1 - 6 of 23) after stripping tags.
4. (Optional) Extract all N offers from the stream payload — without a browser
The rendered DOM only shows the first 6 cards, but all N offers' data is in the initial HTML response, embedded in an inline <script> that calls window.__reactRouterContext.streamController.enqueue("…"). The encoded chunk is ~150 KB and uses a deduplicated positional-reference format (keys like {"_1":2,"_3":-5} where _N is a slot id and the integer is a pointer to another slot's value). Decoding it fully requires a custom resolver, but the offer titles ({Name} by {Lender}) are stored as plain JSON strings and are easy to regex out:
import re
m = re.search(r'__reactRouterContext\.streamController\.enqueue\("((?:[^"\\]|\\.)*)"\)', html)
decoded = m.group(1).encode().decode("unicode_escape")
titles = sorted(set(re.findall(
r'"([A-Z][^"\n]{8,80}\bby\s+[A-Z][A-Za-z &\.-]{2,30})"', decoded)))
# titles: all 21 unique loan-offer titles; the 23 total includes 2 brand variants
Recovering the full per-offer fields (Cost, Speed, Pros, Cons) from the stream requires walking the dedup table — feasible but several hundred lines. In practice: emit the top-6 from the DOM, and if the user explicitly asks for the full list, fall back to the browser path (Step 5).
5. Browser fallback — for offers 7+, filters, or "Apply now" follow-through
Open the page in a Browserbase session, click button: Show more until the rendered count matches total_results, then re-run the Step 3 parser against the post-hydration HTML. Filters (Financing Type, Annual Revenue, Time in Business, Credit Range, Personal Guarantee, etc.) are pure client-side React state — click the relevant checkboxes in the sidebar, then re-extract. No URL or fetch path mirrors them.
SID=$(browse cloud sessions create --keep-alive --proxies | jq -r .id)
browse open "https://www.nav.com/marketplace/business-loans/" --remote -s "$SID"
browse wait load --remote -s "$SID"
# Click "Show more" until 'Showing 1 - N of N results' rendered count == total
browse click 'button[data-testid="show-more-button"]' --remote -s "$SID"
# Repeat ~3x for business-loans (each click reveals 6 more)
browse get markdown body --remote -s "$SID"
browse cloud sessions update "$SID" --status REQUEST_RELEASE
--proxies is not required for the read path, but adding it costs nothing and gives parity with the personalized flow in case Nav later turns on geo-fencing.
6. (Out of scope) Personalized MatchFactor
The "See my options" CTA on every marketplace page (and the Sign up header link) routes to https://app.nav.com/registration/. That form requires email + password + business name + EIN/SSN, after which Nav's MatchFactor service ranks the same partner pool against the supplied business profile (revenue band, time in business, credit range). This is out of scope for this read-only skill — credentials would be needed and Nav would consume an application slot. If you need ranked matches, sign up manually and use a separate authenticated skill.
Site-Specific Gotchas
- No anti-bot whatsoever:
Cache-Control: private+Vary: Accept-Encoding+ Varnish + Strict-Transport-Security.robots.txtexplicitlyAllow: /except/a/affiliates/and/partner. Fetch API works first try with no proxy, no stealth. - Only 6 cards in the rendered DOM, 23 in the payload: SSR renders the first 6 of N offers visibly; the remaining (N−6) are present in the
__reactRouterContextstream payload but not yet hydrated into DOM nodes. Use the stream extractor in Step 4 for inventory questions; use the browser fallback for full offer detail. - URL filter params are ignored:
?financingType=SBA,?filter=…,?type=…,?page=2— all tested, all return the unfiltered 23. Filters are client-side React state only. ?_data=routes/...(Remix loader) is not exposed: tested?_data=routes/marketplace,?_data=routes%2Fmarketplace.business-loans— both return the full HTML page, not loader JSON. Nav appears to be on Remix v2 / React Router Data Router but with the loader-as-data response disabled. Don't waste time looking for a_dataJSON endpoint — it doesn't exist on this surface.- No public REST or GraphQL endpoint: no
/api/*paths, nographqlreferences, no_next/data/(Nav is Remix, not Next.js). The HTML response is the API. - "Showing 1 - 6 of 23" has literal HTML comments inside it: the badge renders as
Showing 1 - <!-- -->6<!-- --> of <!-- -->23in the raw HTML (React hydration markers). Match against the rendered text after stripping tags, or include<!--\s*-->in the regex. Funding Amount/Cost/Repayment Terms/Funding Speedis the canonical field set for business loans. Business credit cards use a different set:Intro APR,Purchase APR,Annual Fee,Welcome Offer. Trade credit uses:credit limit,fees,minimum order,Net-30/60/etc.. Per-category parsers needed.- Personal Guarantee filter is always checked-off by default — Nav lists offers that require a personal guarantee alongside those that don't; this is one of the more useful filters when an LLC wants to limit personal liability exposure. The text "Personal Guarantee" appears in both the sidebar and the offer card descriptions.
- MatchFactor is account-only:
https://app.nav.com/registration/is on a different subdomain (app.instead ofwww.), uses a separate Remix app, and gates everything personalized. The marketplace pages onwww.nav.comare the only anonymous read surface. - All offers carry an
Apply nowCTA that opens a partner-redirect URL (e.g.https://www.nav.com/marketplace/business-loans/<offer-slug>/apply→ 302 to lender). Do not click these; they may consume a partner-application slot and Nav receives a referral fee on completion. Read-only enumeration stops at the offer card. - Advertiser disclosure is embedded: every marketplace page includes Nav's disclosure that partners pay for placement and CTR. The order of offers is therefore commercial, not editorial — useful context if the agent is asked "which is best?".
Cache-Control: private+ Varnish means responses are not edge-cached for anonymous viewers; expect 100–400 ms response times depending on region. TheX-Cacheheader reportsMISS, MISSon cold reads andHIT, MISS(or vice versa) after warming.
Expected Output
One JSON envelope per requested category. Top-level fields are identical across categories; the offers[] shape varies by category.
Business loans (also: any business-loans-style request)
{
"success": true,
"category": "business-loans",
"url": "https://www.nav.com/marketplace/business-loans/",
"total_results": 23,
"returned_results": 6,
"fetched_at": "2026-05-18T22:22:40Z",
"offers": [
{
"name": "Short-Term Loan",
"lender": "Credibly",
"funding_amount": "$5,000 - $600,000",
"cost": "As low as a 1.11 FR",
"repayment_terms": "Daily & Weekly automatic debits; 6 to 15 month repayment terms",
"funding_speed": "As quickly as 4 hours",
"pros": [
"Set payments",
"Pre-qualification, which means you can pre-qualify without hurting your credit",
"With strong cashflow health, low personal credit scores still have great options here"
],
"cons": [
"Must have at least $15,000 a month in deposits",
"Repayment terms maybe shorter for some users"
]
}
],
"full_inventory_titles": [
"Business Cash Advance by Capitalized Business Funding",
"Business Cash Advance by Credibly",
"Business Cash Advance by Rapid Finance",
"Equipment Leasing by American Capital Financial",
"Intermediate-Term Loan by Kapitus",
"Line of Credit by Fundbox",
"Line of Credit by OnDeck",
"Line of Credit by Plexe",
"Line of Credit by Rapid Finance",
"Line of Credit by SBG Funding",
"Line of Credit by SmartBiz",
"Line of Credit or Term Loan by Quantum LS",
"Premier Loan by SBG Funding",
"SBA Loan by SmartBiz",
"Short-Term Loan by Credibly",
"Short-Term Loan by Kapitus",
"Short-Term Loan by National Funding",
"Short-Term Loan by QuickBridge",
"Short-Term Loan by Rapid Finance",
"Term Loan by OnDeck",
"Term Loan by SBG Funding"
]
}
Business credit cards
{
"success": true,
"category": "business-credit-cards",
"url": "https://www.nav.com/marketplace/business-credit-cards/",
"total_results": 20,
"returned_results": 6,
"offers": [
{
"name": "The American Express Blue Business Cash™ Card",
"issuer": "American Express",
"intro_apr": "0% on purchases for 12 months from date of account opening",
"purchase_apr": "16.74% - 28.49% Variable",
"annual_fee": "$0",
"welcome_offer": "Earn a $250 statement credit after you make $3,000 in purchases on your Card in your first 3 months.",
"pros": ["Attractive intro financing offer", "High rates of cash back for business spending", "No annual fee."],
"cons": ["No rewards bonus for initial spending", "Foreign transaction fees."]
}
]
}
Trade credit (net-30+ vendors)
{
"success": true,
"category": "trade-credit",
"url": "https://www.nav.com/marketplace/trade-credit/",
"total_results": 29,
"returned_results": 6,
"offers": [
{
"name": "FEDLIN Cybersecurity Services",
"vendor": "FEDLIN",
"category": "Business services",
"credit_limit": "$5,000-$10,000",
"fees": "No fees",
"minimum_order": "Minimum of $150 per order",
"terms": "Net-30",
"bureau_reporting": ["Equifax"],
"years_in_business": 4,
"website": "fedlin.com"
}
]
}
Failure / blocked
{
"success": false,
"category": "business-loans",
"url": "https://www.nav.com/marketplace/business-loans/",
"error_reasoning": "HTTP 5xx from Varnish / cache layer | unexpected DOM (Nav redesigned the marketplace) | bot block (not observed in 2026-05-18 testing)"
}
How to use get-smb-funding on Cursor
AI-first code editor with Composer
Prerequisites
Before installing skills in Cursor, ensure your development environment meets these requirements:
- ›Cursor installed and configured on your development machine
- ›Node.js version 16.0+ with npm package manager (verify with
node --version) - ›Active project directory or workspace where you want to add get-smb-funding
Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
The skills CLI fetches get-smb-funding from GitHub repository nav.com/get-smb-funding-2s1rpm and configures it for Cursor.
Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
Verify installation
Confirm successful installation by checking the skill directory location:
Reload or restart Cursor to activate get-smb-funding. Access the skill through slash commands (e.g., /get-smb-funding) or your agent's skill management interface.
Security & Verification Notice
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.
List & Monetize Your Skill
Submit your Claude Code skill and start earning
Use Cases▌
Task Automation & Efficiency
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Knowledge Enhancement
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Quality Improvement
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
Implementation Guide▌
Prerequisites
- ›Claude Desktop or compatible AI client with skill support
- ›Clear understanding of task or problem to solve
- ›Willingness to iterate and refine outputs
Time Estimate
15-45 minutes depending on use case complexity
Installation Steps
- 1.Install skill using provided installation command
- 2.Test with simple use case relevant to your work
- 3.Evaluate output quality and relevance
- 4.Iterate on prompts to improve results
- 5.Integrate into regular workflow if valuable
Common Pitfalls
- ⚠Expecting perfect results without iteration
- ⚠Not providing enough context in prompts
- ⚠Using skill for tasks outside its intended scope
- ⚠Accepting outputs without review and validation
Best Practices▌
✓ Do
- +Start with clear, specific prompts
- +Provide relevant context and constraints
- +Review and refine all outputs before using
- +Iterate to improve output quality
- +Document successful prompt patterns
✗ Don't
- −Don't use without understanding skill limitations
- −Don't skip validation of outputs
- −Don't share sensitive information in prompts
- −Don't expect skill to replace human judgment
💡 Pro Tips
- ★Be specific about desired format and style
- ★Ask for multiple options to choose from
- ★Request explanations to understand reasoning
- ★Combine AI efficiency with human expertise
When to Use This▌
✓ Use When
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid When
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
Learning Path▌
- 1Familiarize yourself with skill capabilities and limitations
- 2Start with low-risk, non-critical tasks
- 3Progress to more complex and valuable use cases
- 4Build expertise through regular use and experimentation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.7★★★★★36 reviews- ★★★★★Dhruvi Jain· Dec 12, 2024
get-smb-funding has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Evelyn Abebe· Dec 4, 2024
Keeps context tight: get-smb-funding is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Olivia Malhotra· Nov 23, 2024
We added get-smb-funding from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Oshnikdeep· Nov 3, 2024
Solid pick for teams standardizing on skills: get-smb-funding is focused, and the summary matches what you get after install.
- ★★★★★Ganesh Mohane· Oct 22, 2024
We added get-smb-funding from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Liam Thomas· Oct 14, 2024
Solid pick for teams standardizing on skills: get-smb-funding is focused, and the summary matches what you get after install.
- ★★★★★Naina Torres· Sep 13, 2024
Solid pick for teams standardizing on skills: get-smb-funding is focused, and the summary matches what you get after install.
- ★★★★★Rahul Santra· Sep 5, 2024
Useful defaults in get-smb-funding — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Arjun Rahman· Sep 1, 2024
I recommend get-smb-funding for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Pratham Ware· Aug 24, 2024
get-smb-funding is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
showing 1-10 of 36