Dbmovies moved: one line to fix 2.5.5

Last updated: Sep 20, 2026

The old Dbmovies service at api.dbmvs.com has been shut down. If you are staying on DooPlay 2.5.5, you do not need to update the theme — you need to change one line so it talks to our new server instead.This takes about two minutes.

What you get, and what you don't

The new endpoint serves the IMDb data from our current system:

✅ IMDb rating and vote countlive, refreshed daily
✅ Title, year and content rating
❌ Poster, trailer, runtime, budget, country, TMDb votesnot included

The old server made a second call to TMDb to fill those in. The new one does not, so those fields come back empty and DooPlay will fall back to what it already has.

This matters for imports. Titles you import from now on will come in without a poster and without a trailer unless you have TMDb configured in DooPlay, which fills them from its own side. Titles already in your library are not touched.


Before you start

You need two things:

  1. Your license key, from your licenses page. It is a long string of letters and numbers, and it is the same key you already use for DooPlay itself — you do not need a separate one.
  2. FTP or file manager access to your site.
Back up inc/core/dbmvs/init.php before editing. One copy, thirty seconds, and you can always undo it.

Step 1 — Edit one line

Do this before touching the key in WordPress. The order matters, and the next step explains why.

Open this file:

file-path
wp-content/themes/dooplay/inc/core/dbmvs/init.php

Find line 32. It looks like this:

php
define('DBMOVIES_DBMVAPI','https://api.dbmvs.com');

Replace it with this, putting your own license key at the end:

php
define('DBMOVIES_DBMVAPI','https://edge.wupdater.com/dbmvs/{{YOUR-DOOPLAY-LICENSE-KEY}}');

So if your key were a1b2c3d4…, the line would read:

php
define('DBMOVIES_DBMVAPI','https://edge.wupdater.com/dbmvs/a1b2c3d4e5f6a7b8c9d0');

Save the file. That is the whole change.

No trailing slash at the end, and keep the quotes exactly as they are. Everything else in the file stays untouched.

Step 2 — Put your license key in Dbmovies

In WordPress, go to Dbmovies → Settings → General and paste your license key into the API key for Dbmovies field. Save.

If you already had a key there from the old service, replace it with your license key.

If the field shows up red

Dbmovies checks your key once and remembers the answer for an hour. If you saved the key before editing init.php, that check ran against the old dead address, and the red border will stay for up to an hour even though everything is already working.

Do not re-save the key — saving the same value does not clear it. Instead:

Tools → DooPlay Database → Clear Transient options → Run process.

Reload the settings page and the field turns green. This is also why Step 1 comes first: do it in that order and you never see the red.


Step 3 — Check that it worked

Open this URL in your browser, with your key in it:

endpoint
https://edge.wupdater.com/dbmvs/{{YOUR-DOOPLAY-LICENSE-KEY}}?auth=1

You should see something like:

json
{"status":1,"credits":9985,"requests":41,"unlimited":0,"used_credits":41,"free_credits":false}

"status":1 means you are connected. credits is how many requests you have left today.

Then go back to WordPress, open Dbmovies in the admin menu, and reload. The status should read as active and the counters should fill in.


If DooPlay itself shows the license as inactive

This is a separate thing from the steps above, and you may not need it at all. The change you just made fixes Dbmovies. The theme's own license check is a different connection.

DooPlay 2.5.5 validates its license against our old repository. If your server cannot complete that connection, the status never turns valid — you get the "Please activate a valid license" notice, and the theme's licensed features stay locked even though your license is perfectly fine.

The theme ships with a built-in fallback for exactly this. It is not hidden and it is not a workaround we are inventing today; it has been in the Database tool since 2.5.0.

1. Go to Appearance → DooPlay license and paste your license key into the field, then save. Do this even if the activation fails — the next step needs the key to be present.

2. Go to Tools → DooPlay Database.

3. A box titled Force license activation appears, with the note "This measure is required when your server does not complete the connection with our repository." Click Activate license.

4. Reload the admin. DooPlay now reports the license as active and its features unlock.

The box only appears if a key is saved and the status is empty. If you do not see it, either the field is blank (go back to step 1) or the license already validated normally — in which case there is nothing to fix.

This does not contact any server. It writes the "valid" status locally, on your own site, which is what lets a paid install keep working while our infrastructure moves.

