Search Engine Marketing

The Search Engine Marketing (SEM) APIs let Marketplace sellers promote Walmart listings on Google Shopping. With these endpoints you can programmatically create and manage campaigns, validate and discover catalog items to advertise, and retrieve performance and billing insights.

What you can do

  • Campaign Management

    • Create campaigns with budgets, dates, and bidding strategy (TARGET_ROAS or MAXIMIZE_TRAFFIC).
    • Add or remove items in bulk via itemsOperations.
    • Update metadata (name, dates, budgets, target ROAS) and stop or delete campaigns.
  • Catalog

    • Check item eligibility for SEM.
    • Get top recommended items to add to campaigns.
  • Reporting

    • Pull item-level and campaign-level performance (impressions, clicks, CTR, ad spend, CPC, GMV, ROAS, etc.), with filtering, sorting, and pagination.
  • Billing

    • Retrieve billing history (invoice dates, amounts, currency, payment mode).

Core resources

  • Campaign – Defines the advertising flight (name, dates, budgets, strategy, status).
  • Items – SKUs you promote within a campaign (added/removed through itemsOperations).
  • Reports – Item or campaign summaries with traffic and sales attribution metrics.
  • Invoices – Billing records for ad spend.

Authentication & headers

All endpoints require Walmart Marketplace auth and headers:

Production: https://marketplace.walmartapis.com

  • WM_SEC.ACCESS_TOKEN (required)
  • WM_QOS.CORRELATION_ID (required GUID)
  • WM_SVC.NAME (required)
  • WM_CONSUMER.CHANNEL.TYPE (optional)

Endpoints at a glance

  • Campaign Management

    • POST /v3/advertising/sem/campaigns – Create campaign
    • GET /v3/advertising/sem/campaigns/{campaignId} – Get details
    • PUT /v3/advertising/sem/campaigns/{campaignId} – Update campaign
    • PUT /v3/advertising/sem/campaigns/{campaignId}/stop – Stop campaign
    • DELETE /v3/advertising/sem/campaigns/{campaignId} – Delete campaign
  • Catalog

    • POST /v3/advertising/sem/items/eligibility – Check item eligibility
    • GET /v3/advertising/sem/items/recommendations – Get recommended items (limit up to 200)
  • Reporting

    • POST /v3/advertising/sem/campaigns/{campaignId}/item-level-summary – Item-level metrics
    • POST /v3/advertising/sem/campaigns/performance-summary – Campaign-level metrics
  • Billing

    • POST /v3/advertising/sem/billing-history – Invoices with pagination

Request & response patterns

  • Create/Update payloads use metadata (campaign settings) and itemsOperations (ADD or REMOVE SKUs; 1–10,000 SKUs).

  • Dates use yyyy-MM-dd. If no endDate, default is 9999-12-30.

  • Budgets: daily $5.00–$2,500.00; total $5.00–$250,000.00.

  • Reporting supports filters, sort (field, order), and page (offset, limit).

  • Pagination objects:

    • Requests: Page { offset, limit }
    • Responses: Pagination { pageNo, pageSize, totalCount, totalPages }

Typical workflow

  1. Discover items

    • Check [items/eligibility\](/us-marketplace/reference/geteligibleitems) and/or fetch items/recommendations.
  2. Create a campaign

    • POST /sem/campaigns with metadata (dates, budgets, biddingStrategyType, targetRoas) and itemsOperations.
  3. Manage

  4. Measure & optimize

    • Pull item/campaign performance reports, adjust budgets/ROAS, and iterate.
  5. Reconcile