Discover/Shurfan API
live

Shurfan APIshurfan.net

Access Shurfan Perfumes product catalog via API. Retrieve names, prices in SAR, category tags, sales rank, and images for Saudi fragrance products.

This API takes change requests — .
Endpoint health
verified 3h ago
list_products
1/1 passing latest checkself-healing
Endpoints
1
Updated
3h ago

What is the Shurfan API?

The Shurfan Perfumes API exposes one endpoint — list_products — that returns up to 10 fields per product from shurfan.net, a Saudi Arabian fragrance and perfume oil retailer. Each response includes product title, price in SAR, category tags, sales rank, image URL, and vendor, all sorted by best-selling order by default. Keyword search, category filtering, and page-based pagination are supported.

This call costs1 credit / call— charged only on success
Try it
Page number for pagination (1-indexed).
Number of products per page (1-100).
Search keyword to filter products by name or description. Omitting returns all products.
Filter by product category tag (e.g. musk, fruits, flower, acords, oriental, for him, for her, unisex, niche, new). Omitting returns all categories.
api.parse.bot/scraper/8b03ab38-84bd-4742-b46a-232de5e9b1aa/<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/8b03ab38-84bd-4742-b46a-232de5e9b1aa/list_products?page=1&limit=5&query=musk' \
  -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 shurfan-net-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: Shurfan Perfumes SDK — browse best-sellers and search by keyword."""
from parse_apis.shurfan_net_api import Shurfan, InputFormatInvalid

client = Shurfan()

# Browse top-selling products across all categories.
for product in client.products.list(limit=5):
    print(f"{product.sales_rank}. {product.title} — {product.price} {product.currency}")

# Search for rose products filtered by category, drill into first result.
try:
    hit = client.products.list(query="rose", category="flower", limit=1).first()
except InputFormatInvalid as e:
    print(f"Invalid input: {e.message}")
    hit = None

if hit is not None:
    print(f"\nFound: {hit.title} (id={hit.product_id})")
    print(f"  In stock: {hit.in_stock}, Handle: {hit.handle}")
    print(f"  Categories: {', '.join(hit.category)}")

print("\nexercised: products.list (paginated browse + filtered search)")
All endpoints · 1 totalmissing one? ·

List products from Shurfan Perfumes sorted by best-selling (highest sales first). Returns product name, category tags, price in SAR, and sales rank (1 = top seller). Supports keyword search, category/tag filtering, and pagination. Each page returns up to `limit` products; use `page` to paginate through results. The total number of matching products is returned in the response.

Input
ParamTypeDescription
pageintegerPage number for pagination (1-indexed).
limitintegerNumber of products per page (1-100).
querystringSearch keyword to filter products by name or description. Omitting returns all products.
categorystringFilter by product category tag (e.g. musk, fruits, flower, acords, oriental, for him, for her, unisex, niche, new). Omitting returns all categories.
Response
{
  "type": "object",
  "fields": {
    "page": "current page number",
    "limit": "items per page",
    "total": "total number of matching products",
    "has_more": "whether more pages are available",
    "products": "array of product objects, each containing product_id, title, category, price, currency, sales_rank, handle, image_url, vendor, and in_stock"
  },
  "sample": {
    "data": {
      "page": 1,
      "limit": 5,
      "total": 905,
      "has_more": true,
      "products": [
        {
          "price": 37,
          "title": "Japanese Cherry",
          "handle": "japanese-cherry",
          "vendor": "Shurfan Perfumes",
          "category": [
            "fruits"
          ],
          "currency": "SAR",
          "in_stock": true,
          "image_url": "https://cdn.shopify.com/s/files/1/0454/8909/4812/products/Japaneesecherry_large.jpg?v=1667296756",
          "product_id": "5959659323548",
          "sales_rank": 1
        },
        {
          "price": 37,
          "title": "Lavender Flower",
          "handle": "lavender-flower",
          "vendor": "Shurfan Perfumes",
          "category": [
            "acords",
            "flower",
            "fruits"
          ],
          "currency": "SAR",
          "in_stock": true,
          "image_url": "https://cdn.shopify.com/s/files/1/0454/8909/4812/products/lavenderflower-_1_large.jpg?v=1667226034",
          "product_id": "5959636746396",
          "sales_rank": 2
        }
      ]
    },
    "status": "success"
  }
}

About the Shurfan API

What the API Returns

The list_products endpoint returns a paginated array of products from Shurfan's catalog. Each product object includes product_id, title, category, price, currency (SAR), sales_rank, handle, image_url, vendor, and additional fields. The sales_rank field is 1-indexed, so rank 1 indicates the top-selling item on the site. Products are returned in ascending sales rank order by default.

