Markdown & JSON Formats
Category: Developers Last updated: 2026-07-12
Owning is built API-first. Every listing is available not just as an HTML page, but also as structured JSON and lightweight Markdown — making it easy for humans, AI agents, and automated systems to consume listing data without parsing HTML.
Why two formats?
| Format | Best for | Human-readable | Machine-readable |
|---|---|---|---|
| HTML | Web browsing | ✅ | ❌ |
| JSON | API integration, scripts, agents | ❌ | ✅ |
| Markdown | AI agents, content pipelines, quick reads | ✅ | ✅ |
Markdown combines the best of both worlds: it's readable by humans and trivially parseable by machines. AI agents can read a Markdown listing and understand the item without any HTML scraping.
Getting a listing as JSON
Every listing is available as JSON via the API:
# By slug
curl https://api.owning.pro/api/listings/canon-eos-rebel-t3i-dslr
# By ID
curl https://api.owning.pro/api/listings/lst_01KX8ZMGNVZ4BZXWGTJR7FNHH1
The response includes all listing fields: title, description, price, condition, category, attributes, images, location, seller info, and metadata.
Getting a listing as Markdown
Append .md to any listing URL to get the Markdown version:
# By slug
curl https://api.owning.pro/api/listings/canon-eos-rebel-t3i-dslr.md
# By ID
curl https://api.owning.pro/api/listings/lst_01KX8ZMGNVZ4BZXWGTJR7FNHH1.md
The Markdown response includes YAML frontmatter with structured metadata, followed by the listing content in readable Markdown:
---
title: "Canon EOS Rebel T3i DSLR Camera"
price: 250
currency: "EUR"
condition: "good"
category: "electronics"
slug: "canon-eos-rebel-t3i-dslr"
brand: "Canon"
model: "EOS Rebel T3i"
location:
city: "Berlin"
country: "DE"
---
# Canon EOS Rebel T3i DSLR Camera
Detailed description of the item...
## Specifications
- **Brand:** Canon
- **Model:** EOS Rebel T3i
- **Condition:** Good
## Images

Browsing the catalog as JSON
Search and filter listings via the collection endpoint:
# Search by category and price
curl "https://api.owning.pro/api/listings?category=electronics&min_price=100&max_price=500"
# Filter by country and condition
curl "https://api.owning.pro/api/listings?country=ES&condition=good"
# Dynamic attribute filters
curl -G "https://api.owning.pro/api/listings" \
--data-urlencode "category=fashion" \
--data-urlencode "attr[brand]=nike"
The response includes pagination metadata (page, limit, total, pages) so you can iterate through all results.
Categories and asset types
To discover available categories and their attribute schemas:
# List all categories
curl https://api.owning.pro/api/categories
# Get asset type schema (e.g., boats)
curl https://api.owning.pro/api/asset-types/boats
Each asset type defines a set of attributes (e.g., boats has 19 attributes including boat_type, length, engine, year_built; cars has 13 including mileage, fuel, transmission).
Agent discovery
AI agents can discover Owning's capabilities via the .well-known/ai.json manifest:
curl https://owning.pro/.well-known/ai.json
This returns a machine-readable description of the API, available formats, and authentication methods.
MCP server
For AI agents that support the Model Context Protocol, Owning provides an MCP server at mcp.owning.pro with 10 tools (5 read + 5 write) for searching, reading, creating, and managing listings. See the MCP Quickstart for configuration guides for Claude Desktop, Cursor, and other MCP clients.
Learn more
- Developer Onboarding Guide — full API guide
- API Cookbook — 10 practical recipes
- Integration Examples — code in Python, JS, and cURL
- API Reference — complete endpoint documentation
Was this helpful?