Walmart Search API — Local Prices & Listings avatar

Walmart Search API — Local Prices & Listings

Pricing

$2.00 / 1,000 successful keyword requests

Go to Apify Store
Walmart Search API — Local Prices & Listings

Walmart Search API — Local Prices & Listings

Search Walmart US by keyword and store or ZIP. Get product IDs, prices, ratings, sellers, fulfillment and sponsored flags. One request includes all returned listings.

Pricing

$2.00 / 1,000 successful keyword requests

Rating

0.0

(0)

Developer

Gaurav Kumar Choudhary

Gaurav Kumar Choudhary

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

4

Monthly active users

3 days ago

Last modified

Features

Limited permissions

Share

At a glance

  • Collect: One store-scoped listing page for each keyword.
  • Input: use the runnable example below or the prefilled Input form.
  • Output: the default dataset supports JSON/CSV/Excel export; see output modes below.
  • Billing: $2 per 1,000 successful keyword requests, including all exported rows for each request. No startup fee. See the live Pricing tab for applicable platform terms.
  • Free Apify plan: 100 lifetime request attempts per account for this Actor, across all runs; retries and failed attempts count.
  • Paid Apify plans: no lifetime trial quota; normal per-run and spending limits still apply.
  • Limits: No supported page-number input. hasMorePages does not mean this Actor can retrieve every page.

Free-plan allowance and paid-plan access

Important: “Free plan” means your Apify subscription—not that this Actor gives you 100 unbilled requests. Successful keyword requests cost $0.002 each ($2 per 1,000) on both Free and paid plans. Free-plan accounts can use available Apify credits, subject to the separate 100-attempt lifetime limit below.

QuestionFree Apify accountPaid Apify account
Lifetime trial quota100 provider request attempts for this Actor/accountNo lifetime trial quota
Successful keyword request$0.002; all returned product rows includedSame $0.002 price
Retry or failed provider callConsumes one attempt; no successful-request fee unless a call succeedsNo trial quota; same successful-request billing
New run or next monthDoes not reset the allowanceNormal run/spending limits apply

What counts as one request?

One attempt means one call to retrieve a keyword's listing page. It is not one product and not one Actor run. For example:

  • One successful milk lookup returning 38 products: 1 allowance attempt, 1 billed request ($0.002), not 38 charges.
  • A failed lookup followed by one successful retry: 2 allowance attempts, 1 billed request ($0.002).
  • Two failed attempts with no successful response: 2 allowance attempts, $0 in successful-request event fees.
  • Invalid input rejected before fetching: 0 allowance attempts, 0 request-event fees.
  • A valid empty search: 1 allowance attempt and 1 billed request ($0.002), even though no product rows were returned.

These examples describe Actor event fees; consult Apify's live pricing and account terms for other applicable costs. Product counts vary and are not guaranteed.

Lifetime means across runs, not per run

Free Apify accounts receive 100 lifetime provider API attempts for this Actor, shared across all runs and concurrent jobs for that account. This is not 100 product rows and does not reset monthly. Every provider attempt is reserved before it is sent; retries, failed/invalid provider responses and interrupted requests consume allowance. Invalid input rejected before a provider attempt does not consume it. Results saved before the allowance is reached are retained.

Counting begins when this policy is activated; previously untracked usage cannot be reconstructed or retroactively deducted. An attempt reserved before an interrupted request remains consumed and is not refunded automatically.

maxRequests limits unique keyword inputs within one run; it does not increase or reset your lifetime allowance. Retries can consume additional attempts beyond that keyword count. requestRetries defaults to 1; set it to 0 if you prefer no automatic retries. Deleting datasets, changing input or restarting does not reset the account allowance. Each account has its own allowance for this Actor; this policy does not apply automatically to other Walmart Actors.

The allowance does not waive the existing price: successful keyword requests still cost $0.002 each under the unchanged Pricing tab. Failed attempts use trial quota but do not incur a successful-request event. At exhaustion, upgrade your Apify subscription to continue. Paid accounts have no lifetime trial quota and do not depend on the trial ledger; ordinary input, spending, timeout and per-run safety limits still apply.

