Real-time product search request

Product search requests use the same endpoint and parameters as a simple product page request, and simply require a different URL to be sent in the URL field.

To make a simple request for a single market search page, use the /realtime/ecommerce endpoint with the following syntax:

Nimble APIs requires that a base64 encoded credential string be sent with every request to authenticate your account. For detailed examples, see E-commerce API Authentication

curl -X POST 'https://api.webit.live/api/v1/realtime/ecommerce' \
--header 'Authorization: Basic <credential string>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "vendor": "walmart",
    "url": "https://www.walmart.com/search?q=A-Product-Search..."
    "country": "US",
    "zip": "90210",
    "locale": "en"
}'

Request Options

ParameterRequiredDescription

vendor

Required

String walmart, amazon

url

Required

Enum: URL

country

Optional (default = all)

String Country used to access the target URL, use ISO Alpha-2 Country Codes i.e. US, DE, GB

state

Optional

String | For targeting US states (does not include regions or territories in other countries). Two-letter state code, e.g. NY, IL, etc.

city

Optional

String | For targeting large cities and metro areas around the globe. When targeting major US cities, you must include state as well. Click here for a list of available cities.

zip

optional

String A 5-digit US zip code. If provided, the closest store to the provided zip code is selected.

locale

Optional (default = en)

String | LCID standard locale used for the URL request. Alternatively, user can use auto for automatic locale based on country targeting.

parse

Optional (default = false)

Enum: true | false Instructs Nimble whether to structure the results into a JSON format or return the raw HTML.

Walmart Options

ParameterRequiredDescription

store

optional

String

If not provided, the closest store to the provided zip code is selected.

Response

Headers

X-Task-ID: string

Payload examples:

If parsing was disabled or omitted in the request, the result data will be the raw HTML of the requested page. If parsing was enabled, a JSON object with a parsed version of the page will be delivered, with the raw HTML included under the html_content property.

200 OK

{
    "status": "success",
    "html_content": "<html>[market page HTML]... </html>",
    "parsing": {
        "status": "success",
        "entities": {
            [EntityType1]: [{
                ...
            }, {
                ...
            }],
            [EntityType2]: [{
                ...
            }, {
                ...
            }]

        },
        "total_entities_count": 20,
    "entities_count": {
        [EntityType1]: 10,
        [EntityType2]: 10
    },
    "metrics": {}
    }
}

500 Error

{
          "status": "error",
        "task_id": "<task_id>",
        "msg": "can't download the query response - please try again"
}

400 Input Error

{
        "status": "failed",
        "msg": error
}

Response Codes

StatusDescription

200

OK

400

The requested resource could not be reached

401

Unauthorized/invalid credental string

500

Internal service error

501

An error was encountered by the proxy service

Last updated