Discover/Harpersbazaar API
live

Harpersbazaar APIharpersbazaar.com ↗

Search and retrieve Harper's Bazaar editorial articles with full body text, author bios, tags, and shoppable product data via a simple 2-endpoint API.

Endpoint health
verified 1h ago
search_articles
get_article
2/2 passing latest checkself-healing
Endpoints
2
Updated
2h ago

What is the Harpersbazaar API?

The Harper's Bazaar API exposes 2 endpoints that give developers structured access to the site's editorial content across beauty, fragrance, fashion, and more. Use search_articles to query articles by keyword and retrieve article IDs, titles, deks, and publication metadata, then pass any article_id to get_article to retrieve the full article text, author bios, tags, section labels, and an array of shoppable product records including brand, retailer, and price.

This call costs3 credits / call— charged only on success
Try it
1-based results page.
Result ordering: relevance ranking or newest publish date first.
Free-text search keywords, e.g. 'perfume longevity'.
Articles per page; values above 40 are clamped to 40.
→ api.parse.bot/scraper/0c5acbc1-ddd4-4eee-87f2-5dab21ff608f/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/0c5acbc1-ddd4-4eee-87f2-5dab21ff608f/search_articles?sort=relevance&query=perfume+longevity' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 harpersbazaar-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.

"""Walkthrough: Harper's Bazaar Articles SDK — search, drill down, read full text."""
from parse_apis.harpersbazaar_com_api import HarpersBazaar, SearchSort, ArticleNotFound

client = HarpersBazaar()

# Search for articles about fragrance, sorted by relevance.
for summary in client.article_summaries.search(query="perfume longevity", sort=SearchSort.RELEVANCE, limit=5):
    print(summary.title, "|", summary.section, "|", summary.published_at)

# Drill into the first search hit for full article detail.
hit = client.article_summaries.search(query="fragrance tips", limit=1).first()
if hit is not None:
    article = hit.details()
    print(article.title)
    print(article.dek)
    print(f"{article.word_count} words, {len(article.authors)} author(s)")

    # Walk authors with bios.
    for author in article.authors:
        print(f"  {author.name}: {author.bio or 'no bio'}")

    # Show embedded product recommendations if present.
    if article.products:
        for product in article.products[:3]:
            print(f"  {product.brand} — {product.name} (${product.price})" if product.price else f"  {product.brand} — {product.name}")

    # Point-lookup by the discovered article_id.
    try:
        refreshed = client.articles.get(article_id=article.article_id)
        print(f"Refreshed: {refreshed.title}")
    except ArticleNotFound:
        print("Article no longer available")

print("exercised: article_summaries.search / details / articles.get")
All endpoints · 2 totalmissing one? ·

Searches Harper's Bazaar articles by keyword (for example fragrance longevity tips, perfume primer techniques, or an ingredient name) and returns one page of article summaries. Each row is one article with its numeric article_id (feed it to get_article), title, dek, authors, publish date, section, lead image, and canonical URL. Results are paginated: page selects the 1-based page (default 1) and page_size the rows per page (default 20, clamped to a maximum of 40); total_results is the site's total match count and has_more is true while page * page_size is below it. sort chooses relevance ranking (default) or newest-first. One upstream search round trip per call (plus a one-off site bootstrap on the first call). A query the site has no matches for returns total_results 0 and an empty results array as a valid success.

Input
ParamTypeDescription
pageinteger1-based results page.
sortstringResult ordering: relevance ranking or newest publish date first.
queryrequiredstringFree-text search keywords, e.g. 'perfume longevity'.
page_sizeintegerArticles per page; values above 40 are clamped to 40.
Response
{
  "type": "object",
  "fields": {
    "page": "1-based page returned",
    "sort": "ordering applied (relevance | most_recent)",
    "query": "echo of the search keywords used",
    "results": "array of article summaries: article_id (string, input for get_article), title, short_title, dek, description, authors (array of names), published_at / edited_at (ISO 8601 UTC), section, section_slug, subsection, subsection_slug (null when the article has no subsection), content_type, image_url, url",
    "has_more": "true when further pages exist",
    "page_size": "rows per page after clamping",
    "total_results": "site-reported total number of matching articles"
  },
  "sample": {
    "data": {
      "page": 1,
      "sort": "relevance",
      "query": "perfume longevity",
      "results": [
        {
          "dek": "Can a makeup primer be the secret to long-lasting fragrance? I put this viral trend to the test.",
          "url": "https://www.harpersbazaar.com/beauty/a64163009/makeup-primer-for-perfume-hack/",
          "title": "This Genius TikTok Hack Helps Perfume Last All Day",
          "authors": [
            "Jenna Rosenstein"
          ],
          "section": "Beauty",
          "edited_at": "2025-03-13T17:14:32.569774Z",
          "image_url": "https://hips.hearstapps.com/hmg-prod/images/0313-fragranceprimer-00b-67d30b318cda2.jpg",
          "article_id": "64163009",
          "subsection": null,
          "description": "Can a makeup primer be the secret to long-lasting and long-wearing perfume? I put this viral trend to the test.",
          "short_title": "This Genius TikTok Hack Helps Perfume Last All Day",
          "content_type": "Standard Article",
          "published_at": "2025-03-13T17:14:00Z",
          "section_slug": "beauty",
          "subsection_slug": null
        }
      ],
      "has_more": true,
      "page_size": 5,
      "total_results": 18
    },
    "status": "success"
  }
}

