Homify APIhomify.com ↗
Access homify.com data via 12 endpoints: search designers and architects, fetch projects, reviews, photos, magazine articles, and DIY guides.
What is the Homify API?
The Homify API exposes 12 endpoints covering the full breadth of homify.com's home design and renovation platform. Use search_professionals to query architects, interior designers, and contractors by keyword, country, or category, then pull their projects, reviews, and profile metadata. Other endpoints surface room inspiration photos by style or category, magazine articles with full content sections, and structured DIY guides with difficulty ratings and cost estimates.
curl -X GET 'https://api.parse.bot/scraper/7fd2f250-cc9e-4694-b051-954e9df6e282/search_professionals?page=1&query=architect&country=US&category_id=2' \ -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 homify-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.
"""Homify API — browse professionals, room photos, articles, and DIY guides."""
from parse_apis.homify_api import Homify, Country, ResourceNotFound
client = Homify()
# Search for architects in the US; limit caps total items fetched.
for pro in client.professionals.search(query="architect", country=Country.US, limit=3):
print(pro.display_name, pro.city, pro.reviews_count)
# Take one professional, then walk sub-resources.
pro = client.professionals.search(query="architect", country=Country.US, limit=1).first()
if pro:
for project in pro.projects.list(limit=3):
print(project.title, project.url)
for review in pro.reviews.list(limit=3):
print(review.author, review.rating)
# Browse room categories then search photos.
for cat in client.roomcategories.list(limit=3):
print(cat.title, cat.slug)
for photo in client.roomphotos.search(query="kitchen", limit=3):
print(photo.id, photo.resource_path)
# List magazine articles and drill into one.
article = client.articles.list(limit=1).first()
if article:
try:
detail = article.detail()
print(detail.title, len(detail.sections))
except ResourceNotFound as exc:
print(f"Article gone: {exc}")
# Unified site search.
result = client.sitesearchresults.search(query="modern")
print(len(result.professionals), "professionals,", len(result.rooms), "rooms")
# List DIY guides.
for guide in client.diyguides.list(limit=3):
print(guide.title, guide.difficulty, guide.cost)
print("exercised: professionals.search / projects.list / reviews.list / roomcategories.list / roomphotos.search / articles.list / article.detail / sitesearchresults.search / diyguides.list")
Search for professionals on homify.com with optional query, category, and country filters. Returns paginated results including professional details such as name, city, category, review stats, and sample photos. Use list_professional_categories to discover valid category_id values.
| Param | Type | Description |
|---|---|---|
| page | string | Page number for pagination. |
| query | string | Search query keyword to filter professionals. |
| country | string | Country code for filtering professionals (e.g. US, DE, GB). |
| category_id | string | Professional category ID to filter by (from list_professional_categories). |
{
"type": "object",
"fields": {
"top_cities": "array of top city objects for the current search context",
"professionals": "object containing result array of professional summaries and pagination metadata"
}
}About the Homify API
Professional Discovery
search_professionals accepts a free-text query, a country code (e.g. US, DE), and a category_id sourced from list_professional_categories, which returns category groups such as Construction & Renovation and Handyman. Results include top_cities, a paginated professionals array, and per-professional summary fields including name, city, category, review stats, and sample photos. From those results you can pass a url_path to get_professional_profile for schema.org structured data and locale/receiverId metadata, to get_professional_projects for project titles, URLs, and thumbnails, or to get_professional_reviews for per-review author, body, rating (integer 0–5), and date fields.
Design Inspiration & Project Details
search_rooms_photos filters inspiration images by query, room_id, and style_id—both ID types come from get_room_categories, which returns hierarchical room categories (some with sub-items) and a flat styles array. Each photo result includes id, image URL, author, and resourcePath. get_project_details takes a project url_path from get_professional_projects and returns the project's title, description, style, a photos array, and attached user info—all scoped to a locale.
Editorial Content
get_magazine_articles returns paginated article listings with url, title, excerpt, author, date, and image. Passing an article's url_path to get_magazine_article_detail returns the full title and a sections array where each item is typed as either text (with a content field) or photo (with a url field). get_diy_guides similarly returns paginated DIY project cards with difficulty, cost, duration, and steps, locale-scoped to us.
Cross-Search
search_site accepts a single required query and returns combined rooms and professionals arrays in one call, useful when you want a quick overview across both content types without issuing two separate requests.
The Homify API is a managed, monitored endpoint for homify.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when homify.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 homify.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?+
- Build a professional directory filtered by trade category and country using
search_professionalsandlist_professional_categories. - Aggregate client reviews for multiple designers by looping
get_professional_reviewsand comparing averageratingfields. - Power a design inspiration gallery by fetching room photos filtered by
style_idfromsearch_rooms_photos. - Generate project portfolios by combining
get_professional_projectsandget_project_detailsto display photos, descriptions, and styles. - Populate a home-renovation content hub with paginated magazine articles and full section content from
get_magazine_article_detail. - Surface structured DIY project cards with difficulty, cost, and step-by-step instructions from
get_diy_guides. - Run unified keyword searches across professionals and room photos in a single request using
search_site.
| 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 homify.com have an official developer API?+
What does `get_professional_reviews` return, and what if a professional has no reviews?+
get_professional_reviews returns an array of review objects, each with author, body, rating (integer 0–5), and date. If the professional has no reviews on the platform, the endpoint returns an empty array rather than an error.Can I filter magazine articles by topic or author?+
get_magazine_articles supports only page for pagination; there is no topic or author filter on that endpoint. get_magazine_article_detail returns the full article content but also carries no built-in filter. You can fork this API on Parse and revise it to add a keyword or author filter endpoint if that capability is needed.Does the API expose professional contact details such as phone numbers or email addresses?+
get_professional_profile returns schema.org structured data, locale, and receiverId metadata, and search_professionals returns summary fields like name, city, category, and review stats. You can fork this API on Parse and revise it to add an endpoint that surfaces contact fields if they become accessible on the profile page.Are DIY guides available for locales other than 'us'?+
get_diy_guides currently returns results with a locale field set to us. Other regional locales are not covered by this endpoint. You can fork the API on Parse and revise it to target additional locale-specific paths if you need content for other regions.