diff --git a/article-api/src/main/scala/no/ndla/articleapi/db/migration/V58__ConvertNorgesfilmUrls.scala b/article-api/src/main/scala/no/ndla/articleapi/db/migration/V58__ConvertNorgesfilmUrls.scala
new file mode 100644
index 000000000..8492d5e26
--- /dev/null
+++ b/article-api/src/main/scala/no/ndla/articleapi/db/migration/V58__ConvertNorgesfilmUrls.scala
@@ -0,0 +1,27 @@
+/*
+ * Part of NDLA article-api
+ * Copyright (C) 2025 NDLA
+ *
+ * See LICENSE
+ *
+ */
+
+package no.ndla.articleapi.db.migration
+
+import no.ndla.articleapi.db.HtmlMigration
+import org.jsoup.nodes.Element
+
+class V58__ConvertNorgesfilmUrls extends HtmlMigration {
+ override val convertVisualElement: Boolean = true
+ override def convertHtml(doc: Element, language: String): Element = {
+ doc
+ .select("ndlaembed[data-resource='iframe']")
+ .forEach(embed => {
+ val url = embed.attr("data-url")
+ if (url.contains("ndla.filmiundervisning.no/film/ndlafilm.aspx?")) {
+ embed.attr("data-url", url.replace("/ndlafilm.aspx?", "/")): Unit
+ }
+ })
+ doc
+ }
+}
diff --git a/article-api/src/test/scala/no/ndla/articleapi/db/migration/V58__ConvertNorgesfilmUrlsTest.scala b/article-api/src/test/scala/no/ndla/articleapi/db/migration/V58__ConvertNorgesfilmUrlsTest.scala
new file mode 100644
index 000000000..1cb34d375
--- /dev/null
+++ b/article-api/src/test/scala/no/ndla/articleapi/db/migration/V58__ConvertNorgesfilmUrlsTest.scala
@@ -0,0 +1,23 @@
+/*
+ * Part of NDLA article-api
+ * Copyright (C) 2025 NDLA
+ *
+ * See LICENSE
+ *
+ */
+
+package no.ndla.articleapi.db.migration
+
+import no.ndla.articleapi.{TestEnvironment, UnitSuite}
+
+class V58__ConvertNorgesfilmUrlsTest extends UnitSuite with TestEnvironment {
+ test("That norgesfilm urls looses ndlafilm.aspx") {
+ val migration = new V58__ConvertNorgesfilmUrls
+ val oldArticle =
+ """"""
+ val newArticle =
+ """"""
+
+ migration.convertContent(oldArticle, "nb") should be(newArticle)
+ }
+}
diff --git a/draft-api/src/main/scala/no/ndla/draftapi/db/migration/V69__ConvertNorgesfilmUrls.scala b/draft-api/src/main/scala/no/ndla/draftapi/db/migration/V69__ConvertNorgesfilmUrls.scala
new file mode 100644
index 000000000..2d83356da
--- /dev/null
+++ b/draft-api/src/main/scala/no/ndla/draftapi/db/migration/V69__ConvertNorgesfilmUrls.scala
@@ -0,0 +1,28 @@
+/*
+ * Part of NDLA draft-api
+ * Copyright (C) 2025 NDLA
+ *
+ * See LICENSE
+ *
+ */
+
+package no.ndla.draftapi.db.migration
+
+import no.ndla.draftapi.db.HtmlMigration
+import org.jsoup.nodes.Element
+
+class V69__ConvertNorgesfilmUrls extends HtmlMigration {
+ override val convertVisualElement: Boolean = true
+ override def convertHtml(doc: Element, language: String): Element = {
+ doc
+ .select("ndlaembed[data-resource='iframe']")
+ .forEach(embed => {
+ val url = embed.attr("data-url")
+ if (url.contains("ndla.filmiundervisning.no/film/ndlafilm.aspx?")) {
+ embed.attr("data-url", url.replace("/ndlafilm.aspx?", "/")): Unit
+ }
+ })
+ doc
+ }
+
+}
diff --git a/draft-api/src/test/scala/no/ndla/draftapi/db/migration/V69__ConvertNorgesfilmUrlsTest.scala b/draft-api/src/test/scala/no/ndla/draftapi/db/migration/V69__ConvertNorgesfilmUrlsTest.scala
new file mode 100644
index 000000000..cd8e974ad
--- /dev/null
+++ b/draft-api/src/test/scala/no/ndla/draftapi/db/migration/V69__ConvertNorgesfilmUrlsTest.scala
@@ -0,0 +1,23 @@
+/*
+ * Part of NDLA draft-api
+ * Copyright (C) 2025 NDLA
+ *
+ * See LICENSE
+ *
+ */
+
+package no.ndla.draftapi.db.migration
+
+import no.ndla.draftapi.{TestEnvironment, UnitSuite}
+
+class V69__ConvertNorgesfilmUrlsTest extends UnitSuite with TestEnvironment {
+ test("That norgesfilm urls looses ndlafilm.aspx") {
+ val migration = new V69__ConvertNorgesfilmUrls
+ val oldArticle =
+ """"""
+ val newArticle =
+ """"""
+
+ migration.convertContent(oldArticle, "nb") should be(newArticle)
+ }
+}