---
title: Data Fetching
description: Next.js allows you to fetch data in multiple ways, with pre-rendering, server-side rendering or static-site generation, and incremental static regeneration. Learn how to manage your application data in Next.js.
url: "https://nextjs.org/docs/14/pages/building-your-application/data-fetching"
version: 14.2.35
lastUpdated: 2023-06-08
prerequisites:
  - "Building Your Application: /docs/14/pages/building-your-application"
---


Data fetching in Next.js allows you to render your content in different ways, depending on your application's use case. These include pre-rendering with **Server-side Rendering** or **Static Generation**, and updating or creating content at runtime with **Incremental Static Regeneration**.

## Examples

* [WordPress Example](https://github.com/vercel/next.js/tree/canary/examples/cms-wordpress)([Demo](https://next-blog-wordpress.vercel.app))
* [Blog Starter using markdown files](https://github.com/vercel/next.js/tree/canary/examples/blog-starter) ([Demo](https://next-blog-starter.vercel.app/))
* [DatoCMS Example](https://github.com/vercel/next.js/tree/canary/examples/cms-datocms) ([Demo](https://next-blog-datocms.vercel.app/))
* [TakeShape Example](https://github.com/vercel/next.js/tree/canary/examples/cms-takeshape) ([Demo](https://next-blog-takeshape.vercel.app/))
* [Sanity Example](https://github.com/vercel/next.js/tree/canary/examples/cms-sanity) ([Demo](https://next-blog-sanity.vercel.app/))
* [Prismic Example](https://github.com/vercel/next.js/tree/canary/examples/cms-prismic) ([Demo](https://next-blog-prismic.vercel.app/))
* [Contentful Example](https://github.com/vercel/next.js/tree/canary/examples/cms-contentful) ([Demo](https://next-blog-contentful.vercel.app/))
* [Strapi Example](https://github.com/vercel/next.js/tree/canary/examples/cms-strapi) ([Demo](https://next-blog-strapi.vercel.app/))
* [Prepr Example](https://github.com/vercel/next.js/tree/canary/examples/cms-prepr) ([Demo](https://next-blog-prepr.vercel.app/))
* [Agility CMS Example](https://github.com/vercel/next.js/tree/canary/examples/cms-agilitycms) ([Demo](https://next-blog-agilitycms.vercel.app/))
* [Cosmic Example](https://github.com/vercel/next.js/tree/canary/examples/cms-cosmic) ([Demo](https://next-blog-cosmic.vercel.app/))
* [ButterCMS Example](https://github.com/vercel/next.js/tree/canary/examples/cms-buttercms) ([Demo](https://next-blog-buttercms.vercel.app/))
* [Storyblok Example](https://github.com/vercel/next.js/tree/canary/examples/cms-storyblok) ([Demo](https://next-blog-storyblok.vercel.app/))
* [GraphCMS Example](https://github.com/vercel/next.js/tree/canary/examples/cms-graphcms) ([Demo](https://next-blog-graphcms.vercel.app/))
* [Kontent Example](https://github.com/vercel/next.js/tree/canary/examples/cms-kontent-ai) ([Demo](https://next-blog-kontent.vercel.app/))
* [Static Tweet Demo](https://static-tweet.vercel.app/)
* [Enterspeed Example](https://github.com/vercel/next.js/tree/canary/examples/cms-enterspeed) ([Demo](https://next-blog-demo.enterspeed.com/))

- [getStaticProps](/docs/14/pages/building-your-application/data-fetching/get-static-props)
  - Fetch data and generate static pages with `getStaticProps`. Learn more about this API for data fetching in Next.js.
- [getStaticPaths](/docs/14/pages/building-your-application/data-fetching/get-static-paths)
  - Fetch data and generate static pages with `getStaticPaths`. Learn more about this API for data fetching in Next.js.
- [Forms and Mutations](/docs/14/pages/building-your-application/data-fetching/forms-and-mutations)
  - Learn how to handle form submissions and data mutations with Next.js.
- [getServerSideProps](/docs/14/pages/building-your-application/data-fetching/get-server-side-props)
  - Fetch data on each request with `getServerSideProps`.
- [Incremental Static Regeneration (ISR)](/docs/14/pages/building-your-application/data-fetching/incremental-static-regeneration)
  - Learn how to create or update static pages at runtime with Incremental Static Regeneration.
- [Client-side Fetching](/docs/14/pages/building-your-application/data-fetching/client-side)
  - Learn about client-side data fetching, and how to use SWR, a data fetching React hook library that handles caching, revalidation, focus tracking, refetching on interval and more.

---

For an index of all available documentation, see [/docs/14/llms.txt](/docs/14/llms.txt)