Product feed (Prisjakt, Shopello, etc.)

The product feed exports your product catalog in a structured format so comparison sites and shopping platforms can index your products. Once enabled, feeds are regenerated automatically on a schedule and can also be triggered manually.


Supported platforms

The product feed module supports four feed targets. Each one has its own toggle, so you can enable only the ones you need.

Feed

Platform

Feed ID

Price Hunt (Prisjakt)

Prisjakt Nordic

pjakt

Price Guide (Prisguide)

Prisguide

pguide

Shopello

Shopello

shopello

Other

Generic / other integrations

other


Enabling the feed

The feed module has a master switch plus individual toggles per platform. Both the master switch and the platform toggle must be active for a feed to be available.

  1. Go to Modules → Extras in the control panel.
  2. Find Product feed (Prisjakt, Shopello, etc.) and install it if it isn't already.
  3. In the module settings, set Active product feeds to true. This is the master switch.
  4. Enable the individual feeds you want: Price Hunt, Price Guide, Shopello, and/or Other.

Changes take effect the next time the feed is regenerated.


Feed URLs

Each enabled feed is available at a predictable URL:

https://yourstore.no/produktfeed.php?id={feed-id}

Platform

URL parameter

Price Hunt (Prisjakt)

?id=pjakt

Price Guide (Prisguide)

?id=pguide

Shopello

?id=shopello

Other

?id=other

Example: https://yourstore.no/produktfeed.php?id=pjakt

The endpoint checks that the corresponding feed is enabled before returning data. Requests for a disabled or unknown feed ID return an empty response.


Feed format

Feeds are delivered as tab-separated values (TSV) with a header row. Each row is one product or product variant.

Column

Description

productid

Internal product ID

url

Direct link to the product page

manufacturer

Brand or manufacturer name

title

Product name (max 80 characters, HTML stripped)

description

Product description (HTML stripped;

<br>

tags preserved in the "Other" feed)

price

Price including VAT, formatted in the store's default currency

image

Absolute URL to the product image

category

Full category path, pipe-separated (e.g. `Clothing

Men

Jackets`)

quantity

Stock quantity

attributes

Variant combinations, semicolon-separated (e.g.

Color-Red(199),Size-L(199);

)

ean

EAN barcode (if EAN module is active)

model

Product model number

Products use the active store language and default currency. If a product has a current special price, that price is used instead of the regular price.


How regeneration works

Feed files are pre-generated and cached — the feed endpoint serves the cached version whenever one exists. This keeps response times fast for comparison sites that poll frequently.

Feeds are regenerated on a schedule by a cron job that runs across all active stores. It queues a background job for each enabled feed type on each store. The queue worker picks up the job, generates the TSV output, and writes the file to disk.

Typical regeneration frequency: every few hours, though the exact schedule depends on your server configuration.

If no cached file exists (e.g., after first activation), the feed is generated on-demand when a request comes in and the result is logged to the feed generation log.


Stock handling

By default, the feed reports the stock quantity directly from the database. Two settings let you change this behavior.

Ignore stock

When Override stock numbers (PRODUCTFEED_IGNORE_STOCK) is enabled, every product in the feed reports a quantity of 1 regardless of actual stock. This is useful if you want all in-catalog products to appear as available without exposing real inventory levels.

Enable this under Modules → Extras → Product feed settings.

External stock

If part of your inventory is tracked outside Mystore (a third-party warehouse, an ERP system, or a manual count), you can add that quantity to each product using a product tag. When the feed is generated, the tag value is added to the database quantity.

Example: a product has 10 units in the Mystore database and an external_stock tag with value 50. The feed reports 60.

Enabling external stock

⚠️ Enabling external stock needs to be done by Mystore - please contact support

  1. In the product feed module settings, set Combine external stock to true.
  2. Optionally, set External stock tag to a custom tag key if you're not using the default (external_stock).

Setting stock values on products

Add a tag to each product that has external inventory. The tag must use the key you configured (default: external_stock) and a numeric value.

You can do this through the product tags interface in the control panel, or via a bulk import.

Requirements:

  • The Product tags module must be enabled.
  • Tags with products_id = -1 are template rows and are ignored.

How it interacts with "Ignore stock"

If Override stock numbers is also enabled, external stock has no effect — all products report 1 regardless.


Excluding products from feeds

You can tag individual products so they're completely omitted from all product feeds.

Enabling product exclusion

  1. In the product feed module settings, set Permitted exclusion of products to true.
  2. This creates an exclude_from_feed tag template, which then appears in the product tags interface.

Excluding a product

Open the product in the control panel, find the Tags section, and set the exclude_from_feed tag to true. The product will be skipped the next time the feed is regenerated.

Note: Exclusion applies to all product feed types (Prisjakt, Shopello, Other, etc.) at once. It's not possible to exclude a product from one feed but not another.

Screenshot goes here: [Product edit page with the exclude_from_feed tag enabled]

Requirements

  • The Product tags module must be enabled.
  • Exclusion only takes effect after the next feed regeneration. Trigger a manual refresh if you need the change to