Discover/Onestop API
live

Onestop APIonestop.ng

Search and browse the onestop.ng Nigerian gadgets catalogue. Get product names, NGN prices, SKUs, variants, stock levels, images, and specs via 3 endpoints.

Endpoint health
verified 3h ago
get_product
search_products
list_category_products
3/3 passing latest checkself-healing
Endpoints
3
Updated
3h ago

What is the Onestop API?

The onestop.ng API exposes 3 endpoints for querying the Nigerian gadgets and electronics store at onestop.ng. Use search_products to run keyword searches and get paginated result cards, list_category_products to pull every item in a named category at once, and get_product to retrieve the full detail record for a single item — including all purchasable variants, gallery images, and specification text — with prices denominated in Nigerian Naira.

This call costs1 credit / call— charged only on success
Try it
1-based result page. A page beyond the last is clamped by the site to the last page; the returned `page` field reports the page actually served.
Free-text search term matched against product names (e.g. a model name or brand).
api.parse.bot/scraper/29391ed9-e935-45ec-9bdf-1c742c25fc6b/<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/29391ed9-e935-45ec-9bdf-1c742c25fc6b/search_products?query=iphone' \
  -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 onestop-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: onestop.ng SDK — search, browse by category, and drill into product details."""
from parse_apis.onestop_ng_api import OnestopNg, Category, ProductNotFound

client = OnestopNg()

# Search for iPhones and print the first few summary cards.
for summary in client.product_summaries.search(query="iphone", limit=5):
    print(summary.name, summary.price_label)

# Drill into the first search hit for full details (variants, specs, etc.).
hit = client.product_summaries.search(query="macbook", limit=1).first()
if hit is not None:
    product = hit.details()
    print(product.name, product.price_ngn, product.currency)
    for variant in product.variants or []:
        print(f"  {variant.sku}  {variant.effective_price_ngn}  {variant.availability}")

# Browse a specific category — list all products in the iPhones category.
for summary in client.product_summaries.list_by_category(category_id=Category.IPHONES, limit=10):
    print(summary.name, summary.price_from_ngn)

# Point lookup by slug, with typed error handling for unknown products.
try:
    detail = client.products.get(slug="apple-iphone-17-pro-max")
    print(detail.name, detail.stock_quantity, "variants:", len(detail.variants or []))
    for related in detail.related_products:
        print(f"  related: {related.name} ({related.price_label})")
except ProductNotFound:
    print("product not found")

print("exercised: search / list_by_category / details / get")
All endpoints · 3 totalmissing one? ·

Keyword search across the onestop.ng catalogue. Returns one page of product summary cards (name, SKU, lowest price in NGN, image, slug) plus the site's total match count and a has_more flag. One round trip per page; the site serves 30 products per page and `page` (default 1) selects the page. A query with no matches returns an empty products array with total_products 0. The `slug` of each product is the input to get_product.

Input
ParamTypeDescription
pageinteger1-based result page. A page beyond the last is clamped by the site to the last page; the returned `page` field reports the page actually served.
queryrequiredstringFree-text search term matched against product names (e.g. a model name or brand).
Response
{
  "type": "object",
  "fields": {
    "page": "page number actually served (integer)",
    "query": "the search term as sent",
    "has_more": "true when the site offers a next page",
    "products": "array of product summary cards: slug (input for get_product), name, sku, price_from_ngn (lowest price in NGN as a number, 0 when the site lists no price), price_label (site's price text, 'From ₦…' when the product has variants), image URL, url",
    "total_products": "site-reported total number of matching products across all pages"
  },
  "sample": {
    "data": {
      "page": 1,
      "query": "iphone",
      "has_more": true,
      "products": [
        {
          "sku": "SF-1718-0046",
          "url": "https://onestop.ng/products/iphone-back-glass-protector-new",
          "name": "iPhone Back Glass Protector (New)",
          "slug": "iphone-back-glass-protector-new",
          "image": "https://onestop.ng/storage/products/images/2026/04/28/69f08c4b8d1a4-Tempered-Glass-Back-Cover-Protector-for-iPhone-12-Pro-Max-9H-13112020-02-p.png",
          "price_label": "From ₦1,500",
          "price_from_ngn": 1500
        },
        {
          "sku": "SF-3928-AYZ9",
          "url": "https://onestop.ng/products/apple-iphone-14",
          "name": "Apple iPhone 14",
          "slug": "apple-iphone-14",
          "image": "https://onestop.ng/storage/iphone-14/img-0150-1.jpeg",
          "price_label": "From ₦444,000",
          "price_from_ngn": 444000
        }
      ],
      "total_products": 84
    },
    "status": "success"
  }
}

About the Onestop API

Search and Category Browsing

