Skip to content
All bounties

InstaShop

Open
instashop.com

UAE grocery discovery, cart drafting, substitution handling, checkout review, and delivery tracking for InstaShop.

Reward
₩300,000
Tier
Gold
Auth
Browser
APIs
6 APIs
Working now
none
Posted
2026-07-07
Kind
New service
  1. Open
  2. Claimed
  3. In review
  4. Finalizing
  5. Syncing
  6. Merged
  7. Paid

Scope

Build a browser-based UAE grocery provider for InstaShop. This is an unofficial shopping surface, so it must compare stores, delivery slots, item availability, substitutions, loyalty offers, cart totals, checkout approval, picker updates, receipts, and refunds without claiming a public API.

Expected APIs

6
search-groceriesSearch groceriesReadMedium

Search stores and grocery items by address, category, brand, and delivery slot. Returns store and item cards that can be compared for pricing and availability.

  • addressstringRequiredDelivery address or area used to determine serviceability and nearby stores.Example Dubai Marina
  • categorystringOptionalOptional grocery category such as produce, dairy, or household.Example dairy
  • brandstringOptionalOptional brand filter for product matching.Example Almarai
  • slotstringOptionalDesired delivery window or pickup slot.Example today-evening
  • querystringOptionalOptional text query for a specific item or store.Example milk
storesitemsnamepricecurrencyavailabilityslotstore_nameproduct_url
  • Returns grocery store or item matches scoped to the supplied address.
  • Surfaces availability and slot information so the user can compare options.
  • Keeps store and item data distinguishable instead of flattening everything into one list.

Must work without account auth.

get-item-detailGet item detailReadMedium

Open a grocery item page and extract stock, price, promotions, and any substitution options shown by the store.

  • product_urlstringRequiredCanonical grocery item URL or item identifier from search results.Example https://instashop.com/en-ae/products/milk-full-fat-1l
namepricecurrencystockpromotionssubstitution_optionsunit_priceproduct_url
  • Returns page-level item detail, not just the search card summary.
  • Includes substitution choices when the store exposes them.
  • Does not invent stock or promotion data that is not visible.

Must work without account auth.

prepare-grocery-cartPrepare grocery cartWriteHard

Build a cart draft with quantities, replacement rules, notes, and the selected delivery slot before checkout confirmation.

  • itemsarrayRequiredList of grocery item selections with quantities and optional substitutions.Example [{"productUrl":"https://instashop.com/en-ae/products/milk-full-fat-1l","quantity":2}]
  • replacement_rulestringOptionalReplacement preference such as allow, call, or do-not-replace.Example allow
  • notesstringOptionalDelivery or picker instructions for the order.Example Leave at the concierge desk.
  • slotstringRequiredSelected delivery slot for the cart draft.Example today-evening
cart_statusitemsestimated_totalfeesslotreplacement_rulenext_step
  • Creates a draft cart without submitting the grocery order.
  • Keeps quantity, replacement rule, and slot visible for review.
  • Separates cart drafting from final approval.

Auth required for this API.

review-checkoutReview checkoutReadMedium

Review the final grocery total, fees, loyalty benefits, taxes, and payment method before the user approves submission.

  • cart_idstringRequiredPrepared grocery cart or checkout session identifier.Example gcart_9088
subtotalfeesdiscountsloyalty_benefitstaxtotalpayment_method
  • Returns a full pre-submit cost breakdown rather than a single total only.
  • Shows loyalty or promotional benefits when available on the checkout page.
  • Uses the current cart state for totals and fees.

Auth required for this API.

confirm-grocery-orderConfirm grocery orderWriteHard

Submit the grocery checkout only after the user explicitly approves the final total and substitutions policy.

  • cart_idstringRequiredPrepared grocery cart identifier.Example gcart_9088
  • approvalbooleanRequiredUser confirmation that the shown checkout terms are acceptable.Example true
  • payment_methodstringRequiredFinal payment method used at checkout.Example card
order_idorder_statustotalcurrencyplaced_atreceipt_url
  • Does not place the order unless approval is explicitly true.
  • Returns an order identifier and receipt reference when successful.
  • Fails safely if required cart or payment information is missing.

Auth required for this API.

track-picking-and-refundsTrack picking and refundsReadMedium

Track picker progress, substitutions, delivery status, refund state, and receipt availability for an existing grocery order.

  • order_idstringRequiredExisting grocery order identifier.Example gorder_55221
picking_statussubstitutionsdelivery_statusrefund_statusreceipt_urltracking_number
  • Reports picker progress or substitutions when those states exist for the order.
  • Separates delivery, refund, and receipt data into distinct fields.
  • Works against the live order state rather than a stale cart snapshot.

Auth required for this API.

Suggested surface. Propose changes in your submission if the upstream differs.

Acceptance criteria

  • Service scaffolded from the public @apifuse/provider-sdk
  • All listed APIs implemented with Zod/Standard Schema input & output
  • Each API declares exactly one of healthCheck or healthCheckUnsupported
  • Real upstream fixture data included where applicable
  • bun run check and bun run test pass
  • Auth, credential and env-secret behavior documented. No real secrets committed

Evidence to submit

  • Workspace repository and main commit link
  • SDK version/tag and the create command used
  • API list with input/output summaries
  • healthCheck coverage table per API
  • bun run check and bun run test output

Ready to claim?

Submit a claim. Your workspace is prepared after confirmation.