Get Inventory Levels

Endpoint: GET /api/v1/inventory

Full URL: https://api.spreetaileu.com/api/api/v1/inventory

Retrieve current inventory levels for your account.

Authentication-Based Access

  • The inventory returned is automatically filtered based on your authenticated client
  • No additional parameters needed - your JWT token determines which inventory you can see
  • Each client has specific warehouse locations and SKU prefixes configured

Response Data

Returns comprehensive inventory information including:

  • Total inventory count across all SKUs
  • Number of unique SKUs
  • Detailed per-SKU information:
    • SKU/Part Number
    • Physical dimensions (Height, Width, Depth)
    • Weight
    • Retail price
    • Current stock level
    • In Order Book (allocated to orders)
    • Available (free stock)
    • Last update timestamp and operation

Use Cases

  • Monitor stock levels for reordering
  • Check product availability
  • Integrate with your inventory management system
  • Generate stock reports

Pagination

This endpoint supports efficient pagination by passing parameters directly to Linnworks:

  • Use page parameter to specify which page to retrieve (default: 1)
  • Use page_size parameter to control items per page (default: 25, max: 200)
  • Response includes pagination metadata (current_page, page_size, has_more, next_page)
  • Each location indicates if more data is available via has_more field

SKU Filter (optional)

  • Use the sku query parameter to fetch stock for specific SKUs only
  • Comma-separated list of client SKUs, case-insensitive, max 50 per request
  • Example: ?sku=ABC-123,XYZ-789
  • When provided, the response adds requested_sku_count and not_found_skus (any SKUs that did not resolve for your client)
  • When omitted, behavior is unchanged

Changed-Since Filter (optional)

  • Use the last_modified query parameter to return only SKUs whose stock record was updated on or after a given moment
  • Accepts a date (YYYY-MM-DD, start of that day UTC) or a full ISO timestamp (e.g. 2026-08-01T14:30:00Z)
  • Compares against the same LastUpdateDate value returned per SKU, per warehouse location — a SKU updated recently at one location appears only under that location
  • Treat it as "may have changed since": the stock record is touched by orders, deliveries and adjustments, but also by some administrative events — it never misses a change
  • Filtering is applied per page, so pages can contain fewer than page_size entries (even zero) while has_more is still true — keep paging until has_more is false
  • The applied value is echoed back as data.last_modified; malformed values return 400

Warehouse Filter (optional)

  • Use the warehouse query parameter to return stock for specific warehouse locations only
  • Comma-separated, case-insensitive, max 20; each value is matched against a location's location_name or location_filter, exactly as returned in data.locations
  • Example: ?warehouse=ramy data testing
  • Grand totals (total_inventory, total_unavailable, total_count_of_skus) cover only the selected locations
  • Combines with sku, last_modified and pagination
  • A value that matches none of your locations returns 400 with your valid names in available_warehouses
  • The applied values are echoed back as data.warehouse; when omitted, all your locations are returned as before

Performance

  • Typical response time: 2-5 seconds per request
  • Pagination is handled by Linnworks API (very efficient)
  • Recommended: Start with page_size=25-50 for best performance
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
integer
≥ 1
Defaults to 1

Page number to retrieve (starts at 1)

integer
1 to 200
Defaults to 25

Number of SKUs to return per page (max 200)

string

Optional comma-separated list of client SKUs to filter the response (max 50, case-insensitive). When provided, only those SKUs are returned across all warehouse locations and the response includes requested_sku_count and not_found_skus (any SKUs that did not resolve for this client). Pagination still applies but is typically a no-op because the filtered set fits within one page. When omitted, behavior is unchanged.

string

Optional changed-since filter: only SKUs whose stock record was updated on or after this moment are returned. Accepts a date (YYYY-MM-DD, meaning start of that day UTC) or a full ISO timestamp (e.g. 2026-08-01T14:30:00Z). The comparison uses the same LastUpdateDate value returned per SKU, per warehouse location — a SKU updated recently at one location appears only under that location. The stock record is touched by orders, deliveries, and adjustments, but also by some administrative events, so treat this as "may have changed since" (it never misses a change). SKUs with no stock record at the queried location are excluded while this filter is active. Filtering is applied per page, so pages can contain fewer than page_size entries (even zero) while has_more is still true — keep paging until has_more is false. Malformed values return 400. When omitted, behavior is unchanged. The applied value is echoed back as data.last_modified.

string

Optional comma-separated list of your warehouse locations to return (max 20). Each value is matched case-insensitively against a location's location_name or its location_filter ID, exactly as returned in data.locations. When provided, only the matching locations are included and the grand totals (total_inventory, total_unavailable, total_count_of_skus) cover only those locations. Combines with sku, last_modified and pagination. A value that matches none of your warehouse locations returns 400 with the list of valid names in available_warehouses. When omitted, all your warehouse locations are returned as before. The applied values are echoed back as data.warehouse.

Responses

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json