Troubleshooting
The widget does not show, shows an error, or does not look the way you set it. What to check first.
Start with the symptom you see. Most problems come from the domain, from code that was edited after copying it, or from a setting your plan does not include.
The widget does not appear
Check these in order:
- The code is complete. Paid plans need both the
<script>line and the<ls-soccersapi>tag. Free needs the whole<iframe>line. Copy it again from Get code if in doubt. - The page runs on an approved domain. Open Domains.
example.comcoverswww.example.comand every other subdomain, butscores.example.comdoes not coverexample.com. - Your site builder keeps the code. Some builders remove
<script>tags, or run pasted code in a frame of their own. See where to paste it. - The code has not been changed by hand.
uidandwidget-idmust stay exactly as Get code wrote them.
If the widget shows a message instead, look for it below.
"Domain unauthorized"
The widget is running on a domain that is not approved for your account. The message names the domain it saw.
- Add that domain in Domains. The widget can use it on the next page load.
- If the named domain is not yours (for example a site builder's own address), your builder runs the code in a frame on another domain. Contact support with that address.
- After a downgrade, only as many domains as the new plan allows keep working: the most recently updated ones.
"Domain blocked"
SoccersAPI has blocked the widget on that domain. Only support can change it: write to [email protected].
"Free Widgets V2 must be embedded with the SoccersAPI iframe"
A Free account is using the script installation of paid plans. Use the iframe code from Get code, or upgrade to Starter or above.
"An active subscription is required to use this widget"
The code asks for something your plan does not include: usually a Match, League, Team, Player or Leagues widget on Free or Starter, or any widget after a paid subscription ended. Check your plan in Widgets › Plans.
"This widget has reached the monthly traffic allowance"
The Free plan pauses at 25,000 views a month. The widget comes back on the first day of the next month (UTC), or as soon as you upgrade. Paid plans are never paused. See Traffic.
"Widget not found"
The account in the code has no configuration for this widget. Usually uid or
widget-id was edited, or the code comes from another account. Copy fresh code
from Get code.
"Configuration Missing"
The widget could not read its configuration. The text under the title says why:
- "The configuration service rejected the request": the
uidorwidget-idin the code was changed. Copy fresh code from Get code. - "The configuration service is temporarily unavailable": a short outage on our side. The widget has already retried; reload the page after a minute.
The widget looks unstyled
The widget loads, but without its colours and fonts.
- Keep
data-ls-widgets="umd"anddata-ls-widgets-styleon the script line: the widget uses them to find its stylesheet. - If your site has a Content Security Policy, allow the hosts listed in the embed code reference.
- A
<style>or<link>element withid="styles"on your page stops the widget from loading its own stylesheet. Rename that id.
My changes do not show on my site
- Did you save? The status at the top of the editor must read Configuration saved. There is no other publish step.
- Is it the right configuration? In Domains, check which configuration the domain loads. If you edited another one, assign it with Apply to.
- Wait and reload. Saved changes reach visitors within about 30 seconds, on their next page load.
- Is your page cached? A caching plugin or CDN can keep serving an old version of your page. The widget itself loads its configuration each time.
A setting has no effect
- It is locked by your plan. Locked settings keep their value in the editor, but the widget ignores them. They are listed under Not in your plan.
- It was removed when you saved. Saving the default configuration on a plan without a feature removes that feature's settings (for example your logo on Free). Set them again after upgrading.
- It depends on another setting. Many settings only appear or apply when another one is on. The configurator options page says which.
A Match, League, Team or Player widget shows the wrong item
The code still has the sample number from the preview. Change matchid,
leagueid, teamid or playerid in the code to your item's number, or type it
in the configurator before copying the code.
Clicks do not open what I chose
- On Free and Starter, every click opens the modal. Choosing another navigation mode needs Pro or Ultra.
- Floating cards: a type that is unticked under Open as floating card opens in the modal. Under 900 px, pinned items sit in a tray at the bottom of the widget instead of cards. On phones every item opens in the same full-screen sheet in Modal and Floating cards, without Minimize or Open full view; see On phones.
- Nothing happens at all: the navigation mode is None (no entity links).
- Dynamic Pages: see the Dynamic Pages checks.
Odds do not show
- Bookmaker odds enabled or Inline odds in match row is off, or your plan does not include odds (Pro and Ultra).
- The visitor turned odds off with the Odds switch in the toolbar.
- Compliance hides them: Clean mode, a restricted country, or an unknown country under a country policy.
- The bookmaker has no odds for that match. Odds are only shown in the livescore rows, the match header and the Odds tab, never in fixture lists. Match rows load the Default bookmaker and the next two by priority, so a match covered only by other bookmakers shows dashes in its row.
- The match has no odds for the Default market: a match with 1x2 odds but no Asian Handicap shows dashes when that market is selected.
Affiliate links do not show
Affiliate links are Button and Text link offers.
- In Offers, the Match rows or Match header and window place is off, or the offer is not picked there. (In a configuration that has not been opened in the configurator since links became offers: Affiliate links enabled, Show in match rows or Show in match header is off.)
- The offer is switched off or has no Link (before the conversion: the link's own Enabled is off, or its URL is empty).
- The offer is above your plan's limit.
- Compliance hides affiliate links for this visitor, or the link's countries or devices exclude them.
- Which rows of the Match rows place leaves that row out (only rows with odds, or only some competitions).
- Buttons only show in the livescore list, never in team or competition fixture lists, head-to-head lists or favourites.
If the admin does not save and says "Some affiliate links could not be converted. The previous configuration was kept." (or "Affiliate links could not be converted alongside existing inline offers."), nothing was saved: the configuration on your site, links included, stays as it was. Contact [email protected] with the name of the configuration.
Offers do not show
See If an offer does not show. The
most common causes: the button link does not start with https://, a list
only shows offers with a headline, or the offer targets other countries.
Banners or bookmaker logos do not show
Check the banner slot's Enabled and Image URL, that your plan includes that slot (top and bottom slots are unlocked separately), and the compliance switches Disable commercial banners and Hide bookmaker logos.
A live match shows no minute
The minute comes from the data feed. Some competitions do not send it, and just after kick-off it can take a moment to appear. Half-time shows HT instead of a minute.
The layout looks cramped
- Set the configurator preview to the real width of your column and check it there.
- Choose Density: Compact in the Basic view, or turn on Compact mode.
- Give the widget a container at least 320 px wide.
Dark mode or language is not the one I set
- Theme. The widget does not follow your site's own dark mode. It uses, in
this order: the
themeattribute on the tag, the visitor's own choice (the theme icon in the toolbar), the configuration's default, and light. Usetheme="system"to follow the visitor's device setting. - Language. A language the visitor picked in the widget's settings is
remembered and wins over the
localein your code and the configuration. - Team or competition names in English. The widget's own texts are translated, but team, competition and player names come from the SoccersAPI data. When the data has no translation for a name in the chosen language, the name appears as the data provides it, usually in English.
See the embed code reference.
Still stuck?
Write to [email protected] with:
- the address of the page where the widget should appear;
- the domain and the configuration name from the admin;
- a screenshot, and the exact message if there is one;
- your browser and device.
Never send passwords, API keys or payment details.