About the Harpersbazaar API

Searching Articles

The search_articles endpoint accepts a free-text query parameter (e.g., 'fragrance longevity' or 'SPF moisturizer') and returns a paginated list of article summaries. Each result includes a numeric article_id for use with get_article, plus title, short_title, dek, description, and an authors array. The sort parameter accepts relevance or most_recent, and page_size controls results per page up to a maximum of 40. The has_more boolean and total_results count make cursor-style pagination straightforward.

Full Article Data

get_article takes a single article_id string and returns the complete article record in one call. The response includes body_text as plain text with paragraphs separated by blank lines, a template field that distinguishes standard-article from listicle layouts, section and collections for topical grouping, and a tags array. The authors field is an array of objects containing name, slug, and bio, giving you contributor context alongside the content.

Shoppable Products

Many Harper's Bazaar articles embed product recommendations directly in the editorial copy. The products array returned by get_article surfaces these as structured records: each product has a product_id, label, brand, name, retailer, price (numeric or null), currency, description, and image_url. This lets you extract shoppable items from beauty roundups, fragrance guides, or fashion edits without parsing raw HTML yourself.

Coverage and Format

The API covers articles accessible on harpersbazaar.com, including beauty, fragrance, fashion, and lifestyle editorial. The url field in get_article returns the canonical article URL, and publish/update timestamps let you track content freshness. Both endpoints return JSON.

Reliability & maintenanceVerified

The Harpersbazaar API is a managed, monitored endpoint for harpersbazaar.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when harpersbazaar.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 harpersbazaar.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.

Last verified
1h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a beauty trend tracker by querying search_articles with ingredient keywords like 'niacinamide' and monitoring new editorial coverage over time.
  • Extract shoppable product records from fragrance roundups to populate a recommendation engine with brand, retailer, and price data.
  • Aggregate author bios and article counts from get_article to profile Harper's Bazaar contributors for a media research tool.
  • Classify editorial content by section and tags to train a fashion/beauty topic model on real editorial text.
  • Pipe body_text from listicle-format articles into an NLP pipeline to identify frequently recommended products or brands.
  • Surface the most recent beauty articles via sort=most_recent to populate a content feed with fresh Harper's Bazaar editorial.
  • Cross-reference products[*].retailer and products[*].price fields across multiple articles to compare which retailers appear most in editorial coverage.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Harper's Bazaar have an official developer API?+
Harper's Bazaar does not publish a public developer API. There is no documented endpoint or API key program available at harpersbazaar.com for third-party access to article or product data.
What does `get_article` return beyond the article body?+
get_article returns the full body_text in plain text, plus title, dek, url, section, tags, collections, template (standard-article or listicle), authors with bios, publish and update timestamps, a lead_image, and a products array with structured brand, retailer, and price fields for any shoppable items embedded in the article.
Is there a way to filter `search_articles` by section or date range?+
The search_articles endpoint filters by query keyword and supports sort (relevance or most_recent) and pagination via page and page_size. Section-based or date-range filtering is not currently a parameter. The API covers keyword search and ordering. You can fork it on Parse and revise it to add section or date filtering as an additional endpoint.
Are comments, user ratings, or social engagement counts available?+
Not currently. The API covers article text, metadata, author bios, tags, and embedded product records. Comments, social share counts, and user engagement data are not part of the response. You can fork it on Parse and revise it to add an endpoint targeting that data if it becomes accessible.
How large can a single `get_article` products array be, and are prices always populated?+
The products array size depends entirely on how many shoppable items the article embeds — a fragrance roundup may have many entries while an opinion piece may have none. The price field is typed as number or null, so some product records may return null if pricing information is not available in the article.
Page content last updated . Spec covers 2 endpoints from harpersbazaar.com.
Related APIs in News MediaSee all →
byrdie.com API
Access data from byrdie.com.
vogue.com API
Access data from vogue.com.
smashingmagazine.com API
Access Smashing Magazine's library of articles, books, ebooks, newsletters, and events with powerful search and filtering capabilities. Browse by category, discover related content, explore author profiles, and stay updated with the latest design and web development resources.
apnews.com API
Search for news articles from Associated Press on any topic and retrieve complete article details including headlines, summaries, and content with easy pagination. Stay informed with current news stories by finding and reading articles on subjects that matter to you.
billboard.com API
Get access to Billboard's music charts, latest news, and interviews to stay updated on chart rankings, industry stories, and artist content. Search and retrieve specific articles or page content to find the music news and information you need.
putthison.com API
Search and retrieve articles on men's style and fashion from Put This On, including the ability to browse content by specific authors or find articles on particular topics. Quickly access detailed article information and explore all contributions from your favorite fashion writers on the platform.
bershka.com API
Search and browse Bershka's fashion collection by category, color, and size to find exactly what you're looking for. Get comprehensive product details including prices, materials, and real-time availability to make informed shopping decisions.
hm.com API
Search H&M's US product catalog by keyword and instantly retrieve detailed information like prices, product images, available sizes, and real-time stock availability. Perfect for comparing items, tracking product details, or building shopping applications powered by H&M's current inventory data.