Filtering and Pagination

You can narrow results using the query parameter to match product names or descriptions, or the category parameter to filter by tag. Supported category tags include musk, fruits, flower, acords, oriental, for him, for her, unisex, and niche, among others. Pagination is controlled by page (1-indexed) and limit (1–100 items per page). The response envelope includes total (matching product count), has_more (boolean), page, and limit, so you can walk the full catalog programmatically.

Coverage Notes

All prices are denominated in SAR (Saudi Riyal), reflecting Shurfan's Saudi market focus. The API covers publicly listed products on shurfan.net. Sales rank is derived from the site's own best-seller ordering, not a calculated external metric.

Reliability & maintenanceVerified

The Shurfan API is a managed, monitored endpoint for shurfan.net — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when shurfan.net 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 shurfan.net 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
3h ago
Latest check
1/1 endpoint 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
  • Track which Shurfan fragrances hold the top sales ranks over time using the sales_rank field
  • Build a price comparison tool for Saudi perfume oils by querying price in SAR across categories
  • Filter the catalog by category tags like oriental or niche to populate curated fragrance collections
  • Monitor inventory breadth by paginating through the full catalog and counting products per category
  • Pull product image_url and title fields to populate a fragrance discovery or recommendation interface
  • Search for specific scent profiles using the query parameter to match keywords in product names
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 Shurfan have an official developer API?+
Shurfan (shurfan.net) does not publish an official developer API or documented data access program.
What does `sales_rank` represent and how is it assigned?+
The sales_rank field reflects the product's position in Shurfan's best-seller ordering, where rank 1 is the top-selling item. Ranks are assigned based on the site's own sales data and ordering logic, not independently computed.
Does the API return product reviews or customer ratings?+
Not currently. The list_products endpoint returns product metadata — title, price, category, sales rank, image URL, and vendor — but does not include customer reviews or star ratings. You can fork this API on Parse and revise it to add a reviews endpoint if that data becomes relevant to your use case.
Can I retrieve individual product detail pages, such as full descriptions or ingredient lists?+
Not currently. The API returns summary-level fields per product. Extended details like full descriptions, ingredient lists, or volume options are not included in the current response shape. You can fork this API on Parse and revise it to add a product detail endpoint covering those fields.
Are there any regional or catalog coverage limitations I should know about?+
The catalog reflects Shurfan's publicly listed products, which are priced in SAR and targeted at the Saudi market. Products that are unlisted, out of stock and hidden, or accessible only after login are not covered by the current endpoint.
Page content last updated . Spec covers 1 endpoint from shurfan.net.
Related APIs in EcommerceSee all →
alsharqiyah.com API
Browse and explore Alsharqiyah Oud's complete catalog of premium Saudi Arabian perfumes and oud products, viewing categories, product listings, and detailed information for each item. Get instant access to product details to compare options and find exactly what you're looking for from this Salla-based store.
sa.almajed4oud.com API
Browse and retrieve detailed information about Al Majed Oud's perfume and oud collection, including product listings, categories, and pricing from their Saudi Arabian store. Get comprehensive product details to compare offerings and explore their full catalog of fragrances.
3atir.co API
Browse and discover authentic and rare perfumes from 3atir's Saudi e-commerce store by searching through their product catalog, exploring best sellers, filtering by categories, and discovering available brands. Get detailed access to product information, curated collections, and brand offerings to find your perfect fragrance.
dokhoonbahrain.com API
Browse Dokhoon Bahrain's complete perfume and incense catalog to discover product names, categories, prices, and sales popularity all in one place. Get instant access to their current inventory without visiting the website directly.
selfridges.com API
Search and browse Selfridges fragrance products by keyword, category, or brand. Returns detailed product data including fragrance notes, scent tags, pricing, sizing, and product descriptions.
sabon.com.hk API
Browse Sabon Hong Kong's Eau de Sabon perfume collection and view detailed information about fragrance notes and ingredients for each scent. Quickly find and compare perfumes to discover your ideal fragrance profile.
alhamadbags.com API
Browse and retrieve detailed product information from AlhamadBags, a Saudi Arabian luggage and bags store, including product names, prices, categories, and current discounts. Easily search through available inventory and explore product categories to find the bags and luggage you need.
sephora.com API
Search and browse Sephora's product catalog to find detailed information about beauty items, including specifications, customer reviews, Q&A discussions, pricing, and real-time availability. Filter products by category or brand, and access comprehensive brand listings to discover exactly what you're looking for.