1,000+ Opportunities
Find the right grant
Search federal, foundation, and corporate grants with AI — or browse by agency, topic, and state.
France 2030: Digital Transition of Culture and Appropriation of Artificial Intelligence is sponsored by French Government (Bpifrance, La Banque des Territoires). This call encourages digital transition and AI appropriation in the cultural sector. Projects should stimulate artistic creation, enhance data, and ensure fair remuneration for rights holders.
It targets projects led by individual actors, public, private, or mixed consortia.
Get a weekly digest of new grants like this
A free weekly digest of new foundation and federal funding opportunities as they're added to Granted. Unsubscribe anytime.
Or search similar grants →Extracted from the official opportunity page/RFP to help you evaluate fit faster.
France 2030: Launch of the Call for Projects 'Digital Transition of Culture and Appropriation of Artificial Intelligence' — ActuIA AI news & analysis from Europe autocomplete="off" placeholder="Search…" aria-label="Search" :aria-expanded="open" aria-controls="search-suggest" role="combobox" aria-autocomplete="list"> = 3 && ! posts. length && !
actors. length"> = 3" :href="allUrl()">See all results › 90" @scroll. window="scrolled = window.
pageYOffset > 90" :class="{ scrolled, 'menu-open': mobileOpen }"> const r = this. $refs. btn.
getBoundingClientRect(); this. menuY = r. bottom + 6; if (this.
boxes ! == null) return; const res = await fetch('https:\/\/www. actuia.
com\/compte\/veille\/list. json', { headers: { 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest' }, this. boxes = res.
ok ? (await res. json()).
watchboxes : []; } catch (e) { this. boxes = []; } if (this. bookmarked) { return this.
send(null); } await this. ensureBoxes(); if (this. multi) { this.
positionMenu(); this. menuOpen = true; return; } const res = await fetch('https:\/\/www. actuia.
com\/compte\/favoris\/toggle\/', { 'Content-Type': 'application/json', 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest', 'X-CSRF-TOKEN': document. querySelector('meta[name=\'csrf-token\']')?. content, bookmarkable_type: 'post', if (res.
status === 401 || res. status === 419) { const q = new URLSearchParams({ redirect: window. location.
pathname, intent: 'bookmark' }); window. location = 'https:\/\/www. actuia.
com\/en\/join\/' + '?' + q. toString(); const data = await res.
json(); this. bookmarked = data. bookmarked; // Vient d'enregistrer (et non de retirer) → proposer une note.
if (data. bookmarked && data. bookmark_id) { this.
bookmarkId = data. bookmark_id; this. draftNote = data.
note || ''; } finally { this. busy = false; } const r = this. $refs.
btn. getBoundingClientRect(); this. noteX = Math.
max(12, Math. min(r. left, window.
innerWidth - 312)); this. noteY = r. bottom + 6; this.
$nextTick(() => this. $refs. noteInput?.
focus()); if (! this. bookmarkId || this.
savingNote) return; await fetch('/compte/favoris/' + this. bookmarkId + '/note', { 'Content-Type': 'application/json', 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest', 'X-CSRF-TOKEN': document. querySelector('meta[name=\'csrf-token\']')?.
content, body: JSON. stringify({ note: this. draftNote }), } finally { this.
savingNote = false; this. notePop = false; } @click. outside="menuOpen = false; notePop = false" As announced by Rachida Dati, Minister of Culture, on November 26 during the 4th edition of "We Are French Touch," a gathering of cultural and creative industries, the call for projects "Digital Transition of Culture and Appropriation of Artificial Intelligence" was launched on May 16 by the Government as part of France 2030.
Cultural players, across all sectors (publishing, audiovisual, music, performing arts, video games...) face increasing pressure. Technological pressure on one hand, due to the rise of generative AI and the new usages it induces; and competitive pressure on the other hand, from global platforms whose models often escape the European legal and cultural framework.
As part of the acceleration strategy for cultural and creative industries (CCI) of France 2030, this call for projects responds to this tension through a targeted investment logic: encouraging the co-construction of technological solutions rooted in the realities of the French cultural sector. Although emphasis is placed on AI due to its strong innovation potential, it is not limited to this technology.
Expected projects should stimulate artistic creation, enhance data, and ensure fair remuneration for rights holders – three axes at the heart of current debates on AI and intellectual property.
The scheme is open to individual actors, public, private, or mixed consortia, with a clear distinction of operational modalities: Bpifrance , through its French Touch platform, will operate entrepreneurial projects led by companies of all sizes; La Banque des Territoires will manage projects with a general interest purpose, led by public structures or mixed groups.
present an eligible budget of at least €400,000 ; aim for a transition from TRL ≥ 4 (Validation in laboratory) to TRL ≥ 7 (Demonstration in an operational environment); be rooted in a logic of creating or appropriating a structuring cultural or technological asset. The aid provided will consist of a grant and a repayable advance. In most cases, the grant share will be up to 60% and the repayable advances share at least 40%.
The call for projects is open until June 2027, with four submission deadlines: Submission of Application Applications must be submitted exclusively on the Bpifrance submission platform . ActuIA editorial team — news, data and analysis on artificial intelligence for decision-makers. if (this.
boxes ! == null) return; const res = await fetch('https:\/\/www. actuia.
com\/compte\/veille\/list. json', { headers: { 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest' }, this. boxes = res.
ok ? (await res. json()).
watchboxes : []; } catch (e) { this. boxes = []; } // Le menu est en position:fixed → on l'ancre sous le bouton via ses // coordonnées écran, pour qu'il ne soit pas clippé par . rcard (overflow:hidden).
const r = this. $refs. btn.
getBoundingClientRect(); this. menuY = r. bottom + 6; // Déjà suivi → un clic retire (toggle off), pas de menu.
if (this. following) { return this. send(null); } await this.
ensureBoxes(); if (this. multi) { this. positionMenu(); this.
menuOpen = true; return; } this. send(null); // 0 ou 1 watchbox → range dans la défaut const res = await fetch('https:\/\/www. actuia.
com\/follow\/toggle\/', { 'Content-Type': 'application/json', 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest', 'X-CSRF-TOKEN': document. querySelector('meta[name=\'csrf-token\']')?. content, followable_type: 'actor', if (res.
status === 401 || res. status === 419) { const q = new URLSearchParams({ redirect: window. location.
pathname, window. location = 'https:\/\/www. actuia.
com\/en\/join\/' + '?' + q. toString(); if (res.
ok) { this. following = (await res. json()).
following; } } finally { this. busy = false; } @click. outside="menuOpen = false" LA La banque des territoires if (this.
boxes ! == null) return; const res = await fetch('https:\/\/www. actuia.
com\/compte\/veille\/list. json', { headers: { 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest' }, this. boxes = res.
ok ? (await res. json()).
watchboxes : []; } catch (e) { this. boxes = []; } // Le menu est en position:fixed → on l'ancre sous le bouton via ses // coordonnées écran, pour qu'il ne soit pas clippé par . rcard (overflow:hidden).
const r = this. $refs. btn.
getBoundingClientRect(); this. menuY = r. bottom + 6; // Déjà suivi → un clic retire (toggle off), pas de menu.
if (this. following) { return this. send(null); } await this.
ensureBoxes(); if (this. multi) { this. positionMenu(); this.
menuOpen = true; return; } this. send(null); // 0 ou 1 watchbox → range dans la défaut const res = await fetch('https:\/\/www. actuia.
com\/follow\/toggle\/', { 'Content-Type': 'application/json', 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest', 'X-CSRF-TOKEN': document. querySelector('meta[name=\'csrf-token\']')?. content, followable_type: 'actor', if (res.
status === 401 || res. status === 419) { const q = new URLSearchParams({ redirect: window. location.
pathname, entity: 'La banque des territoires', }); window. location = 'https:\/\/www. actuia.
com\/en\/join\/' + '?' + q. toString(); if (res.
ok) { this. following = (await res. json()).
following; } } finally { this. busy = false; } @click. outside="menuOpen = false" BA Banque des Territoires if (this.
boxes ! == null) return; const res = await fetch('https:\/\/www. actuia.
com\/compte\/veille\/list. json', { headers: { 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest' }, this. boxes = res.
ok ? (await res. json()).
watchboxes : []; } catch (e) { this. boxes = []; } // Le menu est en position:fixed → on l'ancre sous le bouton via ses // coordonnées écran, pour qu'il ne soit pas clippé par . rcard (overflow:hidden).
const r = this. $refs. btn.
getBoundingClientRect(); this. menuY = r. bottom + 6; // Déjà suivi → un clic retire (toggle off), pas de menu.
if (this. following) { return this. send(null); } await this.
ensureBoxes(); if (this. multi) { this. positionMenu(); this.
menuOpen = true; return; } this. send(null); // 0 ou 1 watchbox → range dans la défaut const res = await fetch('https:\/\/www. actuia.
com\/follow\/toggle\/', { 'Content-Type': 'application/json', 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest', 'X-CSRF-TOKEN': document. querySelector('meta[name=\'csrf-token\']')?. content, followable_type: 'actor', if (res.
status === 401 || res. status === 419) { const q = new URLSearchParams({ redirect: window. location.
pathname, entity: 'Banque des Territoires', }); window. location = 'https:\/\/www. actuia.
com\/en\/join\/' + '?' + q. toString(); if (res.
ok) { this. following = (await res. json()).
following; } } finally { this. busy = false; } @click. outside="menuOpen = false" if (this.
boxes ! == null) return; const res = await fetch('https:\/\/www. actuia.
com\/compte\/veille\/list. json', { headers: { 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest' }, this. boxes = res.
ok ? (await res. json()).
watchboxes : []; } catch (e) { this. boxes = []; } // Le menu est en position:fixed → on l'ancre sous le bouton via ses // coordonnées écran, pour qu'il ne soit pas clippé par . rcard (overflow:hidden).
const r = this. $refs. btn.
getBoundingClientRect(); this. menuY = r. bottom + 6; // Déjà suivi → un clic retire (toggle off), pas de menu.
if (this. following) { return this. send(null); } await this.
ensureBoxes(); if (this. multi) { this. positionMenu(); this.
menuOpen = true; return; } this. send(null); // 0 ou 1 watchbox → range dans la défaut const res = await fetch('https:\/\/www. actuia.
com\/follow\/toggle\/', { 'Content-Type': 'application/json', 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest', 'X-CSRF-TOKEN': document. querySelector('meta[name=\'csrf-token\']')?. content, followable_type: 'actor', if (res.
status === 401 || res. status === 419) { const q = new URLSearchParams({ redirect: window. location.
pathname, entity: 'Rachida Dati', }); window. location = 'https:\/\/www. actuia.
com\/en\/join\/' + '?' + q. toString(); if (res.
ok) { this. following = (await res. json()).
following; } } finally { this. busy = false; } @click. outside="menuOpen = false" if (this.
boxes ! == null) return; const res = await fetch('https:\/\/www. actuia.
com\/compte\/veille\/list. json', { headers: { 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest' }, this. boxes = res.
ok ? (await res. json()).
watchboxes : []; } catch (e) { this. boxes = []; } // Le menu est en position:fixed → on l'ancre sous le bouton via ses // coordonnées écran, pour qu'il ne soit pas clippé par . rcard (overflow:hidden).
const r = this. $refs. btn.
getBoundingClientRect(); this. menuY = r. bottom + 6; // Déjà suivi → un clic retire (toggle off), pas de menu.
if (this. following) { return this. send(null); } await this.
ensureBoxes(); if (this. multi) { this. positionMenu(); this.
menuOpen = true; return; } this. send(null); // 0 ou 1 watchbox → range dans la défaut const res = await fetch('https:\/\/www. actuia.
com\/follow\/toggle\/', { 'Content-Type': 'application/json', 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest', 'X-CSRF-TOKEN': document. querySelector('meta[name=\'csrf-token\']')?. content, followable_type: 'actor', if (res.
status === 401 || res. status === 419) { const q = new URLSearchParams({ redirect: window. location.
pathname, entity: 'France 2030', }); window. location = 'https:\/\/www. actuia.
com\/en\/join\/' + '?' + q. toString(); if (res.
ok) { this. following = (await res. json()).
following; } } finally { this. busy = false; } @click. outside="menuOpen = false" if (this.
boxes ! == null) return; const res = await fetch('https:\/\/www. actuia.
com\/compte\/veille\/list. json', { headers: { 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest' }, this. boxes = res.
ok ? (await res. json()).
watchboxes : []; } catch (e) { this. boxes = []; } // Le menu est en position:fixed → on l'ancre sous le bouton via ses // coordonnées écran, pour qu'il ne soit pas clippé par . rcard (overflow:hidden).
const r = this. $refs. btn.
getBoundingClientRect(); this. menuY = r. bottom + 6; // Déjà suivi → un clic retire (toggle off), pas de menu.
if (this. following) { return this. send(null); } await this.
ensureBoxes(); if (this. multi) { this. positionMenu(); this.
menuOpen = true; return; } this. send(null); // 0 ou 1 watchbox → range dans la défaut const res = await fetch('https:\/\/www. actuia.
com\/follow\/toggle\/', { 'Content-Type': 'application/json', 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest', 'X-CSRF-TOKEN': document. querySelector('meta[name=\'csrf-token\']')?. content, followable_type: 'actor', if (res.
status === 401 || res. status === 419) { const q = new URLSearchParams({ redirect: window. location.
pathname, window. location = 'https:\/\/www. actuia.
com\/en\/join\/' + '?' + q. toString(); if (res.
ok) { this. following = (await res. json()).
following; } } finally { this. busy = false; } @click. outside="menuOpen = false" JPMorgan and Goldman Sachs join a pre-revenue AI round at $41B OVHcloud-Gladia: the voice layer sovereign cloud was missing Siri AI: Gemini as Teacher, Not Engine — What WWDC Didn’t Say Subscription confirmed, see you soon!
The essentials of AI, every week Subscription confirmed, see you soon!
According to the current listing, eligibility includes: Individual actors, public, private, or mixed consortia. Entrepreneurial projects led by companies of all sizes are operated by Bpifrance, while projects with public entities are managed by La Banque des Territoires. Confirm the full requirements in the official notice before applying.
France 2030: Digital Transition of Culture and Appropriation of Artificial Intelligence is funded by French Government (Bpifrance, La Banque des Territoires). Verify program details on the funder's official page before applying.
Start from the official opportunity page linked in this listing — it carries the sponsor's submission instructions.
MacKenzie Scott's Yield Giving has moved more than $26 billion — including roughly $7 billion in 2025, over a third of all U.S. megagifts — through unrestricted, trust-based grants with no application. Melinda French Gates's Pivotal Ventures has committed $2 billion to women's health and economic power. The Bezos philanthropies have moved billions more. As the Buffett–Gates era winds down, this new class of megadonor is rewriting the rules of major giving. Here is what changes for nonprofits, and how to become the kind of organization this money finds.
Read articleOn June 8, HHS and GSA launched a new Grants Management Special Item Number — SIN 518210GM — creating a government-wide buying lane for modern, standards-compliant grants software tied to more than $1.2 trillion in annual awards. It reads like procurement plumbing. For grantees, govtech vendors, and the future of grant data interoperability, it is anything but.
Read articleThe political pre-issuance review provision drew the headlines. But the more consequential change is procedural — turning the Uniform Guidance into the Uniform Grants Regulation removes every internal speed bump on future OMB grant rulemaking.
Read article