Discover/Com API
live

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.

Endpoint health
verified 3h ago
get_store_contact
list_products
2/2 passing latest checkself-healing
Endpoints
2
Updated
4h ago

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.

This call costs3 credits / call— charged only on success
Try it

No input parameters required.

→ api.parse.bot/scraper/423417d0-ee21-466a-8ff7-b15d6d07753b/<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/423417d0-ee21-466a-8ff7-b15d6d07753b/get_store_contact' \
  -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 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)")
All endpoints · 2 totalmissing one? ·

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.

Input

No input parameters required.

Response
{
  "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.

Reliability & maintenanceVerified

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.

Last verified
3h ago
Latest check
2/2 endpoints 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
  • Build a perfume price tracker using price, has_discount, and price_formatted fields from list_products
  • Sync a local product database with the live Nonyescents catalogue using paginated list_products calls
  • 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_stock and quantity per product row
  • Search the catalogue by scent or brand name using the search parameter to filter product listings
  • Detect active promotions by filtering products where has_discount is true and comparing min_selling_price to price
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 Nonyescents.com.ng have an official developer API?+
No. Nonyescents.com.ng does not publish an official developer API or documentation for external access. This Parse API provides structured access to the same catalogue and contact data visible on the site.
What does `get_store_contact` actually return — is it just a phone number?+
No, it returns more than a phone number. The response includes 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`?+
Each call returns up to 50 products. Set 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?+
Not currently. The API covers product identity fields (id, title, slug), pricing fields, stock status, and discount indicators, but does not expose product images or customer reviews. You can fork this API on Parse and revise it to add those fields as a new endpoint.
Can I retrieve a single product by its ID or slug?+
Not currently. The API surfaces products through the paginated 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.
Page content last updated . Spec covers 2 endpoints from nonyescents.com.ng.
Related APIs in EcommerceSee all →