CARTO provides you with everything you need to build web or mobile geospatial applications by adding geospatial capabilities to your development toolset. Geospatial applications range from simple visualizations of a few points on a map to fully-fledged decision-making frameworks. You can find lots of examples of geospatial applications in our gallery.
Below, you’ll find tips to help you get up and running according to different needs and scenarios. You can also learn about the nature of the CARTO platform’s components, if you want to understand them better.
If you need to… | Consider using these APIs directly | or via these SDKs |
---|---|---|
Prepare and upload your data to CARTO | Import API, SQL API | CARTOFrames, Python SDK |
Analyze your data | SQL API | CARTOFrames, Python SDK |
Visualize your data | Maps API | CARTO.js, CARTOFrames |
Visualize your data with animations | Maps API | CARTO.js, Torque.js |
Build a mobile app | Maps API, SQL API | Mobile SDK |
Manage your own infrastructure | SQL API, Import API | On-premise |
Enrich your data | Data Observatory, SQL API, Data Services API | CARTOFrames, Python SDK |
Note: The Auth API is a fundamental component regardless of your needs. Learn the basics about authorization to understand how it works in the context of the CARTO platform.
The different components of the CARTO platform are built with the purpose of helping developers cover each of their Location Intelligence app’s needs.
Our Import API is the easiest way to get data uploaded to CARTO’s PostgreSQL database. Connecting local or remote files, as well as other data sources, is trivial with this API. For more complex scenarios, our SQL API, normally used for data transformation and analysis, can be used instead for extra flexibility.
Other interesting, higher-level ways of uploading data to CARTO include using CARTOFrames, our Python SDK or our database connectors.
SQL is a well-known, powerful language that is widely used to manage data in relational databases and more. Our SQL API gives you the opportunity to write SQL queries to be executed on CARTO’s PostgreSQL server. Apart from traditional SQL operations, including PostGIS’ geospatial ones, SQL is also the entry point to external services like geocoding or routing within CARTO from a developer’s perspective.
This way, you can use the power of regular SQL to analyze your data, complement it with data from external sources, and enrich your analysis with data coming from our Data Observatory, all in SQL.
We also provide a Python framework for data scientists interested in using CARTO as part of their analysis workflows.
A geospatial app will typically end up displaying data on a map at some point. Whether it is raw data or the result of a complex analysis flow, CARTO’s client-side SDKs — CARTO.js and the Mobile SDK — simplify the lives of developers who want to visualize geospatial information in a slick and interactive way. It is also possible to work with the underlying Maps API directly for even greater flexibility or support from other programming languages.
With these APIs and SDKs, developers have access to the building blocks of any geospatial application from a visualization standpoint: dataviews and tiles. Dataviews allow you to easily represent data on interactive filter widgets such as bar charts or time sliders, while tiles will typically be used to construct maps, from the basemap up to the data layers. CARTO supports both raster and vector tiles.
The underlying data behind a visualization can also be retrieved as JSON and other formats directly via the SQL API, to power custom non-map visualizations like tables, charts, and graphs using the wide ecosystem of third-party charting libraries written for that purpose.
There is a lot of plumbing needed to make an application work, apart from what is strictly required from a functional standpoint. From security to performance optimization, developing an app is more than meets the eye.
CARTO’s APIs use API keys to enforce access control and authorization to the different APIs as well as to actual user data. Our APIs are protected against abuse, which also adds an extra layer of security to your own apps. Through our APIs, you can also engage in administrative tasks such as user management or database maintenance.
We even provide a Python SDK that makes working with these APIs even easier for Python developers.