Eligibility comes from the platform account, not an input toggle. The developer maintains the quota ledger, so restarting runs or deleting your run storage does not reset it. If quota storage cannot be reached, Free-plan provider calls stop safely. SUMMARY includes providerAttempts, freeQuota, and any FREE_QUOTA_EXHAUSTED or FREE_QUOTA_UNAVAILABLE outcome. No separate customer API key is needed.

What happens after 100 attempts?

Further Free-plan provider calls stop. Upgrade the same Apify account to a paid plan and start a new run to continue without this lifetime trial quota; the Actor's price stays the same. Paid access is not a promise of unlimited simultaneous calls or unlimited results: the documented input, timeout, per-run and spending limits still apply.

Completed results are retained if the cap is reached partway through a batch. If nothing completed, the run fails with a clear quota message. Check Storage → Key-value store → SUMMARY:

  • quotaError.code = FREE_QUOTA_EXHAUSTED: the lifetime allowance has been used.
  • quotaError.code = FREE_QUOTA_UNAVAILABLE: the quota service/configuration is temporarily unavailable; contact the developer with your run ID. No further provider calls are made.
  • freeQuota.reservedThisRun: attempts reserved in this run, not your lifetime remaining balance.

Use latest when calling the Actor. Unprotected builds 1.0.1–1.0.7 have been retired; clients pinned to those build numbers must switch to latest. This does not change the current input format or price.

Search Walmart US by keyword and store or ZIP. Get product IDs, prices, ratings, sellers, fulfillment and sponsored flags. One request includes all returned listings.

Quick start

{
"queries": [
"milk"
],
"storeId": "1735",
"maxRequests": 1
}

Provide exactly one of storeId or zipcode. Keep ZIP codes as strings. Inputs are validated before any request. Duplicate inputs are skipped, and maxRequests caps unique requests per run.

Output and exports

Results are stored in the default dataset, exportable as JSON, CSV or Excel. Store context and UTC fetch timestamps accompany records. SUMMARY in the key-value store reports successful requests, results, safe failures and budget stops. Partial batches retain completed results.

Billing

Launch price: $2 per 1,000 successful keyword requests, including valid empty searches. All delivered listings from that request are included; this is not per-result billing. No startup fee or monthly rental. Failed or invalid responses are not billed. Consult the live Pricing tab for current pricing and platform terms. Set a maximum total charge per run to control spending.

Limitations

The current service returns one results page per keyword. Pagination indicators are preserved, but this Actor does not promise to retrieve additional pages. Sponsored filtering and a per-query row cap are supported; these do not reduce the number of billed requests. No product-detail enrichment or review text is included.

Prices and availability are point-in-time signals for the returned store context, not guaranteed checkout prices or verified stock quantities. Availability depends on Walmart and supported store coverage. No Walmart login or customer API key is required.

Support

Open an issue with your run ID, input example and expected behavior—never include credentials. For custom integrations or other data needs, contact the developer through the profile contact details.

Independent tool, not affiliated with or endorsed by Walmart.

Minimal API example

Store your own Apify token in APIFY_TOKEN; never paste it into public input or code. This example uses the same small input as the prefilled form.

import os
import requests
response = requests.post(
"https://api.apify.com/v2/acts/gauravlabs~walmart-search-api/run-sync-get-dataset-items",
headers={"Authorization": "Bearer " + os.environ["APIFY_TOKEN"]},
json={"queries":["milk"],"storeId":"1735"},
timeout=300,
)
response.raise_for_status()
print(response.json())

For large batches, start an asynchronous run with /runs, wait for its final status, and retrieve its default dataset. HTTP success when starting a run does not prove the extraction succeeded.

Minimal output shape (illustrative)

The following shows one documented field, not a fresh result or a promised yield. Inspect the output reference above for the complete schema.

{
"stockStatus": "unknown"
}

Practical workflow and accuracy notes

The endpoint documents no page-number parameter. page, totalPages and hasMorePages are descriptive metadata, not a guarantee of pageable coverage. maxResultsPerQuery caps saved rows, not retrieval size. Take an item_id into our Walmart Product API for detail enrichment using the same store. requestRetries defaults to one bounded retry; a successful keyword is charged once, not once per attempt.