Com APInonyescents.com.ng ↗
Access Nonyescents.com.ng product catalogue and store contact details via API. Browse perfumes, prices, availability, and Port Harcourt store info.
What is the Com API?
The Nonyescents.com.ng API exposes 2 endpoints covering the full product catalogue and store contact details for this Port Harcourt-based perfume shop. The list_products endpoint returns paginated rows with price, discount status, stock quantity, and slug for each item, while get_store_contact returns the verified phone number, structured address, and currency the store prices in.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/423417d0-ee21-466a-8ff7-b15d6d07753b/get_store_contact' \ -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 nonyescents-com-ng-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: Nonyescents perfume store — browse catalogue and store info."""
from parse_apis.nonyescents_com_ng_api import Nonyescents, ProductSort, InputFormatInvalid
client = Nonyescents()
# Fetch store contact details and catalogue summary.
store = client.stores.get()
print(store.store_name, store.phone)
print(store.address.formatted)
print(f"Catalogue size: {store.shop.products_total}, cart available: {store.shop.cart_available}")
# Browse best-selling products, capped to 5 items.
for product in client.products.list(sort_by=ProductSort.TOP_SELLING, limit=5):
stock = "in stock" if product.in_stock else "out of stock"
print(f"{product.title} {product.price_formatted} ({stock})")
# Search for a specific term and drill into the first match.
try:
hit = client.products.list(search="oud", sort_by=ProductSort.NEW_PRODUCTS, limit=1).first()
except InputFormatInvalid as e:
print(f"Bad search input: {e.message}")
hit = None
if hit is not None:
print(f"{hit.title} — {hit.url}")
print(f" price={hit.price} qty={hit.quantity} variations={hit.variation_count}")
print("exercised: stores.get / products.list (browse + search)")
Returns the store's public contact details as shown on the homepage footer (phone number and the Port Harcourt street address, both as parts and as one formatted line), the store currency and whether the store is online, plus a shop summary: whether the site lists products for sale, how many products the catalogue holds, and whether an online shopping cart (add-to-cart) is available. Takes no parameters; one fixed set of round trips. Returns a single object, never a list.
No input parameters required.
{
"type": "object",
"fields": {
"shop": "object: lists_products (boolean), products_total (integer count of catalogue products), cart_available (boolean, whether an add-to-cart shopping cart is offered)",
"phone": "store phone number in international format",
"address": "object with street, city, state, country and a single-line formatted address",
"currency": "ISO currency code the store prices in",
"store_name": "store display name",
"store_online": "boolean, whether the store is currently online"
},
"sample": {
"data": {
"shop": {
"cart_available": true,
"lists_products": true,
"products_total": 1167
},
"phone": "+1 (555) 012-3456",
"address": {
"city": "Port Harcourt",
"state": "Rivers",
"street": "123 Main St",
"country": "Nigeria",
"formatted": "123 Main St, Port Harcourt, Rivers, Nigeria."
},
"currency": "NGN",
"store_name": "Nonyescents",
"store_online": true
},
"status": "success"
}
}About the Com API
Store Contact and Status
The get_store_contact endpoint returns everything needed to identify and verify the shop programmatically. Response fields include store_name, store_online (boolean), currency (ISO code), and a nested address object with street, city, state, country, and a pre-formatted single-line string. The phone field comes in international format. The shop object inside the response tells you whether the catalogue lists products for sale (lists_products), the total count across the catalogue (products_total), and whether an add-to-cart flow is available (cart_available).
Product Catalogue
The list_products endpoint pages through the catalogue one call at a time. Default and maximum page size is 50 (limit parameter, clamped at 50). Pagination is controlled via the page parameter (1-based), and the response includes has_more, last_page, and total so you can walk the full catalogue without guessing. Each product row carries a string id, title, slug, price, price_formatted, min_selling_price, max_selling_price, has_discount, quantity, and in_stock status.
Filtering and Sorting
The search parameter on list_products accepts free-text and filters against product names, useful for isolating specific scents or brands by name. The sort_by parameter controls result ordering; supported values let you sort by best-selling or newest. Omitting search returns the whole catalogue in the chosen sort order.
The Com API is a managed, monitored endpoint for nonyescents.com.ng — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when nonyescents.com.ng 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 nonyescents.com.ng 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 perfume price tracker using
price,has_discount, andprice_formattedfields fromlist_products - Sync a local product database with the live Nonyescents catalogue using paginated
list_productscalls - Display verified Port Harcourt store contact details in a third-party directory using
get_store_contact - Monitor stock availability for specific perfumes by checking
in_stockandquantityper product row - Search the catalogue by scent or brand name using the
searchparameter to filter product listings - Detect active promotions by filtering products where
has_discountis true and comparingmin_selling_pricetoprice
| 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 Nonyescents.com.ng have an official developer API?+
What does `get_store_contact` actually return — is it just a phone number?+
store_name, store_online, an address object broken into street, city, state, country, and a formatted single-line string, the currency ISO code, and a shop sub-object with lists_products, products_total, and cart_available booleans.How does pagination work in `list_products`?+
page to walk forward; the response includes has_more, last_page, and total so you can determine how many calls are needed. Values above 50 for limit are clamped to 50.Does the API return product images or customer reviews?+
Can I retrieve a single product by its ID or slug?+
list_products endpoint with optional name search, but does not include a dedicated single-product detail endpoint. You can fork this API on Parse and revise it to add a lookup-by-id or lookup-by-slug endpoint.