It sticks. Nothing reverts it on its own — not the updater, not a WordPress update. There is exactly one thing that clears it: changing the key in the license field. The theme treats a different key as a new license and wipes the status, so if you edit that field later you will need to force it once more. Saving the same key again changes nothing.


If you applied the TMDb bypass modification

Skip this unless you know you applied it. It was an optional modification we published years ago, never part of DooPlay itself.

When TMDb blocked API access from servers in certain regions, we published a change that routed those calls through our own server so the affected sites could keep working. It added a constant named DBMOVIES_BYPASS.

That mirror is now closed. The good news is that you do not have to go looking for it: the constant sits in the same file you edited in Step 1, a few lines from the one you already changed. Set it to false:

php
define('DBMOVIES_BYPASS', false);

If you do not see a DBMOVIES_BYPASS line in that file, you never applied the modification and there is nothing to do here.

Your site then talks to api.themoviedb.org directly, the way DooPlay does out of the box. If TMDb answers from your server, that is the end of it.

If TMDb still does not answer, you are back in the exact situation the modification existed for. Be aware of what that means before you start debugging: nothing is broken on your side, and no amount of retrying will help — the block is on TMDb's end and it is geographic.

We do run a replacement mirror, but DooPlay 2.5.5 cannot use it: it authenticates with a request header that the old theme never sends, and no constant can add one. The way out is the current version of DooPlay, which talks to it natively. Open a ticket and we will help you plan the move.


Optional: faster bulk imports

Skip this if you do not import hundreds of titles at a time. Everything works without it.

When DooPlay imports a movie it asks TMDb first, then asks us for the IMDb rating — but it does not pass along the TMDb id it already has, so we have to resolve it again on our side. That costs about 200 ms per movie: on a 500-title import, a minute and a half of waiting for nothing.

One line fixes it. Open:

file-path
wp-content/themes/dooplay/inc/core/dbmvs/classes/importers.php

Find this block, around line 121:

php
$imdb_args = array(
    'key'  => $this->dbmvkey,
    'imdb' => $imdb_id
);

Add the tmdb line, and mind the new comma after $imdb_id:

php
$imdb_args = array(
    'key'  => $this->dbmvkey,
    'imdb' => $imdb_id,
    'tmdb' => $tmdb
);

That is all. It only affects movies — TV shows never use this endpoint. Back this file up too before editing.


Troubleshooting

What you seeWhat it means
{"status":0,"error":"API Key invalid"}The key in the URL is wrong. Copy it again from your licenses page — no spaces, no line breaks.
{"error":"Api key invalid or blocked"}Same as above, or the license is expired or disabled.
{"error":"Insufficient Credits"}You have used your daily allowance. It resets each day.
{"response":false}That specific title could not be resolved. Other titles will still work.
The API key for Dbmovies field is redA cached check from before the edit. Tools → DooPlay Database → Clear Transient options, then reload. Re-saving the same key does not clear it.
Nothing changes in the adminClear any full-page cache and hard-reload (Ctrl+Shift+R). DooPlay caches the status check for one hour.
A blank white screen after editingThe file has a typo. Restore your backup and try again — the most common cause is a missing quote or semicolon.
"Please activate a valid license" from the themeThat is the theme's own license check, not Dbmovies. See the section above.
The license went back to inactiveYou changed the key in the license field, which clears the forced status. Force it again.

Questions people ask

Do I have to update DooPlay?
No. That is the point of this change. 2.5.5 keeps working.

Will a theme update undo this?
Yes. init.php is a theme file, so updating DooPlay overwrites it and you would have to redo the edit. If you are staying on 2.5.5, this will not come up.

Can I do this from a child theme instead?
Not cleanly. The constant is defined without a guard, so overriding it from a child theme works but makes PHP log a warning on every single request. Edit the file.

How many requests do I get?
Your license's daily allowance — the same one your site already uses, and it is generous: the smallest plan allows thousands of lookups a day. You can see exactly what is left at any moment with the ?auth=1 URL from Step 3. It is measured per day, not per month, and it resets daily.

Does checking my balance use up requests?
No. Only actual title lookups count.

My posters stopped coming in.
That is expected — see the table at the top. Configure TMDb in Dbmovies → Settings if you have not already, and DooPlay will pull images from there.


If you would rather move forward

This endpoint exists so nothing breaks while you decide, not as a permanent home. The current version of DooPlay talks to the new platform directly, with no manual edits and no license key in a URL. When you are ready to move, everything you import will come back complete.

Until then, this keeps 2.5.5 running.