The Knot APItheknot.com ↗
Search wedding couples, retrieve registry details, and find vendors by category and location from The Knot via 5 structured API endpoints.
What is the The Knot API?
The Knot API provides 5 endpoints for querying wedding couples, vendor listings, and registry data from The Knot platform. Use search_couples to find couples by name and retrieve registry URLs, or use search_vendors to browse vendor listings by category slug and location slug — each returning pricing, ratings, and UUIDs for deeper lookups. Vendor detail and similarity endpoints extend those results with full business descriptions, address fields, and pricing ranges.
curl -X GET 'https://api.parse.bot/scraper/22b89a1a-43b7-4a51-b36c-03a56835dbc4/search_couples?limit=20&last_name=Smith&first_name=John' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace theknot-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""The Knot API — wedding vendor discovery and couple registry lookup."""
from parse_apis.the_knot_api import TheKnot, CoupleNotFound
client = TheKnot()
# Search for wedding venues in Houston, TX — limit caps total items fetched.
for venue in client.vendorsummaries.search(category="wedding-reception-venues", location="houston-tx", limit=5):
print(venue.name, venue.rating, venue.starting_price)
# Drill into the first venue's full storefront details.
top_venue = client.vendorsummaries.search(category="wedding-reception-venues", location="houston-tx", limit=1).first()
if top_venue:
detail = top_venue.details()
print(detail.name, detail.headline, detail.description[:80])
# Walk similar vendors for that venue.
for similar in detail.similar.list(limit=3):
print(similar.name, similar.review_summary.overall_rating if similar.review_summary else None)
# Search couples and fetch registry details.
couple = client.couples.search(first_name="John", last_name="Smith", limit=1).first()
if couple:
try:
reg = couple.registry.get()
print(reg.first_name, reg.last_name, reg.total_registries)
for r in reg.registries:
print(r.retailer.name)
except CoupleNotFound as exc:
print(f"Registry not found: {exc}")
print("exercised: vendorsummaries.search / details / similar.list / couples.search / registry.get")
Full-text search for wedding couples by first and last name. Returns matching couple records with registry URLs, event dates, and locations. Minimum page size enforced by upstream is 20; values below that are clamped. Each record includes a gvrUrl usable in get_couple_registry for full registry details.
| Param | Type | Description |
|---|---|---|
| limit | integer | Max results to return (minimum 20 enforced by upstream) |
| last_name | string | Last name of a couple member. Omitting returns all matches for first_name. |
| first_namerequired | string | First name of a couple member (required, cannot be empty) |
{
"type": "object",
"fields": {
"total": "integer total number of matching records",
"records": "array of couple objects with id, firstName, lastName, fianceFirstName, fianceLastName, eventDate, city, state, gvrUrl"
},
"sample": {
"data": {
"total": 261,
"records": [
{
"id": "72758062",
"city": "Chicago",
"state": "IL",
"gvrUrl": "https://registry.theknot.com/john-smith-john-smith-june-2026/72758062",
"wwsUrl": null,
"country": null,
"lastName": "Smith",
"location": "Other",
"eventDate": "2026-06-25T00:00:00.000Z",
"firstName": "John",
"isHiddenDate": false,
"fianceLastName": "Smith",
"fianceFirstName": "John",
"hasTransactionalRegistry": false
}
]
},
"status": "success"
}
}About the The Knot API
Couple Search and Registry Data
The search_couples endpoint accepts a required first_name parameter and an optional last_name to return matching couple records. Each record includes firstName, lastName, fianceFirstName, fianceLastName, eventDate, city, state, and a gvrUrl that links directly to the couple's registry page. Note that the minimum page size is 20 — requests for fewer results are clamped to 20. The get_couple_registry endpoint takes that gvrUrl and returns expanded registry details: coupleId, coupleUuid, event date, location, and a registries array listing each linked retail registry with retailer metadata.
Vendor Search and Details
The search_vendors endpoint accepts category and location as slug-formatted strings (e.g. wedding-reception-venues, houston-tx) and a 1-based page integer for pagination. Each result in the vendors array includes a UUID (id), name, starting_price, rating, review_count, and a storefront url. The response also surfaces the category, location, and total_found_on_page for pagination context.
Vendor Deep Dives
get_vendor_details takes a vendor UUID and returns the full storefront profile: name, headline, description, a pricing object with gte/lte cost bounds, a location object with address1, city, state, postalCode, websiteUrl, categories array, vendorId, and accountId. The get_similar_vendors endpoint uses the same UUID input and returns a profiles array with condensed vendor records including location, reviewSummary, and pricing — useful for building comparison or discovery features without an additional search query.
The The Knot API is a managed, monitored endpoint for theknot.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when theknot.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official theknot.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Look up a couple's wedding registry by name to surface retailer links for a gift-purchasing workflow
- Build a vendor directory filtered by category slug (e.g. wedding-photographers) and city-state location
- Aggregate starting price and rating data across vendor search results for pricing benchmarks by market
- Retrieve vendor descriptions and addresses to populate a local wedding services map
- Find similar vendors to a given UUID to power a 'couples also viewed' recommendation widget
- Monitor vendor review counts over time using the rating and review_count fields from search_vendors
- Cross-reference couple eventDate and location fields to analyze seasonal and geographic wedding trends
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does The Knot have an official developer API?+
What does get_couple_registry return beyond basic couple info?+
registries array. Each entry in that array contains retailer-level information for the external stores (such as department or specialty retailers) the couple has linked to their Knot registry page. It does not return individual gift items or inventory from those registries.Does search_vendors return individual gift items or product listings from vendor storefronts?+
Is there a minimum result count enforced on search_couples?+
limit value below 20, it is clamped to 20. There is no way to retrieve fewer than 20 results per call through this endpoint.