Pooya Machine APIpooyamachine.com ↗
Access products, categories, blog articles, and portfolio projects from Pooya Machine Alborz via 6 structured API endpoints. Filter by category, paginate, and retrieve full specs.
What is the Pooya Machine API?
The Pooya Machine API provides structured access to the full content catalog of Pooya Machine Alborz, an Iranian industrial equipment manufacturer, across 6 endpoints. Use list_products to browse production line machinery with category filtering and pagination, get_product to retrieve Persian and English product titles alongside full technical specifications, and list_projects to pull completed installation portfolio entries — each with its own excerpt, content, and category metadata.
curl -X GET 'https://api.parse.bot/scraper/83e63b49-f0d2-4d99-b8f9-84779ca4f534/list_products?category=1988&per_page=3' \ -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 pooyamachine-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: PooyaMachine SDK — industrial machinery catalog browsing."""
from parse_apis.pooyamachine_com_api import PooyaMachine, InputNotFound
client = PooyaMachine()
# Browse product categories to find filtering options
for cat in client.product_categories.list(limit=5):
print(cat.name, f"({cat.count} products)")
# List products and drill into the first one for full technical specs
product_summary = client.product_summaries.list(limit=1).first()
if product_summary is not None:
product = product_summary.details()
print(product.title)
print(product.content[:200])
# Search blog posts for a topic, then get full article content
post_summary = client.post_summaries.list(search="میکسر", limit=1).first()
if post_summary is not None:
post = post_summary.details()
print(post.title)
print(post.content[:200])
# Point lookup by known ID with error handling
try:
specific = client.products.get(id="21092")
print(specific.title, specific.date)
except InputNotFound:
print("Product not found")
# Browse portfolio projects
for project in client.projects.list(limit=3):
print(project.title, project.date)
print("exercised: product_categories.list / product_summaries.list / details / post_summaries.list / details / products.get / projects.list")
List industrial machinery products with optional category filter and pagination. Returns products sorted by newest first. Each product includes title, excerpt, category IDs, and permalink.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| category | string | Product category ID to filter by. Obtain IDs from list_product_categories endpoint. |
| per_page | integer | Number of products per page (1-100). |
{
"type": "object",
"fields": {
"page": "current page number",
"total": "total number of products matching the filter",
"per_page": "items per page",
"products": "array of product objects with id, title, slug, date, modified, link, excerpt, product_cat, product_tag, featured_media",
"total_pages": "total number of pages"
},
"sample": {
"data": {
"page": 1,
"total": 26,
"per_page": 3,
"products": [
{
"id": 21092,
"date": "2026-08-08T02:08:34",
"link": "https://pooyamachine.com/product/%d9%86%d9%88%d8%a7%d8%b1-%d9%86%d9%82%d8%a7%d9%84%d9%87-%d8%b4%db%8c%d8%a8%d8%af%d8%a7%d8%b1-incline-belt-conveyor/",
"slug": "%d9%86%d9%88%d8%a7%d8%b1-%d9%86%d9%82%d8%a7%d9%84%d9%87-%d8%b4%db%8c%d8%a8%d8%af%d8%a7%d8%b1-incline-belt-conveyor",
"title": "نوار نقاله شیبدار (Incline Belt Conveyor)",
"excerpt": "انتقال مواد به ارتفاع بالاتر با تسمه زاویهدار و پلهدار...",
"modified": "2026-08-08T03:14:54",
"product_cat": [
1988
],
"product_tag": [],
"featured_media": 0
}
],
"total_pages": 9
},
"status": "success"
}
}About the Pooya Machine API
Products and Categories
The list_products endpoint returns machinery listings sorted newest-first, each record including id, title, slug, excerpt, product_cat (array of category IDs), product_tag, and featured_media. Pass a category parameter using an ID retrieved from list_product_categories to filter down to a specific equipment type. list_product_categories exposes the full taxonomy with parent field for hierarchy traversal and count showing how many products belong to each node.
Product Detail
get_product accepts a numeric product_id and returns the complete record, adding a content field containing the full technical specification text in addition to all summary fields. The title field carries both the Persian name and its English equivalent. date and modified are both returned in ISO 8601 format, making freshness tracking straightforward.
Blog Articles
list_posts supports a free-text search parameter alongside a category filter. Known category IDs include 2085 for technical articles and 1777 for general articles. Each post object includes excerpt, categories, tags, and featured_media. Retrieve full article text by passing a post_id to get_post, which adds a content field with the complete article body.
Portfolio Projects
list_projects returns completed industrial installation records. Unlike the product endpoints, the project objects already include content in the list response alongside excerpt, portfolio_cat, and featured_media — no separate detail call is required to read the full project description.
The Pooya Machine API is a managed, monitored endpoint for pooyamachine.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when pooyamachine.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 pooyamachine.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 machinery catalog browser that filters products by category using IDs from
list_product_categories. - Aggregate technical specifications from
get_productcontent fields into a comparison or search index. - Monitor new product additions by tracking
dateandmodifiedfields fromlist_products. - Pull completed installation case studies from
list_projectsto populate a reference projects page. - Index Persian and English machinery terms from
titlefields for multilingual search. - Syndicate technical blog articles using
list_postswith the 2085 category filter for technical content. - Map category hierarchies from
list_product_categoriesparent-child relationships for navigation menus.
| 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 Pooya Machine Alborz have an official public developer API?+
What does `list_product_categories` return and how do I use it with `list_products`?+
list_product_categories returns all category objects, each with an id, name, slug, parent (for hierarchy), count, and description. Pass any category id as the category parameter in list_products to restrict results to that equipment type. Use the parent field to identify top-level categories versus subcategories.Does `list_projects` require a separate detail call to get full project content?+
content requires a get_product call, list_projects already includes the content field in each project object returned by the list response. The excerpt field is also present if you only need the summary.Are product images or media files returned by these endpoints?+
featured_media field (a media ID) on product, post, and project objects, but the API does not currently resolve that ID into a full image URL or metadata record. You can fork this API on Parse and revise it to add a media-resolution endpoint that returns the image URL for a given media ID.Is there any filtering beyond category for `list_products` — for example by tag or date range?+
list_products supports filtering by category and pagination via page and per_page. Tag-based or date-range filtering is not exposed. list_posts adds a search text parameter, but that is not available on the product endpoint. You can fork this API on Parse and revise it to add tag or date filtering for products.