The search_products endpoint accepts a query string and an optional page integer (1-based) to step through results. Each response includes total_products (the site's total match count across all pages), a has_more flag, and an array of product summary cards. Each card carries a slug, name, sku, price_from_ngn (lowest price as a number, 0 when unavailable), and an image URL. The site returns 30 products per page; requesting a page beyond the last returns the final page with has_more: false.

The list_category_products endpoint accepts a category_id string (numeric, e.g. 51 for iPhones) and returns the complete category in a single response — no pagination. The response includes category_name, total_products, and the same summary card shape as search. This makes it straightforward to build a full category inventory snapshot without managing paging logic.

Full Product Detail

Passing any slug from a summary card to get_product returns the complete product record. Key response fields include price_ngn (a representative price computed as the lowest in-stock variant price, falling back to the lowest variant price, then the page price), an images array of gallery URLs, description (short text, nullable), specifications (long specification text, nullable), and currency (always NGN). The variants array is the most granular layer: each variant carries its own variant_id, sku, price_ngn, sale_price_ngn (null when no sale is active), effective_price_ngn, quantity, and an availability label.

Coverage and Currency

All prices are in Nigerian Naira. The API covers the onestop.ng product catalogue, which focuses on consumer electronics, smartphones, accessories, and related gadgets sold in Nigeria. Stock quantities and availability labels reflect the state of the product page at retrieval time.

Reliability & maintenanceVerified

The Onestop API is a managed, monitored endpoint for onestop.ng — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when onestop.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 onestop.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
3/3 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
  • Track NGN price movements for specific smartphone models across onestop.ng variants over time
  • Build a Nigerian electronics price comparison tool using price_from_ngn from search results
  • Sync a full category inventory (e.g. iPhones, laptops) into a local database with list_category_products
  • Alert users when sale_price_ngn becomes non-null for a watched product slug
  • Aggregate specifications text from multiple products to compare feature sets programmatically
  • Check real-time quantity and availability fields before routing a purchase or referral link
  • Populate a product feed with gallery images, name, and sku data for an affiliate or resale storefront
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 onestop.ng offer an official developer API?+
Onestop.ng does not publish a public developer API or documented data access program. This Parse API is the available programmatic interface for the catalogue data.
What does `get_product` return for variants, and how do sale prices appear?+
Each entry in the variants array includes price_ngn, sale_price_ngn (null when no sale applies), and effective_price_ngn which already reflects whichever price is active. You can check sale_price_ngn directly to determine whether a discount is running on a specific variant.
How does pagination work in `search_products`?+
The site serves 30 products per page. Pass page (integer, 1-based) to step through results. The response always includes total_products (site-reported total matches) and has_more (true when a next page exists). If you request a page number beyond the last, the site clamps it to the last page — the returned page field reflects what was actually served, not what was requested.
Does the API return customer reviews or seller ratings for products?+
Not currently. The API covers product names, SKUs, NGN prices, variant details, images, descriptions, specifications, and stock levels. It does not expose user reviews, ratings, or seller feedback. You can fork the API on Parse and revise it to add an endpoint targeting that data.
Are all product categories available, or only specific ones?+
The list_category_products endpoint accepts any numeric category_id from the site's category menu. The API does not expose a built-in endpoint that lists all available category IDs and names. You can fork the API on Parse and revise it to add a category-listing endpoint that enumerates the full menu.
Page content last updated . Spec covers 3 endpoints from onestop.ng.
Related APIs in EcommerceSee all →
notonthehighstreet.com API
Search and browse unique products from Not On The High Street, viewing detailed product information, customer reviews, seller profiles, and similar items all in one place. Discover curated gift and home goods with real-time access to pricing, availability, and seller details to help you find the perfect independent retailers.
onliner.by API
Access data from Onliner.by.
jumia.com.ng API
Search and browse thousands of products on Jumia Nigeria, including electronics, appliances, fashion, and more. Get real-time access to pricing, specifications, ratings, and availability across Jumia's full catalog to find and compare products.
proshop.no API
Access data from proshop.no.
on.com API
Access data from on.com.
gamestop.com API
Search GameStop's catalog for games and merchandise, browse products by category, view detailed product information including reviews, and discover what's available—all with seamless access that handles Cloudflare protection automatically.
catalog.onliner.by API
Search and compare products from Onliner.by's catalog with access to real-time prices, detailed product information, customer reviews, and historical price trends. Browse categories, get autocomplete suggestions, and view all available offers for any product to make informed purchasing decisions.
pricecheck.co.za API
Search for products across South African retailers and instantly compare prices, store locations, and available offers from multiple shops in one place. Find the best deal by viewing each store's pricing and physical address for any product you're looking for.