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.
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionget-smb-fundingExecute the skills CLI command in your project's root directory to begin installation:
Fetches get-smb-funding from nav.com/get-smb-funding-2s1rpm and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate get-smb-funding. Access via /get-smb-funding in your agent's command palette.
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 environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
2
total installs
2
this week
0
upvotes
Run in your terminal
2
installs
2
this week
—
stars
| 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 |
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.
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.
| 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}/
# 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.
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.
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).
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.
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.
Cache-Control: private + Vary: Accept-Encoding + Varnish + Strict-Transport-Security. robots.txt explicitly Allow: / except /a/affiliates/ and /partner. Fetch API works first try with no proxy, no stealth.__reactRouterContext stream 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.?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 _data JSON endpoint — it doesn't exist on this surface./api/* paths, no graphql references, no _next/data/ (Nav is Remix, not Next.js). The HTML response is the API.Showing 1 - <!-- -->6<!-- --> of <!-- -->23 in 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 Speed is 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.https://app.nav.com/registration/ is on a different subdomain (app. instead of www.), uses a separate Remix app, and gates everything personalized. The marketplace pages on www.nav.com are the only anonymous read surface.Apply now CTA 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.Cache-Control: private + Varnish means responses are not edge-cached for anonymous viewers; expect 100–400 ms response times depending on region. The X-Cache header reports MISS, MISS on cold reads and HIT, MISS (or vice versa) after warming.One JSON envelope per requested category. Top-level fields are identical across categories; the offers[] shape varies by category.
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"
]
}
{
"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."]
}
]
}
{
"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"
}
]
}
{
"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)"
}
Prerequisites
Time Estimate
15-45 minutes depending on use case complexity
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ 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.
shopee.com.my/search-products-5epzg0
amazon.com/search-products-5170mf
booking.com/search-hotels-asq6cc
aliexpress.com/search-product-p0h8a7
taobao.com/search-products-fac5nw
google.com/search-flights-ts4g1f
get-smb-funding has been reliable in day-to-day use. Documentation quality is above average for community skills.
Keeps context tight: get-smb-funding is the kind of skill you can hand to a new teammate without a long onboarding doc.
We added get-smb-funding from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
Solid pick for teams standardizing on skills: get-smb-funding is focused, and the summary matches what you get after install.
We added get-smb-funding from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
Solid pick for teams standardizing on skills: get-smb-funding is focused, and the summary matches what you get after install.
Solid pick for teams standardizing on skills: get-smb-funding is focused, and the summary matches what you get after install.
Useful defaults in get-smb-funding — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
I recommend get-smb-funding for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
get-smb-funding is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
showing 1-10 of 36