Source: https://developers.woosmap.com/api-reference/geolocation-api/get-geolocation-stores/

> For clean Markdown of any page, append `.md` to the page URL.

> For a complete documentation index, see https://developers.woosmap.com/llms.txt

# Assets nearby a Geolocation



# Assets nearby a Geolocation

 GET 
https://api.woosmap.com/geolocation/stores

Retrieve the stores nearby an ip location. Stores are returned only if a relevant ip location is found - for an accuracy of 20km or less.

### Authorization

[`key`](#authorization-woosmap-platform-api-reference-publicapikeyauth)
apiKeyquery

A Public key generated specifically to authenticate API requests on the front side. See how to [register a Public API Key](https://developers.woosmap.com/api-reference/authentication/#registering-a-woosmap-public-api-key).

[`Referer`](#authorization-woosmap-platform-api-reference-refererheader)
apiKeyheader

The Referer HTTP request header is mandatory when using PublicApiKeyAuth. In browser environment, the Referer is set by the browser itself and cannot be overridden.

[`private_key`](#authorization-woosmap-platform-api-reference-privateapikeyauth)
apiKeyquery

A Private key generated specifically to authenticate API requests on server side. Required for Data management API. See how to [register a Private API Key](https://developers.woosmap.com/api-reference/authentication/#registering-a-woosmap-private-api-key).

[`X-Api-Key`](#authorization-woosmap-platform-api-reference-privateapikeyheaderauth)
apiKeyheader

A Private key to authenticate API requests through the Header instead of Query parameter. Use either PrivateApiKeyHeaderAuth or PrivateApiKeyAuth. See how to [register a Private API Key](https://developers.woosmap.com/api-reference/authentication/#registering-a-woosmap-private-api-key).

### Query Parameters

[`ip_address`](#query-ip-address)
string

The ip\_address you want to geolocate. For **server call with private\_key** only. Without this parameter, the API will geolocate the IP Address attached to the raw TCP request.

Example:`75.134.29.90`

[`limit`](#query-limit)
integer

To limit number of assets retrieved from an IP location.

Example:`10`

[`query`](#query-query)
string

Search query combining one or more search clauses. Each search clause is made up of three parts structured as `field` `:` `operator` `value`. , e.g. `name:="My cool store"`

### Vocabulary

- **Field** : attribute of the Store that is searched, e.g. the attribute `name` of the store.

- **Operator** : test that is performed on the data to provide a match, e.g. `=`. Each field has a default operator. If none operator follow the `:`, the default one is used.

- **Value** : the content of the attribute that is tested, e.g. the name of the store `"My cool store"`.

Combine clauses with the conjunctions `AND` or `OR`, and negate the query with `NOT`.

### Fields

- `type`: An element is contained within `type` collection. e.g. `type:"myType"`

- `tag`: An element is contained within `tag` collection. e.g. `tag:"myTag"`

- `city`: text matching: the value match the `city` field. e.g. `city:="Paris"`

- `country`: text matching: the value match the `countryCode` field. e.g. `country:="FR"`

- `name`: text matching: the value match the `name` field. e.g. `name:="myName"`

- `idstore`: text matching: the value match the `idstore` field. e.g. `idstore:="myIdStore"`

- `user`: concerns all fields inside `user_properties`. text matching or numerical comparison. e.g. `user.myAttribute:="myValue"`

- `localized`: used for [localizedNames](https://developers.woosmap.com/products/data-api/data-structure/#localizednames) to search in native language. text matching in collection: the value match one of the the `localizedNames`. e.g. `localized:="centro"`

> **userProperties** field has no restriction regarding the data you can put in it (Arrays, Object, Boolean, String, Numeric...) but you can only query for **text matching or numerical comparison**.

### Operators

- `:` : Default and mandatory operator. For `type` and `tag` fields, define that an element is contained within a collection.

- `=` : The content of a string or a number is equal to the other.

- `>` : A number is greater than another.

- `<` : A number is smaller than another.

- `>=` : A number is greater than or equal to another.

- `<=` : A number is smaller than or equal to another.

- `AND` : Return assets that match both clauses.

- `OR` : Return assets that match either clauses.

- `NOT` : Negates a search clause.

For compound clauses, you can use parentheses to group clauses together. For example: `(type:"type1" OR type:"type2") AND tag:"hockey"` You can use `NOT` operator to negates a search clause. For example: `not type:"type1"`

Example:`name:'My cool store'|type:'click_and_collect'`

### Response

200application/json

Geolocation and Stores successufully retrieved

[`stores`](#resp-200-stores)
object

Assets Collection Response as a GeoJSon FeatureCollection with Asset properties

Example:

```json
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "store_id": "2354",
        "name": "Berkeley Street/Berkeley Square",
        "contact": {
          "phone": "02076295779",
          "website": "https://www.starbucks.com/store-locator/store/2354/berkeley-street-berkeley-square-27-berkeley-st-berkeley-square-london-eng-w-1-x-5-"
        },
        "address": {
          "lines": [
            "27 Berkeley St",
            "London, ENG W1X 5AD"
          ],
          "country_code": "GB",
          "city": "London",
          "zipcode": "W1X 5AD"
        },
        "user_properties": {
          "take_away": "available"
        },
        "tags": [
          "WA",
          "WF",
          "CD",
          "DR",
          "XO"
        ],
        "types": [
          "Coffee shop"
        ],
        "last_updated": "2022-11-10T13:23:53.564829+00:00",
        "distance": 135.28682936,
        "open": {
          "open_now": true,
          "open_hours": [
            {
              "end": "18:00",
              "start": "06:30"
            }
          ],
          "week_day": 2,
          "current_slice": {
            "end": "18:00",
            "start": "06:30"
          }
        },
        "weekly_opening": {
          "1": {
            "hours": [
              {
                "end": "18:00",
                "start": "06:30"
              }
            ],
            "isSpecial": false
          },
          "2": {
            "hours": [
              {
                "end": "18:00",
                "start": "06:30"
              }
            ],
            "isSpecial": false
          },
          "3": {
            "hours": [
              {
                "end": "18:00",
                "start": "06:30"
              }
            ],
            "isSpecial": false
          },
          "4": {
            "hours": [
              {
                "end": "18:00",
                "start": "06:30"
              }
            ],
            "isSpecial": false
          },
          "5": {
            "hours": [
              {
                "end": "18:00",
                "start": "06:30"
              }
            ],
            "isSpecial": false
          },
          "6": {
            "hours": [
              {
                "end": "17:00",
                "start": "08:00"
              }
            ],
            "isSpecial": false
          },
          "7": {
            "hours": [
              {
                "end": "17:00",
                "start": "08:00"
              }
            ],
            "isSpecial": false
          },
          "timezone": "Europe/London"
        },
        "opening_hours": {
          "usual": {
            "1": [
              {
                "end": "18:00",
                "start": "06:30"
              }
            ],
            "2": [
              {
                "end": "18:00",
                "start": "06:30"
              }
            ],
            "3": [
              {
                "end": "18:00",
                "start": "06:30"
              }
            ],
            "4": [
              {
                "end": "18:00",
                "start": "06:30"
              }
            ],
            "5": [
              {
                "end": "18:00",
                "start": "06:30"
              }
            ],
            "6": [
              {
                "end": "17:00",
                "start": "08:00"
              }
            ],
            "7": [
              {
                "end": "17:00",
                "start": "08:00"
              }
            ]
          },
          "special": {},
          "timezone": "Europe/London"
        }
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -0.14408,
          51.5088
        ]
      }
    }
  ],
  "pagination": {
    "page": 1,
    "pageCount": 1
  }
}
```

#Show 3 propertiesHide 3 properties

stores.[`type`](#resp-200-stores-type)
string

the Geojson Type (only 'FeatureCollection')

Available options:`FeatureCollection`

stores.[`features`](#resp-200-stores-features)
object[]

the Assets Features

Show 3 propertiesHide 3 properties

stores.features.[`type`](#resp-200-stores-features-type)
string

the Geojson Type (only 'Feature')

Available options:`Feature`

stores.features.[`properties`](#resp-200-stores-features-properties)
object

Attributes describing an Asset.

Show 12 propertiesHide 12 properties

stores.features.properties.[`name`](#resp-200-stores-features-properties-name)
string

The asset's name.

Example:`My Cool Store`

stores.features.properties.[`store_id`](#resp-200-stores-features-properties-store-id)
string

A textual identifier that uniquely identifies an Asset. It must matches the following regexp `[A-Za-z0-9]+`

Example:`STORE_ID_12345`

stores.features.properties.[`address`](#resp-200-stores-features-properties-address)
object

An object containing the separate components applicable to this address.

Example:

```json
{
  "lines": [
    "8 Southwark St"
  ],
  "country_code": "UK",
  "city": "London",
  "zipcode": "SE1 1TL"
}
```

Show 4 propertiesHide 4 properties

stores.features.properties.address.[`lines`](#resp-200-stores-features-properties-address-lines)
string[]

An Array for lines of an Asset Address

Example:

```json
[
  "Building Centre",
  "26 Store Street"
]
```

stores.features.properties.address.[`country_code`](#resp-200-stores-features-properties-address-country-code)
string | null

An ISO\_3166-1 Country Code where the Asset is located (see [https://en.wikipedia.org/wiki/ISO\_3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) for full list)

Example:`UK`

stores.features.properties.address.[`city`](#resp-200-stores-features-properties-address-city)
string

A City where belongs an Asset

Example:`London`

stores.features.properties.address.[`zipcode`](#resp-200-stores-features-properties-address-zipcode)
string

An Zipcode / Postal code of an Asset Address

Example:`WC1E 7BT`

stores.features.properties.[`contact`](#resp-200-stores-features-properties-contact)
object

An object containing the asset's contact available information.

Example:

```json
{
  "website": "https://www.woosmap.com",
  "phone": "+44 20 7693 4000",
  "email": "contact@woosmap.com"
}
```

Show 3 propertiesHide 3 properties

stores.features.properties.contact.[`website`](#resp-200-stores-features-properties-contact-website)
string

The website contact for this Asset, such as a business' homepage.

Example:`https://www.woosmap.com`

stores.features.properties.contact.[`phone`](#resp-200-stores-features-properties-contact-phone)
string

Contains the Asset's phone number in its [local format](https://en.wikipedia.org/wiki/Local_conventions_for_writing_telephone_numbers).

Example:`+44 20 7693 4000`

stores.features.properties.contact.[`email`](#resp-200-stores-features-properties-contact-email)
string

Contains the Asset's email contact.

Example:`contact@woosmap.com`

stores.features.properties.[`open`](#resp-200-stores-features-properties-open)
object

The Current opening status for an Asset

Example:

```json
{
  "open_now": true,
  "open_hours": [
    {
      "end": "20:00",
      "start": "05:00"
    }
  ],
  "week_day": 1,
  "current_slice": {
    "end": "20:00",
    "start": "05:00"
  }
}
```

Show 5 propertiesHide 5 properties

stores.features.properties.open.[`current_slice`](#resp-200-stores-features-properties-open-current-slice)
object

The hours for an opening period. To define a slice of time where the asset is open you must define a `start` and `end` keys. `start` and `end` must belong to the same day (crossing midnight may result in open\_now being always false.)

Example:

```json
{
  "start": "08:30",
  "end": "19:30"
}
```

Show 2 propertiesHide 2 properties

stores.features.properties.open.current\_slice.[`start`](#resp-200-stores-features-properties-open-current-slice-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.open.current\_slice.[`end`](#resp-200-stores-features-properties-open-current-slice-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.open.[`open_hours`](#resp-200-stores-features-properties-open-open-hours)
object[]

the opening hours for the day

Show 2 propertiesHide 2 properties

stores.features.properties.open.open\_hours.[`start`](#resp-200-stores-features-properties-open-open-hours-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.open.open\_hours.[`end`](#resp-200-stores-features-properties-open-open-hours-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.open.[`open_now`](#resp-200-stores-features-properties-open-open-now)
boolean

Boolean value indicating the status of the opening hours

stores.features.properties.open.[`next_opening`](#resp-200-stores-features-properties-open-next-opening)
object

the next opening hours period

Show 3 propertiesHide 3 properties

stores.features.properties.open.next\_opening.[`end`](#resp-200-stores-features-properties-open-next-opening-end)
string

the hours of next opening

Example:`17:30`

stores.features.properties.open.next\_opening.[`start`](#resp-200-stores-features-properties-open-next-opening-start)
string

the hours of next closing

Example:`06:00`

stores.features.properties.open.next\_opening.[`day`](#resp-200-stores-features-properties-open-next-opening-day)
string

the day of next opening

Example:`2021-11-16`

stores.features.properties.open.[`week_day`](#resp-200-stores-features-properties-open-week-day)
integer

the day of the week starting from 1 to 7

stores.features.properties.[`weekly_opening`](#resp-200-stores-features-properties-weekly-opening)
object

The current Weekly Opening taking into account the special hours

Example:

```json
{
  "1": {
    "hours": [],
    "isSpecial": false
  },
  "2": {
    "hours": [
      {
        "end": "22:00",
        "start": "08:30"
      }
    ],
    "isSpecial": false
  },
  "3": {
    "hours": [
      {
        "end": "22:00",
        "start": "08:30"
      }
    ],
    "isSpecial": false
  },
  "4": {
    "hours": [
      {
        "end": "22:00",
        "start": "08:30"
      }
    ],
    "isSpecial": false
  },
  "5": {
    "hours": [
      {
        "end": "22:00",
        "start": "08:30"
      }
    ],
    "isSpecial": false
  },
  "6": {
    "hours": [
      {
        "end": "22:00",
        "start": "08:30"
      }
    ],
    "isSpecial": false
  },
  "7": {
    "hours": [
      {
        "end": "22:00",
        "start": "08:30"
      }
    ],
    "isSpecial": false
  },
  "timezone": "Europe/London"
}
```

Show 8 propertiesHide 8 properties

stores.features.properties.weekly\_opening.[`1`](#resp-200-stores-features-properties-weekly-opening-1)
object

The opening Hours for Monday

Example:

```json
{
  "hours": [
    {
      "start": "06:30",
      "end": "18:00"
    }
  ],
  "isSpecial": false
}
```

Show 2 propertiesHide 2 properties

stores.features.properties.weekly\_opening.1.[`hours`](#resp-200-stores-features-properties-weekly-opening-1-hours)
object[]

Show 2 propertiesHide 2 properties

stores.features.properties.weekly\_opening.1.hours.[`start`](#resp-200-stores-features-properties-weekly-opening-1-hours-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.weekly\_opening.1.hours.[`end`](#resp-200-stores-features-properties-weekly-opening-1-hours-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.weekly\_opening.1.[`isSpecial`](#resp-200-stores-features-properties-weekly-opening-1-isspecial)
boolean

Define if the hours comes from a special opening hours day.

Example:`false`

stores.features.properties.weekly\_opening.[`2`](#resp-200-stores-features-properties-weekly-opening-2)
object

The opening Hours for Monday

Example:

```json
{
  "hours": [
    {
      "start": "06:30",
      "end": "18:00"
    }
  ],
  "isSpecial": false
}
```

Show 2 propertiesHide 2 properties

stores.features.properties.weekly\_opening.2.[`hours`](#resp-200-stores-features-properties-weekly-opening-2-hours)
object[]

Show 2 propertiesHide 2 properties

stores.features.properties.weekly\_opening.2.hours.[`start`](#resp-200-stores-features-properties-weekly-opening-2-hours-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.weekly\_opening.2.hours.[`end`](#resp-200-stores-features-properties-weekly-opening-2-hours-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.weekly\_opening.2.[`isSpecial`](#resp-200-stores-features-properties-weekly-opening-2-isspecial)
boolean

Define if the hours comes from a special opening hours day.

Example:`false`

stores.features.properties.weekly\_opening.[`3`](#resp-200-stores-features-properties-weekly-opening-3)
object

The opening Hours for Monday

Example:

```json
{
  "hours": [
    {
      "start": "06:30",
      "end": "18:00"
    }
  ],
  "isSpecial": false
}
```

Show 2 propertiesHide 2 properties

stores.features.properties.weekly\_opening.3.[`hours`](#resp-200-stores-features-properties-weekly-opening-3-hours)
object[]

Show 2 propertiesHide 2 properties

stores.features.properties.weekly\_opening.3.hours.[`start`](#resp-200-stores-features-properties-weekly-opening-3-hours-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.weekly\_opening.3.hours.[`end`](#resp-200-stores-features-properties-weekly-opening-3-hours-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.weekly\_opening.3.[`isSpecial`](#resp-200-stores-features-properties-weekly-opening-3-isspecial)
boolean

Define if the hours comes from a special opening hours day.

Example:`false`

stores.features.properties.weekly\_opening.[`4`](#resp-200-stores-features-properties-weekly-opening-4)
object

The opening Hours for Monday

Example:

```json
{
  "hours": [
    {
      "start": "06:30",
      "end": "18:00"
    }
  ],
  "isSpecial": false
}
```

Show 2 propertiesHide 2 properties

stores.features.properties.weekly\_opening.4.[`hours`](#resp-200-stores-features-properties-weekly-opening-4-hours)
object[]

Show 2 propertiesHide 2 properties

stores.features.properties.weekly\_opening.4.hours.[`start`](#resp-200-stores-features-properties-weekly-opening-4-hours-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.weekly\_opening.4.hours.[`end`](#resp-200-stores-features-properties-weekly-opening-4-hours-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.weekly\_opening.4.[`isSpecial`](#resp-200-stores-features-properties-weekly-opening-4-isspecial)
boolean

Define if the hours comes from a special opening hours day.

Example:`false`

stores.features.properties.weekly\_opening.[`5`](#resp-200-stores-features-properties-weekly-opening-5)
object

The opening Hours for Monday

Example:

```json
{
  "hours": [
    {
      "start": "06:30",
      "end": "18:00"
    }
  ],
  "isSpecial": false
}
```

Show 2 propertiesHide 2 properties

stores.features.properties.weekly\_opening.5.[`hours`](#resp-200-stores-features-properties-weekly-opening-5-hours)
object[]

Show 2 propertiesHide 2 properties

stores.features.properties.weekly\_opening.5.hours.[`start`](#resp-200-stores-features-properties-weekly-opening-5-hours-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.weekly\_opening.5.hours.[`end`](#resp-200-stores-features-properties-weekly-opening-5-hours-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.weekly\_opening.5.[`isSpecial`](#resp-200-stores-features-properties-weekly-opening-5-isspecial)
boolean

Define if the hours comes from a special opening hours day.

Example:`false`

stores.features.properties.weekly\_opening.[`6`](#resp-200-stores-features-properties-weekly-opening-6)
object

The opening Hours for Monday

Example:

```json
{
  "hours": [
    {
      "start": "06:30",
      "end": "18:00"
    }
  ],
  "isSpecial": false
}
```

Show 2 propertiesHide 2 properties

stores.features.properties.weekly\_opening.6.[`hours`](#resp-200-stores-features-properties-weekly-opening-6-hours)
object[]

Show 2 propertiesHide 2 properties

stores.features.properties.weekly\_opening.6.hours.[`start`](#resp-200-stores-features-properties-weekly-opening-6-hours-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.weekly\_opening.6.hours.[`end`](#resp-200-stores-features-properties-weekly-opening-6-hours-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.weekly\_opening.6.[`isSpecial`](#resp-200-stores-features-properties-weekly-opening-6-isspecial)
boolean

Define if the hours comes from a special opening hours day.

Example:`false`

stores.features.properties.weekly\_opening.[`7`](#resp-200-stores-features-properties-weekly-opening-7)
object

The opening Hours for Monday

Example:

```json
{
  "hours": [
    {
      "start": "06:30",
      "end": "18:00"
    }
  ],
  "isSpecial": false
}
```

Show 2 propertiesHide 2 properties

stores.features.properties.weekly\_opening.7.[`hours`](#resp-200-stores-features-properties-weekly-opening-7-hours)
object[]

Show 2 propertiesHide 2 properties

stores.features.properties.weekly\_opening.7.hours.[`start`](#resp-200-stores-features-properties-weekly-opening-7-hours-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.weekly\_opening.7.hours.[`end`](#resp-200-stores-features-properties-weekly-opening-7-hours-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.weekly\_opening.7.[`isSpecial`](#resp-200-stores-features-properties-weekly-opening-7-isspecial)
boolean

Define if the hours comes from a special opening hours day.

Example:`false`

stores.features.properties.weekly\_opening.[`timezone`](#resp-200-stores-features-properties-weekly-opening-timezone)
string

Timezone for the Opening Hours of an Asset. It is used to compute the `open_now` property of an asset. see [https://en.wikipedia.org/wiki/List\_of\_tz\_database\_time\_zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)

Example:`Europe/London`

stores.features.properties.[`types`](#resp-200-stores-features-properties-types)
string[]

Contains an array of types describing the Asset.

Example:

```json
[
  "drive",
  "click_and_collect"
]
```

stores.features.properties.[`tags`](#resp-200-stores-features-properties-tags)
string[]

Contains an array of tags describing the Asset. For example a list of available amenities.

Example:

```json
[
  "wifi",
  "covered_parking"
]
```

stores.features.properties.[`last_updated`](#resp-200-stores-features-properties-last-updated)
string | null

the previous date timestamp when the asset has been updated

Example:`2022-11-08T15:48:08.556803+00:00`

stores.features.properties.[`user_properties`](#resp-200-stores-features-properties-user-properties)
object | null

Contains all additional information relative to an Asset. If not set it returns null value.

Example:

```json
{
  "some_user_properties": "some_value"
}
```

stores.features.properties.[`opening_hours`](#resp-200-stores-features-properties-opening-hours)
object | null

An object describing the opening hours of an Asset.

Example:

```json
{
  "timezone": "Europe/London",
  "usual": {
    "1": [],
    "default": [
      {
        "start": "08:30",
        "end": "22:00"
      }
    ]
  },
  "special": {
    "2015-02-07": [
      {
        "start": "08:00",
        "end": "23:00"
      }
    ]
  }
}
```

Show 3 propertiesHide 3 properties

stores.features.properties.opening\_hours.[`timezone`](#resp-200-stores-features-properties-opening-hours-timezone)
string

Timezone for the Opening Hours of an Asset. It is used to compute the `open_now` property of an asset. see [https://en.wikipedia.org/wiki/List\_of\_tz\_database\_time\_zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)

Example:`Europe/London`

stores.features.properties.opening\_hours.[`usual`](#resp-200-stores-features-properties-opening-hours-usual)
object

An object describing the usual opening hours of an Asset.

Show 8 propertiesHide 8 properties

stores.features.properties.opening\_hours.usual.[`1`](#resp-200-stores-features-properties-opening-hours-usual-1)
object[]

The opening Hours for Monday

Show 2 propertiesHide 2 properties

stores.features.properties.opening\_hours.usual.1.[`start`](#resp-200-stores-features-properties-opening-hours-usual-1-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.opening\_hours.usual.1.[`end`](#resp-200-stores-features-properties-opening-hours-usual-1-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.opening\_hours.usual.[`2`](#resp-200-stores-features-properties-opening-hours-usual-2)
object[]

The opening Hours for Tuesday

Show 2 propertiesHide 2 properties

stores.features.properties.opening\_hours.usual.2.[`start`](#resp-200-stores-features-properties-opening-hours-usual-2-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.opening\_hours.usual.2.[`end`](#resp-200-stores-features-properties-opening-hours-usual-2-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.opening\_hours.usual.[`3`](#resp-200-stores-features-properties-opening-hours-usual-3)
object[]

The opening Hours for Wednesday

Show 2 propertiesHide 2 properties

stores.features.properties.opening\_hours.usual.3.[`start`](#resp-200-stores-features-properties-opening-hours-usual-3-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.opening\_hours.usual.3.[`end`](#resp-200-stores-features-properties-opening-hours-usual-3-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.opening\_hours.usual.[`4`](#resp-200-stores-features-properties-opening-hours-usual-4)
object[]

The opening Hours for Thursday

Show 2 propertiesHide 2 properties

stores.features.properties.opening\_hours.usual.4.[`start`](#resp-200-stores-features-properties-opening-hours-usual-4-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.opening\_hours.usual.4.[`end`](#resp-200-stores-features-properties-opening-hours-usual-4-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.opening\_hours.usual.[`5`](#resp-200-stores-features-properties-opening-hours-usual-5)
object[]

The opening Hours for Friday

Show 2 propertiesHide 2 properties

stores.features.properties.opening\_hours.usual.5.[`start`](#resp-200-stores-features-properties-opening-hours-usual-5-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.opening\_hours.usual.5.[`end`](#resp-200-stores-features-properties-opening-hours-usual-5-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.opening\_hours.usual.[`6`](#resp-200-stores-features-properties-opening-hours-usual-6)
object[]

The opening Hours for Saturday

Show 2 propertiesHide 2 properties

stores.features.properties.opening\_hours.usual.6.[`start`](#resp-200-stores-features-properties-opening-hours-usual-6-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.opening\_hours.usual.6.[`end`](#resp-200-stores-features-properties-opening-hours-usual-6-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.opening\_hours.usual.[`7`](#resp-200-stores-features-properties-opening-hours-usual-7)
object[]

The opening Hours for Sunday

Show 2 propertiesHide 2 properties

stores.features.properties.opening\_hours.usual.7.[`start`](#resp-200-stores-features-properties-opening-hours-usual-7-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.opening\_hours.usual.7.[`end`](#resp-200-stores-features-properties-opening-hours-usual-7-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.opening\_hours.usual.[`default`](#resp-200-stores-features-properties-opening-hours-usual-default)
object[]

Contains the default opening hours to apply to all week days

Show 2 propertiesHide 2 properties

stores.features.properties.opening\_hours.usual.default.[`start`](#resp-200-stores-features-properties-opening-hours-usual-default-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.opening\_hours.usual.default.[`end`](#resp-200-stores-features-properties-opening-hours-usual-default-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.opening\_hours.[`special`](#resp-200-stores-features-properties-opening-hours-special)
object

An object describing the special opening hours of an Asset.

Show 2 propertiesHide 2 properties

stores.features.properties.opening\_hours.special.[`2015-02-07`](#resp-200-stores-features-properties-opening-hours-special-2015-02-07)
object[]

The format for defining opening and closing hours for a particular day is the same as the usual. Instead of using numeric week day for keys you must use a date YYYY-MM-DD like "2015-03-08" (see ISO-8601).

Show 2 propertiesHide 2 properties

stores.features.properties.opening\_hours.special.2015-02-07.[`start`](#resp-200-stores-features-properties-opening-hours-special-2015-02-07-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.opening\_hours.special.2015-02-07.[`end`](#resp-200-stores-features-properties-opening-hours-special-2015-02-07-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.opening\_hours.special.[`2015-02-08`](#resp-200-stores-features-properties-opening-hours-special-2015-02-08)
object[]

Show 2 propertiesHide 2 properties

stores.features.properties.opening\_hours.special.2015-02-08.[`start`](#resp-200-stores-features-properties-opening-hours-special-2015-02-08-start)
stringrequired

Contains a time of day in 24-hour hh:mm format for the begin of opening period. Values are in the range 00:00–23:59

Example:`08:30`

stores.features.properties.opening\_hours.special.2015-02-08.[`end`](#resp-200-stores-features-properties-opening-hours-special-2015-02-08-end)
stringrequired

Contains a time of day in 24-hour hh:mm format for the end of opening period. Values are in the range 00:00–23:59

Example:`19:30`

stores.features.properties.[`distance`](#resp-200-stores-features-properties-distance)
number

The distance in meters from the geolocated position or searched position if exist

Example:`544.581`

stores.features.[`geometry`](#resp-200-stores-features-geometry)
object

GeoJSon Point Geometry

Example:

```json
{
  "type": "Point",
  "coordinates": [
    -0.14408,
    51.5088
  ]
}
```

Show 2 propertiesHide 2 properties

stores.features.geometry.[`type`](#resp-200-stores-features-geometry-type)
string

the geometry type

Available options:`Point`

stores.features.geometry.[`coordinates`](#resp-200-stores-features-geometry-coordinates)
number[]

An array of comma separated {latitude,longitude} strings.

Example:

```json
[
  43.4,
  -2.1
]
```

stores.[`pagination`](#resp-200-stores-pagination)
object

Pagination to reach all returned assets. max 300 assets par page.

Show 2 propertiesHide 2 properties

stores.pagination.[`page`](#resp-200-stores-pagination-page)
integer

the request page

Example:`1`

stores.pagination.[`pageCount`](#resp-200-stores-pagination-pagecount)
integer

the number of available pages

Example:`10`

[`viewport`](#resp-200-viewport)
object

A rectangle in geographical coordinates from points at the southwest and northeast corners.

Example:

```json
{
  "northeast": {
    "lat": 49.315678,
    "lng": 4.15292
  },
  "southwest": {
    "lat": 49.31073,
    "lng": 4.145162
  }
}
```

#Show 2 propertiesHide 2 properties

viewport.[`northeast`](#resp-200-viewport-northeast)
object

An object describing a specific location with Latitude and Longitude in decimal degrees.

Example:

```json
{
  "lat": 43.3,
  "lng": 3.46
}
```

Show 2 propertiesHide 2 properties

viewport.northeast.[`lat`](#resp-200-viewport-northeast-lat)
numberrequired

Latitude in decimal degrees

Example:`42.3`

viewport.northeast.[`lng`](#resp-200-viewport-northeast-lng)
numberrequired

Longitude in decimal degrees

Example:`3.46`

viewport.[`southwest`](#resp-200-viewport-southwest)
object

An object describing a specific location with Latitude and Longitude in decimal degrees.

Example:

```json
{
  "lat": 43.3,
  "lng": 3.46
}
```

Show 2 propertiesHide 2 properties

viewport.southwest.[`lat`](#resp-200-viewport-southwest-lat)
numberrequired

Latitude in decimal degrees

Example:`42.3`

viewport.southwest.[`lng`](#resp-200-viewport-southwest-lng)
numberrequired

Longitude in decimal degrees

Example:`3.46`

[`accuracy`](#resp-200-accuracy)
number

The accuracy of the estimated location, in kilometers. This represents the radius of a circle around the given `location` where the IP address is likely to be. If your Geolocation response shows a low value in the `accuracy` field (\<=50), the IP has strong chance to be correctly located.

Example:`5`

[`latitude`](#resp-200-latitude)
number

Approximate latitude of the geographical area associated with the IP address

Example:`38.719`

[`longitude`](#resp-200-longitude)
number

Approximate longitude of the geographical area associated with the IP address

Example:`-77.1067`

[`country_code`](#resp-200-country-code)
string | null

ISO 3166-1 Alpha-2 compatible country code

Example:`US`

[`country_name`](#resp-200-country-name)
string

Country name

Example:`United States`

[`continent`](#resp-200-continent)
string

Continent name

Example:`North America`

[`region_state`](#resp-200-region-state)
string

Region name when available

Example:`Virginia`

[`city`](#resp-200-city)
string

City name when available

Example:`Alexandria`

[`postal_code`](#resp-200-postal-code)
string

A postal code close to the user's location, when available

Example:`22309`

[`timezone`](#resp-200-timezone)
string

Timezone for the Opening Hours of an Asset. It is used to compute the `open_now` property of an asset. see [https://en.wikipedia.org/wiki/List\_of\_tz\_database\_time\_zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)

Example:`Europe/London`

[`raw_offset`](#resp-200-raw-offset)
integer

The offset from utc in seconds

Example:`-18000`

[`dst_offset`](#resp-200-dst-offset)
integer

The daylight saving time offset in seconds

Example:`3600`

### Errors

#401

Unauthorized. Incorrect authentication credentials.

 

`application/json`

[`detail`](#err-401-detail)
string

Details for the credentials error

Example:`Incorrect authentication credentials. Please check or use a valid API Key`

#403

Forbidden. This Woosmap API is not enabled for this project.

 

`application/json`

[`detail`](#err-403-detail)
string

Details for the forbidden error message

Example:`This Woosmap API is not enabled for this project.`

#429

Too Many Requests. The rate limit for this endpoint has been exceeded.

 

`application/json`

[`detail`](#err-429-detail)
string

Details for the Over Query Limit error message

Example:`The rate limit for this endpoint has been exceeded`

```shell
curl -L 'https://api.woosmap.com/geolocation/stores?private_key=YOUR_PRIVATE_API_KEY&ip_address=173.79.254.254&limit=1'
```

```javascript
const requestOptions = {
  method: "GET",
  redirect: "follow"
};

fetch("https://api.woosmap.com/geolocation/stores?private_key=YOUR_PRIVATE_API_KEY&ip_address=173.79.254.254&limit=1", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));
```

```python
import requests

url = "https://api.woosmap.com/geolocation/stores?private_key=YOUR_PRIVATE_API_KEY&ip_address=173.79.254.254&limit=1"

payload = {}
headers = {}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
```

```json
{
  "country_code": "US",
  "country_name": "United States",
  "continent": "North America",
  "latitude": 38.719,
  "longitude": -77.1067,
  "viewport": {
    "northeast": {
      "lat": 38.763915764205976,
      "lng": -77.0491321464058
    },
    "southwest": {
      "lat": 38.674084235794034,
      "lng": -77.16426785359421
    }
  },
  "accuracy": 5,
  "city": "Alexandria",
  "region_state": "Virginia",
  "postal_code": "22309",
  "timezone": "America/New_York",
  "raw_offset": -18000,
  "dst_offset": 3600,
  "stores": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "properties": {
          "store_id": "STORE_ID_123456",
          "name": "My Cool Store",
          "contact": {
            "email": "contact@woosmap.com",
            "phone": "+44 20 7693 4000",
            "website": "https://www.woosmap.com"
          },
          "address": {
            "lines": [
              "Building Centre",
              "26 Store Street"
            ],
            "country_code": "UK",
            "city": "London",
            "zipcode": "WC1E 7BT"
          },
          "user_properties": {
            "some_user_properties": "associated user value"
          },
          "tags": [
            "wifi",
            "covered_parking"
          ],
          "types": [
            "drive",
            "click_and_collect"
          ],
          "last_updated": "2025-09-16T08:49:42.523114+00:00",
          "distance": 0,
          "open": {
            "open_now": true,
            "open_hours": [
              {
                "end": "22:00",
                "start": "08:30"
              }
            ],
            "week_day": 2,
            "current_slice": {
              "end": "22:00",
              "start": "08:30"
            }
          },
          "weekly_opening": {
            "1": {
              "hours": [],
              "isSpecial": false
            },
            "2": {
              "hours": [
                {
                  "end": "22:00",
                  "start": "08:30"
                }
              ],
              "isSpecial": false
            },
            "3": {
              "hours": [
                {
                  "end": "22:00",
                  "start": "08:30"
                }
              ],
              "isSpecial": false
            },
            "4": {
              "hours": [
                {
                  "end": "22:00",
                  "start": "08:30"
                }
              ],
              "isSpecial": false
            },
            "5": {
              "hours": [
                {
                  "end": "22:00",
                  "start": "08:30"
                }
              ],
              "isSpecial": false
            },
            "6": {
              "hours": [
                {
                  "end": "22:00",
                  "start": "08:30"
                }
              ],
              "isSpecial": false
            },
            "7": {
              "hours": [
                {
                  "end": "22:00",
                  "start": "08:30"
                }
              ],
              "isSpecial": false
            },
            "timezone": "Europe/London"
          },
          "opening_hours": {
            "usual": {
              "1": [],
              "default": [
                {
                  "end": "22:00",
                  "start": "08:30"
                }
              ]
            },
            "special": {
              "2015-02-07": [
                {
                  "end": "23:00",
                  "start": "08:00"
                }
              ]
            },
            "timezone": "Europe/London"
          }
        },
        "geometry": {
          "type": "Point",
          "coordinates": [
            -77.1067,
            38.719
          ]
        }
      }
    ],
    "pagination": {
      "page": 1,
      "pageCount": 2
    }
  }
}
```

```json
{
  "detail": "Incorrect authentication credentials. Please check or use a valid API Key"
}
```

```json
{
  "detail": "This Woosmap API is not enabled for this project."
}
```

```json
{
  "detail": "The rate limit for this endpoint has been exceeded"
}
```
