# Introduction

What you can build with the Street Art Cities API, and how it fits together.

Street Art Cities is a community of street art hunters mapping artworks all over the world. Our API lets your app work on behalf of a Street Art Cities user, with their permission.

## What you can build

- **Tools for hunters**: help people add new artworks, fix mistakes or keep artist info up to date, using the [Edits API](/edits-api/overview/).
- **Personal apps**: show people their saved collections and the artworks they've seen, or add to them, using the [Collections API](/collections-api/overview/).
- **Maps and guides**: search artworks by city, tag or artist, find what's around the corner, and show it all on your own map, using the [Markers API](/markers-api/overview/).
- **Integrations**: log people in with their Street Art Cities account and connect it to your own platform.

## How it works

Your app never sees anyone's password. Instead, it uses [OAuth 2.0](/authentication/oauth-flow/):

1. You [create an app](/getting-started/create-an-app/) in your Street Art Cities settings.
2. Your app sends people to our consent page, where they log in and choose whether to give it access.
3. We send them back to your app with a code, which your app swaps for an **access token**.
4. Your app sends that token along with every API request.

Each token only allows what the person agreed to, through [scopes](/authentication/scopes/) like `edits:write` or `collections:read`.

Want to see it all working together? Our [demo app](https://github.com/streetartcities/api-demo) logs people in and suggests a change to an artwork, in a single file with no dependencies.

<Admonition kind="info" title="Changes are always reviewed">
  Artworks and artists are looked after by our community. That's why every
  change made through an app goes to the [review
  queue](/edits-api/review-queue/) first, even when the person could normally
  change it straight away.
</Admonition>

## Base links

| What            | Link                                          |
| --------------- | --------------------------------------------- |
| OAuth           | `https://streetartcities.com/api/oauth`       |
| Edits API       | `https://streetartcities.com/api/edits`       |
| Collections API | `https://streetartcities.com/api/collections` |
| Markers API     | `https://streetartcities.com/api/markers`     |

All requests and responses use JSON, and every request needs HTTPS.
