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 |
|
Price Guide (Prisguide) | Prisguide |
|
Shopello | Shopello |
|
Other | Generic / other integrations |
|
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.
- Go to Modules → Extras in the control panel.
- Find Product feed (Prisjakt, Shopello, etc.) and install it if it isn't already.
- In the module settings, set Active product feeds to
true. This is the master switch. - 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) |
|
Price Guide (Prisguide) |
|
Shopello |
|
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 | ||
|---|---|---|---|
| Internal product ID | ||
| Direct link to the product page | ||
| Brand or manufacturer name | ||
| Product name (max 80 characters, HTML stripped) | ||
| Product description (HTML stripped;
tags preserved in the "Other" feed) | ||
| Price including VAT, formatted in the store's default currency | ||
| Absolute URL to the product image | ||
| Full category path, pipe-separated (e.g. `Clothing | Men | Jackets`) |
| Stock quantity | ||
| Variant combinations, semicolon-separated (e.g.
) | ||
| EAN barcode (if EAN module is active) | ||
| 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
- In the product feed module settings, set Combine external stock to
true. - 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 = -1are 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
- In the product feed module settings, set Permitted exclusion of products to
true. - This creates an
exclude_from_feedtag 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