Put This On APIputthison.com ↗
Search and retrieve articles, full content, and author listings from Put This On, a men's style blog, via 3 structured JSON endpoints.
What is the Put This On API?
The Put This On API gives programmatic access to the full article archive of putthison.com across 3 endpoints, returning structured metadata and HTML content for men's style and fashion articles. The search_articles endpoint lets you query articles by keyword and get back titles, excerpts, authors, categories, and tags in paginated results. You can then fetch a full article's HTML content with get_article, or list all posts from a specific writer using get_author_articles.
curl -X GET 'https://api.parse.bot/scraper/e7003904-87b7-4fed-9e7a-b9da9ab14379/search_articles?query=shoes' \ -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 putthison-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: Put This On SDK — search articles, drill into full content, browse by author."""
from parse_apis.putthison_com_api import PutThisOn, ArticleNotFound
client = PutThisOn()
# Search for articles about shoes, cap at 5 results
for article_summary in client.article_summaries.search(query="shoes", limit=5):
print(article_summary.title, article_summary.date)
# Drill into the first search hit for full article content
hit = client.article_summaries.search(query="leather jacket", limit=1).first()
if hit is not None:
full_article = hit.details()
print(full_article.title)
print(full_article.content[:200])
# Browse more articles by the same author
for piece in client.article_summaries.list_by_author(author_slug=hit.author_slug, limit=3):
print(piece.title, piece.date)
# Direct point lookup by slug with error handling
try:
article = client.articles.get(slug="boots-gunboats-for-dads-grads")
print(article.title, article.author_name)
except ArticleNotFound:
print("Article not found")
print("exercised: article_summaries.search / details / list_by_author / articles.get")
Search articles by keyword query. Returns paginated results with article metadata including title, date, excerpt, author, categories, and tags. Results are ordered by relevance.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| queryrequired | string | Search query string (e.g. 'shoes', 'leather jacket'). |
| per_page | integer | Number of results per page (1-100). |
{
"type": "object",
"fields": {
"page": "current page number",
"total": "total number of matching articles",
"articles": "array of article objects with id, title, slug, date, link, excerpt, author_name, author_slug, categories, tags",
"per_page": "results per page",
"total_pages": "total number of pages available"
},
"sample": {
"data": {
"page": 1,
"total": 3006,
"articles": [
{
"id": 64755,
"date": "2026-06-10T19:56:11",
"link": "https://putthison.com/boots-gunboats-for-dads-grads/",
"slug": "boots-gunboats-for-dads-grads",
"tags": [],
"title": "Boots & Gunboats For Dads & Grads",
"excerpt": "<p>Hi all, Shopkeeper Brynna here.…</p>",
"categories": [
1
],
"author_name": "Brynna",
"author_slug": "brynna"
}
],
"per_page": 3,
"total_pages": 1002
},
"status": "success"
}
}About the Put This On API
What the API Covers
The Put This On API surfaces content from putthison.com, a long-running men's style blog covering topics like tailoring, footwear, fabrics, and wardrobe building. Each of the three endpoints returns structured JSON, making it straightforward to index articles, build reading tools, or analyze editorial trends over time.
Searching and Browsing Articles
The search_articles endpoint accepts a required query string (e.g. 'boots', 'leather jacket') and optional page and per_page parameters (1–100 results per page). Results include per-article fields: id, title, slug, date, link, excerpt, author_name, author_slug, categories, and tags. The response envelope also returns total, total_pages, and per_page so you can walk the full result set programmatically.
Fetching Full Article Content
Passing a slug to get_article — available from any search_articles result — returns the complete article including content (full HTML), excerpt, author_name, categories, tags, date, and the canonical link. The slug field is the URL path segment for the article, not a numeric ID, though an integer id is also returned.
Browsing by Author
The get_author_articles endpoint accepts an author_slug (also surfaced in search_articles and get_article responses) and returns a paginated list of that author's articles alongside an author object containing their name and slug. Pagination parameters (page, per_page) work identically to search_articles.
The Put This On API is a managed, monitored endpoint for putthison.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when putthison.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 putthison.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 search interface over Put This On's article archive using keyword queries via
search_articles. - Aggregate all articles by a specific writer by paginating through
get_author_articlesresults. - Extract and index full article HTML from
get_articlefor offline reading or text analysis. - Track editorial category and tag distributions across the article catalog.
- Generate an author bibliography by collecting
title,date, andlinkfields per author slug. - Monitor publication dates to analyze posting frequency and content trends over time.
- Seed a recommendation engine with article excerpts and tag metadata from search results.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 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.
Does Put This On have an official developer API?+
What does `get_article` return beyond what `search_articles` includes?+
get_article adds the full content field containing the complete article HTML, which is not included in search_articles results. Both share fields like title, slug, date, link, excerpt, author_name, categories, and tags.Can I retrieve article comments or reader engagement data?+
How do categories and tags come back in search results?+
search_articles and get_author_articles results, categories and tags are returned as arrays on each article object. In get_article responses, categories and tags are returned as arrays of IDs rather than human-readable labels.Is there a way to list all articles across the entire site without a search query?+
search_articles requires a query string, so broad browsing without a keyword is not supported. get_author_articles can paginate all posts by a known author. You can fork this API on Parse and revise it to add an endpoint that lists articles without requiring a query term.