## Worldwide CDN

### React is fast, and so your CMS should be

If your content is always fetched from a single geographical location, there’s no point in building a website with a serverless architecture. **Dato CMS offers your content from a CDN with edges all around the globe, minimizing your React app latency.**

[Read more about our Worldwide CDN](https://www.datocms.com/features/worldwide-cdn.md)

AAE

Annaba, Algeria

Distance

ABJ

Abidjan, Ivory Coast

Distance

ABQ

Albuquerque, NM, United States

Distance

ACC

Accra, Ghana

Distance

ACX

Xingyi, China

Distance

ADB

Izmir, Turkey

Distance

ADD

Addis Ababa, Ethiopia

Distance

ADL

Adelaide, SA, Australia

Distance

AGR

Agra, India

Distance

AKL

Auckland, New Zealand

Distance

AKX

Aktobe, Kazakhstan

Distance

ALA

Almaty, Kazakhstan

Distance

ALG

Algiers, Algeria

Distance

AMD

Ahmedabad, India

Distance

AMM

Amman, Jordan

Distance

AMS

Amsterdam, Netherlands

Distance

ANC

Anchorage, AK, United States

Distance

ARI

Arica, Chile

Distance

ARN

Stockholm, Sweden

Distance

ARU

Aracatuba, Brazil

Distance

ASK

Yamoussoukro, Ivory Coast

Distance

ASU

Asunción, Paraguay

Distance

ATH

Athens, Greece

Distance

ATL

Atlanta, GA, United States

Distance

AUS

Austin, TX, United States

Distance

BAH

Manama, Bahrain

Distance

BAQ

Barranquilla, Colombia

Distance

BBI

Bhubaneswar, India

Distance

BCN

Barcelona, Spain

Distance

BEG

Belgrade, Serbia

Distance

BEL

Belém, Brazil

Distance

BEY

Beirut, Lebanon

Distance

BGI

Bridgetown, Barbados

Distance

BGR

Bangor, ME, United States

Distance

BGW

Baghdad, Iraq

Distance

BHY

Beihai, China

Distance

BKK

Bangkok, Thailand

Distance

BLR

Bangalore, India

Distance

BNA

Nashville, United States

Distance

BNE

Brisbane, QLD, Australia

Distance

BOD

Bordeaux, France

Distance

BOG

Bogotá, Colombia

Distance

BOM

Mumbai, India

Distance

BOS

Boston, MA, United States

Distance

BRU

Brussels, Belgium

Distance

BSB

Brasilia, Brazil

Distance

BSR

Basra, Iraq

Distance

BTS

Bratislava, Slovakia

Distance

BUD

Budapest, Hungary

Distance

BUF

Buffalo, NY, United States

Distance

BWN

Bandar Seri Begawan, Brunei

Distance

CAI

Cairo, Egypt

Distance

CAN

Guangzhou, China

Distance

CAW

Campos dos Goytacazes, Brazil

Distance

CBR

Canberra, ACT, Australia

Distance

CCU

Kolkata, India

Distance

CDG

Paris, France

Distance

CEB

Cebu, Philippines

Distance

CFC

Caçador, Brazil

Distance

CGB

Cuiaba, Brazil

Distance

CGD

Changde, China

Distance

CGK

Jakarta, Indonesia

Distance

CGO

Zhengzhou, China

Distance

CGP

Chittagong, Bangladesh

Distance

CGY

Cagayan de Oro, Philippines

Distance

CHC

Christchurch, New Zealand

Distance

CJB

Coimbatore, India

Distance

CKG

Chongqing, China

Distance

CLE

Cleveland, OH, United States

Distance

CLO

Cali, Colombia

Distance

CLT

Charlotte, NC, United States

Distance

CMB

Colombo, Sri Lanka

Distance

CMH

Columbus, OH, United States

Distance

CNF

Belo Horizonte, Brazil

Distance

CNN

Kannur, India

Distance

CNX

Chiang Mai, Thailand

Distance

COK

Kochi, India

Distance

COR

Córdoba, Argentina

Distance

CPH

Copenhagen, Denmark

Distance

CPT

Cape Town, South Africa

Distance

CRK

Tarlac City, Philippines

Distance

CSX

Changsha, China

Distance

CTU

Chengdu, China

Distance

CVG

Cincinnati, United States

Distance

CWB

Curitiba, Brazil

Distance

CZL

Constantine, Algeria

Distance

CZX

Changzhou, China

Distance

DAC

Dhaka, Bangladesh

Distance

DAD

Da Nang, Vietnam

Distance

DAR

Dar Es Salaam, Tanzania

Distance

DEL

New Delhi, India

Distance

DEN

Denver, CO, United States

Distance

DFW

Dallas, TX, United States

Distance

DKR

Dakar, Senegal

Distance

DLA

Douala, Cameroon

Distance

DLC

Dalian, China

Distance

DME

Moscow, Russia

Distance

DMM

Dammam, Saudi Arabia

Distance

DOH

Doha, Qatar

Distance

DPS

Denpasar, Indonesia

Distance

DTW

Detroit, MI, United States

Distance

DUB

Dublin, Ireland

Distance

DUR

Durban, South Africa

Distance

DUS

Düsseldorf, Germany

Distance

DXB

Dubai, United Arab Emirates

Distance

EBB

Kampala, Uganda

Distance

EBL

Erbil, Iraq

Distance

EVN

Yerevan, Armenia

Distance

EWR

Newark, NJ, United States

Distance

EZE

Buenos Aires, Argentina

Distance

FCO

Rome, Italy

Distance

FIH

Kinshasa, DR Congo

Distance

FLN

Florianopolis, Brazil

Distance

FOC

Fuzhou, China

Distance

FOR

Fortaleza, Brazil

Distance

FRA

Frankfurt, Germany

Distance

FRU

Bishkek, Kyrgyzstan

Distance

FSD

Sioux Falls, SD, United States

Distance

FUK

Fukuoka, Japan

Distance

FUO

Foshan, China

Distance

GBE

Gaborone, Botswana

Distance

GDL

Guadalajara, Mexico

Distance

GEO

Georgetown, Guyana

Distance

GIG

Rio de Janeiro, Brazil

Distance

GND

St. George's, Grenada

Distance

GOT

Gothenburg, Sweden

Distance

GRU

São Paulo, Brazil

Distance

GUA

Guatemala City, Guatemala

Distance

GUM

Hagatna, Guam

Distance

GVA

Geneva, Switzerland

Distance

GYD

Baku, Azerbaijan

Distance

GYE

Guayaquil, Ecuador

Distance

GYN

Goiânia, Brazil

Distance

HAK

Haikou, China

Distance

HAM

Hamburg, Germany

Distance

HAN

Hanoi, Vietnam

Distance

HBA

Hobart, Australia

Distance

HEL

Helsinki, Finland

Distance

HFA

Haifa, Israel

Distance

HGH

Shaoxing, China

Distance

HKG

Hong Kong

Distance

HNL

Honolulu, HI, United States

Distance

HRE

Harare, Zimbabwe

Distance

HYD

Hyderabad, India

Distance

HYN

Taizhou, China

Distance

IAD

Ashburn, VA, United States

Distance

IAH

Houston, TX, United States

Distance

ICN

Seoul, South Korea

Distance

IND

Indianapolis, IN, United States

Distance

ISB

Islamabad, Pakistan

Distance

IST

Istanbul, Turkey

Distance

ISU

Sulaymaniyah, Iraq

Distance

IXC

Chandigarh, India

Distance

JAX

Jacksonville, FL, United States

Distance

JDO

Juazeiro do Norte, Brazil

Distance

JED

Jeddah, Saudi Arabia

Distance

JHB

Johor Bahru, Malaysia

Distance

JIB

Djibouti City, Djibouti

Distance

JNB

Johannesburg, South Africa

Distance

JOG

Yogyakarta, Indonesia

Distance

JOI

Joinville, Brazil

Distance

JRG

Sambalpur, India

Distance

JXG

Jiaxing, China

Distance

KBP

Kyiv, Ukraine

Distance

KCH

Kuching, Malaysia

Distance

KEF

Reykjavík, Iceland

Distance

KGL

Kigali, Rwanda

Distance

KHH

Kaohsiung City

Distance

KHI

Karachi, Pakistan

Distance

KHN

Xinyu, China

Distance

KIN

Kingston, Jamaica

Distance

KIV

Chișinău, Moldova

Distance

KIX

Osaka, Japan

Distance

KJA

Krasnoyarsk, Russia

Distance

KMG

Kunming, China

Distance

KNU

Kanpur, India

Distance

KTM

Kathmandu, Nepal

Distance

KUL

Kuala Lumpur, Malaysia

Distance

KWE

Guiyang, China

Distance

KWI

Kuwait City, Kuwait

Distance

LAD

Luanda, Angola

Distance

LAS

Las Vegas, NV, United States

Distance

LAX

Los Angeles, CA, United States

Distance

LCA

Nicosia, Cyprus

Distance

LED

Saint Petersburg, Russia

Distance

LHE

Lahore, Pakistan

Distance

LHR

London, United Kingdom

Distance

LIM

Lima, Peru

Distance

LIS

Lisbon, Portugal

Distance

LJU

Ljubljana, Slovenia

Distance

LLK

Astara, Azerbaijan

Distance

LLW

Lilongwe, Malawi

Distance

LOS

Lagos, Nigeria

Distance

LPB

La Paz, Bolivia

Distance

LUN

Lusaka, Zambia

Distance

LUX

Luxembourg City, Luxembourg

Distance

LYA

Luoyang, China

Distance

LYS

Lyon, France

Distance

MAA

Chennai, India

Distance

MAD

Madrid, Spain

Distance

MAN

Manchester, United Kingdom

Distance

MAO

Manaus, Brazil

Distance

MBA

Mombasa, Kenya

Distance

MCI

Kansas City, MO, United States

Distance

MCT

Muscat, Oman

Distance

MDE

Medellín, Colombia

Distance

MEL

Melbourne, VIC, Australia

Distance

MEM

Memphis, TN, United States

Distance

MEX

Mexico City, Mexico

Distance

MFM

Macau

Distance

MIA

Miami, FL, United States

Distance

MLA

Santa Venera, Malta

Distance

MLE

Malé, Maldives

Distance

MLG

Malang, Indonesia

Distance

MNL

Manila, Philippines

Distance

MPM

Maputo, Mozambique

Distance

MRS

Marseille, France

Distance

MRU

Port Louis, Mauritius

Distance

MSP

Minneapolis, MN, United States

Distance

MSQ

Minsk, Belarus

Distance

MUC

Munich, Germany

Distance

MXP

Milan, Italy

Distance

NAG

Nagpur, India

Distance

NBO

Nairobi, Kenya

Distance

NJF

Najaf, Iraq

Distance

NOU

Noumea, New Caledonia

Distance

NQN

Neuquén, Argentina

Distance

NRT

Tokyo, Japan

Distance

NVT

Timbó, Brazil

Distance

OKA

Naha, Japan

Distance

OKC

Oklahoma City, OK, United States

Distance

OMA

Omaha, NE, United States

Distance

ORD

Chicago, IL, United States

Distance

ORF

Norfolk, VA, United States

Distance

ORN

Oran, Algeria

Distance

OSL

Oslo, Norway

Distance

OTP

Bucharest, Romania

Distance

OUA

Ouagadougou, Burkina Faso

Distance

PAT

Patna, India

Distance

PBH

Thimphu, Bhutan

Distance

PBM

Paramaribo, Suriname

Distance

PDX

Portland, OR, United States

Distance

PER

Perth, WA, Australia

Distance

PHL

Philadelphia, United States

Distance

PHX

Phoenix, AZ, United States

Distance

PIT

Pittsburgh, PA, United States

Distance

PKX

Langfang, China

Distance

PMO

Palermo, Italy

Distance

PMW

Palmas, Brazil

Distance

PNH

Phnom Penh, Cambodia

Distance

PNQ

Pune, India

Distance

POA

Porto Alegre, Brazil

Distance

POS

Port of Spain, Trinidad and Tobago

Distance

PPT

Tahiti, French Polynesia

Distance

PRG

Prague, Czech Republic

Distance

PTY

Panama City, Panama

Distance

QRO

Queretaro, MX, Mexico

Distance

QWJ

Americana, Brazil

Distance

RAO

Ribeirao Preto, Brazil

Distance

RDU

Durham, NC, United States

Distance

REC

Recife, Brazil

Distance

RIC

Richmond, VA, United States

Distance

RIX

Riga, Latvia

Distance

RUH

Riyadh, Saudi Arabia

Distance

RUN

Saint-Denis, Réunion

Distance

SAN

San Diego, CA, United States

Distance

SAP

San Pedro Sula, Honduras

Distance

SAT

San Antonio, TX, United States

Distance

SCL

Santiago, Chile

Distance

SDQ

Santo Domingo, Dominican Republic

Distance

SEA

Seattle, WA, United States

Distance

SFO

San Francisco, CA, United States

Distance

SGN

Ho Chi Minh City, Vietnam

Distance

SHA

Shanghai, China

Distance

SIN

Singapore, Singapore

Distance

SJC

San Jose, CA, United States

Distance

SJK

São José dos Campos, Brazil

Distance

SJO

San José, Costa Rica

Distance

SJP

São José do Rio Preto, Brazil

Distance

SJU

San Juan, Puerto Rico

Distance

SJW

Hengshui, China

Distance

SKG

Thessaloniki, Greece

Distance

SKP

Skopje, North Macedonia

Distance

SLC

Salt Lake City, UT, United States

Distance

SMF

Sacramento, CA, United States

Distance

SOD

Sorocaba, Brazil

Distance

SOF

Sofia, Bulgaria

Distance

SSA

Salvador, Brazil

Distance

STI

Santiago de los Caballeros, Dominican Republic

Distance

STL

St. Louis, MO, United States

Distance

STR

Stuttgart, Germany

Distance

SUV

Suva, Fiji

Distance

SYD

Sydney, NSW, Australia

Distance

SZX

Shenzhen, China

Distance

TAO

Qingdao, China

Distance

TBS

Tbilisi, Georgia

Distance

TEN

Tongren, China

Distance

TGU

Tegucigalpa, Honduras

Distance

TIA

Tirana, Albania

Distance

TLH

Tallahassee, FL, United States

Distance

TLL

Tallinn, Estonia

Distance

TLV

Tel Aviv, Israel

Distance

TNA

Jinan, China

Distance

TNR

Antananarivo, Madagascar

Distance

TPA

Tampa, FL, United States

Distance

TPE

Taipei

Distance

TUN

Tunis, Tunisia

Distance

TXL

Berlin, Germany

Distance

TYN

Yangquan, China

Distance

UDI

Uberlândia, Brazil

Distance

UIO

Quito, Ecuador

Distance

ULN

Ulaanbaatar, Mongolia

Distance

URT

Surat Thani, Thailand

Distance

VCP

Campinas, Brazil

Distance

VIE

Vienna, Austria

Distance

VIX

Vitoria, Brazil

Distance

VNO

Vilnius, Lithuania

Distance

VTE

Vientiane, Laos

Distance

WAW

Warsaw, Poland

Distance

WDH

Windhoek, Namibia

Distance

WLG

Wellington, New Zealand

Distance

WRO

Wroclaw, Poland

Distance

XAP

Chapeco, Brazil

Distance

XFN

Xiangyang, China

Distance

XIY

Baoji, China

Distance

XNH

Nasiriyah, Iraq

Distance

YHZ

Halifax, Canada

Distance

YUL

Montréal, QC, Canada

Distance

YVR

Vancouver, BC, Canada

Distance

YWG

Winnipeg, MB, Canada

Distance

YXE

Saskatoon, SK, Canada

Distance

YYC

Calgary, AB, Canada

Distance

YYZ

Toronto, ON, Canada

Distance

ZAG

Zagreb, Croatia

Distance

ZDM

Ramallah

Distance

ZRH

Zurich, Switzerland

Distance

### GraphQL Content API

## Ask for what you need, get exactly that

Our Content Delivery API is **built with GraphQL**. That means powerful developer tools, multiple resources in a single request and complete control over the data your website downloads. The perfect solution for a **React CMS**.

[Read more about our GraphQL API](https://www.datocms.com/features/headless-cms-graphql.md)

{}

“ We are quite happy because finally we have a real CMS 😅 ”

(Image content)

Johan Frick

CTO at Coolstuff

### React images

## State of the art for responsive and progressive images

Serving optimized images is incredibly hard, but our **CMS is optimized for React**. Using our GraphQL Content API and our React component, you can implement **lazy loaded, responsive images in one line of code**. Avoid any layout jumping, offer instant previews of images while they load. It’s like magic.

Read more about our React components!

[react-datocms](https://github.com/datocms/react-datocms)

Before

(Image content)

(Image content)

React with DatoCMS

(Image content)

(Image content)

## React CMS example

### DatoCMS Preview API = content editors happiness

If you're using React as a single-page application (SPA), you can easily switch GraphQL endpoint to fetch **real-time previews of the changes you make** to any content stored in DatoCMS (text, images, videos). Give it a try, it's magic!

src/App.js

```javascript
import { GraphQLClient, ClientContext } from 'graphql-hooks'

const endpoint = process.env.PREVIEW_MODE ?
  'https://graphql.datocms.com/preview' :
  'https://graphql.datocms.com/';

const client = new GraphQLClient({ url: endpoint });

function App() {
  return (
    <ClientContext.Provider value={client}>
      <Movie />
    </ClientContext.Provider>
  );
}

// src/Movie.js

import React from "react";
import { useQuery } from "graphql-hooks";

const Movie = () => {
  const { loading, error, data } = useQuery(
    query: `{
      movie(filter: { title: { eq: "Inception" } }) {
        title
        releaseDate
        actors {
          name
        }
      }
    }`
  );

  if (loading) return <div>Loading...</div>;
  if (error) return <div>Something bad happened</div>;

  return (
    <div>
      <h1>{data.movie.title}</h1>
      {/* ... */}
    </div>
  );
};
```

# A component-centric CMS, just like React

Reacts makes using components easy right from the get-go, and you should expect the same from your CMS. A component-based approach allows developers to clearly divide work amongst themselves and progress without having to rely on each other every step of the way.

[Read more about DatoCMS modular blocks](https://www.datocms.com/features/dynamic-layouts.md)