---
title: "Comment effectuer des appels API REST avec cURL"
slug: rest-api-with-curl
date: 2026-02-16T08:01:28+00:00
modified: 2026-02-16T08:01:29+00:00
permalink: https://brightdata.fr/blog/donnees-web/rest-api-with-curl
type: blog
---

[ Blog ](https://brightdata.fr/blog "Blog") / [Données Web](https://brightdata.fr/blog/donnees-web)







 [Données Web](https://brightdata.fr/blog/donnees-web)

# Comment effectuer des appels API REST avec cURL

Découvrez comment utiliser cURL pour les requêtes REST API telles que GET, POST, PUT et DELETE, et améliorez votre efficacité grâce aux Proxy Web Unlocker.

 6 min de lecture





 [ ![Jacob Nulty](https://media.brightdata.fr/2024/12/Jacob-Nulty-50x50.jpg) ](https://brightdata.com/blog/authors/jake-nulty)

 [Jake Nulty

Technical Writer

 ](https://brightdata.com/blog/authors/jake-nulty)





 ![How to Use cURL With REST API blog image](https://media.brightdata.fr/2025/01/How-to-Use-cURL-With-REST-API-blog-image.svg)





[cURL](/blog/web-data/what-is-curl)(Client URL) est depuis des décennies le client HTTP en ligne de commande de référence. Il est largement utilisé par les développeurs et les administrateurs dans tous les aspects du développement web, tels que les tests d’API, la récupération de pages web et même le transfert de fichiers. Dans le domaine[du Scraping web](/blog/how-tos/what-is-web-scraping), nous utilisons principalement cURL pour tester les requêtes HTTP.

REST (Representational State Transfer) est une norme utilisée pour créer une API (interface de programmation d’application). Avec une API REST, un serveur est configuré pour traiter quatre types de requêtes de base :`GET`,`POST`,`PUT`et`DELETE`. Chacune de ces méthodes est utilisée pour interagir avec un serveur web. Nous y reviendrons plus en détail tout au long de cet article.

## <a></a>Pour commencer

### <a></a>Installation

cURL est préinstallé sur la plupart des principaux systèmes d’exploitation actuels. Il est incontournable sous Linux depuis de nombreuses années, mais macOS et Windows l’incluent désormais également par défaut. Vous pouvez vérifier votre installation de cURL à l’aide de la commande suivante.

```none
curl --version

```

Si cURL est correctement installé, vous devriez obtenir une réponse similaire à celle-ci. Plus important encore, la commande `--version` doit afficher un numéro de version. Ci-dessous, notre numéro de version est `curl 7.81.0`. Le reste de la sortie est spécifique à la version et au système d’exploitation.

```none
curl 7.81.0 (x86_64-pc-linux-gnu) libcurl/7.81.0 OpenSSL/3.0.2 zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.0 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.43.0 librtmp/2.3 OpenLDAP/2.5.18
Date de publication : 05/01/2022
Protocoles : dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Fonctionnalités : alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-Proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets zstd

```

Si, pour une raison quelconque, vous n’avez pas installé cURL, vous pouvez trouver une version compatible avec votre système d’exploitation sur leur page de téléchargement[ici](https://curl.se/download.html).

&lt;!–

- Comment installer curl : soyez concis, ajoutez un lien vers les instructions spécifiques à votre système d’exploitation
    –&gt;

## <a></a>Comment utiliser cURL

### <a></a>Effectuer une requête GET

La requête HTTP la plus courante est la requête `GET`. Nous utilisons `GET` pour `obtenir` des informations. Lorsque vous récupérez une page Web, votre navigateur effectue une `requête GET` en arrière-plan. Avec cURL, nous utilisons le drapeau `GET` pour en effectuer une. L’exemple ci-dessous envoie une requête `GET` à `https://jsonplaceholder.typicode.com/posts`.

```none
curl -X GET https://jsonplaceholder.typicode.com/posts

```

Lorsque nous effectuons cette requête, nous `obtenons` les publications en réponse. Ci-dessous, nous avons juste un extrait de la réponse.

```none
{
    "userId": 1,
    "id": 1,
    "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
    "body": "quia et suscipitnsuscipit recusandae consequuntur expedita et cumnreprehenderit molestiae ut ut quas totamnnostrum rerum est autem sunt rem eveniet architecto"
  },
  {
    « userId » : 1,
    « id » : 2,
    « title » : « qui est esse »,
    « body » : « est rerum tempore vitaensequi sint nihil reprehenderit dolor beatae ea dolores nequenfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendisnqui aperiam non debitis possimus qui neque nisi nulla »
  },
  {
    "userId": 1,
    "id": 3,
    "title": "ea molestias quasi exercitationem repellat qui ipsa sit aut",
    "body": "et iusto sed quo iurenvoluptatem occaecati omnis eligendi aut adnvoluptatem doloribus vel accusantium quis pariaturnmolestiae porro eius odio et labore et velit aut"
  },
  {
    « userId » : 1,
    « id » : 4,
    « title » : « eum et est occaecati »,
    « corps » : « ullam et saepe reiciendis voluptatem adipiscinsit amet autem assumenda provident rerum culpanquis hic commodi nesciunt rem tenetur doloremque ipsam iurenquis sunt voluptatem rerum illo velit »
  },
  {
    « userId » : 1,
    « id » : 5,
    « title » : « nesciunt quas odio »,
    « body » : « repudiandae veniam quaerat sunt sednalias aut fugiat sit autem sed estnvoluptatem omnis possimus esse voluptatibus quisnest aut tenetur dolor neque »
  },

```

&lt;!–

- Qu’est-ce qu’une requête GET ?
    –&gt;

### <a></a>Effectuer une requête POST

Nous utilisons une requête `POST` lorsque nous voulons envoyer des informations à un serveur afin qu’elles soient enregistrées dans une base de données. Les publications sur les réseaux sociaux en sont l’exemple le plus courant. L’exemple ci-dessous envoie une `requête POST` pour créer une nouvelle publication à l’aide de l’API.

```none
curl -X POST https://jsonplaceholder.typicode.com/posts
     -H "Content-Type: application/json"
     -d '{
           "title": "foo",
           "body": "bar",
           "userId": 1
         }'

```

Après notre requête, nous recevons l’objet de la publication en tant que réponse.

```none
{
  "title": "foo",
  "body": "bar",
  "userId": 1,
  "id": 101
}

```

Si vous souhaitez en savoir plus sur l’envoi de requêtes`POST`approfondies, consultez[ce guide](/blog/how-tos/curl-post-request-guide).

### <a></a>Effectuer une requête PUT

Comme vous venez de l’apprendre, les requêtes `POST` sont utilisées pour créer un objet dans une base de données. Parfois, nous souhaitons modifier un objet qui existe déjà dans une base de données. Pour modifier un objet existant, nous utilisons une requête `PUT`. L’exemple ci-dessous met à jour le corps de notre publication précédente de `bar` à `bar mis à jour`.

```none
curl -X PUT https://jsonplaceholder.typicode.com/posts/1
     -H "Content-Type: application/json"
     -d '{
           "id": 1,
           "title": "foo",
           "body": "updated bar",
           "userId": 1
         }'

```

Lorsque vous l’exécutez, vous recevez la réponse suivante. Comme vous pouvez le constater, le corps de notre publication a été mis à jour.

```none
{
  "id": 1,
  "title": "foo",
  "body": "updated bar",
  "userId": 1
}

```

### <a></a>Effectuer une requête DELETE

À ce stade, les requêtes`DELETE` devraient être assez explicites. La requête `DELETE` est utilisée pour supprimer un objet existant d’une base de données à l’aide d’un identifiant unique. Dans ce cas, notre identifiant (`id`) est `1`, soit le message numéro un. Le code ci-dessous supprime le message que nous avons créé précédemment.

```none
curl -X DELETE https://jsonplaceholder.typicode.com/posts/1

```

Comme vous pouvez le constater, notre réponse est simplement un objet JSON vide. Le message a été supprimé.

```none
{}

```

## <a></a>cURL avec Web Unlocker

![Web Unlocker Product Page](https://media.brightdata.fr/2025/01/image-53.png)Lorsque vous utilisez cURL avec[Web Unlocker](/products/web-unlocker), vous pouvez effectuer des requêtes HTTP comme vous le feriez avec cURL seul. Cependant, Web Unlocker vous offre la puissance d’un Proxy.

Avec Web Unlocker, vous bénéficiez du géociblage et de la Résolution de CAPTCHA provenant de certains des meilleurs proxys au monde. Mieux encore, ces proxys sont gérés pour vous. Il vous suffit de connecter le Proxy et de poursuivre votre journée comme d’habitude.

Une fois Web Unlocker configuré, veillez à enregistrer votre nom d’utilisateur, votre nom de zone et votre mot de passe. Vous en aurez besoin pour authentifier votre connexion. Dans l’exemple ci-dessous, nous avons configuré notre connexion pour utiliser un Proxy basé aux États-Unis.

```none
curl -i --proxy brd.superproxy.io:33335 --proxy-user brd-customer-<VOTRE_NOM_D'UTILISATEUR>-zone-<VOTRE_NOM_DE_ZONE>-country-us:<VOTRE_MOT_DE_PASSE> -k "https://geo.brdtest.com/mygeo.json"

```

- `-i`: indique à cURL que nous voulons que les en-têtes soient inclus dans notre réponse. Ceci est utile à des fins de débogage.
- `--Proxy brd.superproxy.io:33335 --Proxy-utilisateur brd-customer-<VOTRE_NOM_D'UTILISATEUR>-zone-<VOTRE_NOM_DE_ZONE>-country-us:<VOTRE_MOT_DE_PASSE>`
    - `--proxy brd.superproxy.io:33335`: indique à cURL que nous voulons utiliser un Proxy situé à l’adresse`brd.superproxy.io:33335`.
    - `--proxy-user brd-customer-<VOTRE_NOM_D'UTILISATEUR>-zone-<VOTRE_NOM_DE_ZONE>-country-us:<VOTRE_MOT_DE_PASSE>`: ceci représente notre chaîne d’authentification. La chaîne d’authentification est structurée comme suit :`<NOM d'utilisateur>:<MOT de passe>`. Avec Web Unlocker, votre nom d’utilisateur complet comprend tous les éléments suivants :`brd-customer-<VOTRE_NOM_D'UTILISATEUR>-zone-<VOTRE_NOM_DE_ZONE>-country-us`.
- `k`est utilisé pour indiquer à cURL que nous voulons contourner la certification SSL. Si vous souhaitez utiliser Web Unlocker à long terme, vous pouvez télécharger et installer notre certificat SSL[ici](https://docs.brightdata.com/general/account/ssl-certificate#download-the-ssl-certificate). Cela permettra à votre machine d’auto-certifier la connexion.

Vous pouvez consulter notre exemple de réponse ci-dessous. Comme vous pouvez le constater, notre emplacement apparaît dans `le New Jersey`.

```none
{"country":"US","asn":{"asnum":20473,"org_name":"AS-VULTR"},"geo":{"city":"Piscataway","region":"NJ","region_name":"New Jersey","postal_code":"08854","latitude":40.5511,"longitude":-74.4606,"tz":"America/New_York","lum_city":"piscataway","lum_region":"nj"}}

```

Si vous souhaitez en savoir plus sur Web Unlocker, consultez notre[API Playground](https://docs.brightdata.com/api-reference/proxy/proxy_api_post_playground?playground=open). C’est un excellent endroit pour expérimenter et en apprendre davantage sur la création de requêtes API à l’aide de nombreux langages et bibliothèques HTTP différents. Vous pouvez en savoir plus sur l’utilisation de cURL avec des Proxies[ici](/blog/proxy-101/curl-with-proxies).

## <a></a>Que pouvez-vous faire avec cURL ?

Une fois que vous maîtrisez cURL et HTTP, vous pouvez utiliser HTTP pratiquement partout. Vous pouvez utiliser des outils GUI tels que[Postman](https://www.postman.com/)et[Insomnia](https://insomnia.rest/)pour tester les API en général.

Avec Python, vous pouvez utiliser[Requests](/blog/web-data/python-requests-guide)ou même continuer à utiliser[cURL dans Python](/blog/web-data/python-requests-guide). Avec JavaScript, vous pouvez utiliser[Node-Fetch](/blog/how-tos/fetch-api-nodejs)ou[Axios](/blog/how-tos/web-scraping-with-node-js)pour automatiser vos requêtes HTTP.

Si vous souhaitez vous en tenir aux outils en ligne de commande, il en existe également toute une série. Jetez un œil à [HTTPie](https://httpie.io/) et [wget](/blog/how-tos/wget-proxy). Ces deux outils sont d’excellents utilitaires en ligne de commande et maîtrisent très bien le protocole HTTP.

## <a></a>Conclusion

En matière de clients HTTP, cURL est la norme en matière de ligne de commande depuis des décennies et cela ne devrait pas changer de sitôt. Que vous soyez développeur ou administrateur système, vous disposez désormais des compétences nécessaires pour utiliser cURL de manière basique et comprenez bien le fonctionnement du protocole HTTP. Vous pouvez même[télécharger des fichiers](/blog/web-data/download-files-with-curl)et définir[des en-têtes personnalisés](/blog/how-tos/http-headers-with-curl)à l’aide de cURL. Maintenant que vous savez comment utiliser Web Unlocker avec cet outil, vous pouvez être vraiment efficace avec HTTP, quel que soit votre domaine de travail. Si vous êtes un développeur en herbe, apprenez à utiliser HTTP dans le langage de votre choix.



Contacter ventesEssai gratuit![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Table des matières







Dedicated Scraper APIs &amp; No-Code Scrapers

Over 1000 scrapers for all popular domains. Simplify your web scraping.

[See pricing](/pricing/web-scraper "See pricing")

Just want data? Skip scraping.

Hundreds of ready-to-use datasets from all popular domains.

[See pricing](/pricing/datasets "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Comment+effectuer+des+appels+API+REST+avec+cURL&u=https://brightdata.fr/blog/donnees-web/rest-api-with-curl) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Comment+effectuer+des+appels+API+REST+avec+cURL&url=https://brightdata.fr/blog/donnees-web/rest-api-with-curl) [ ](http://www.reddit.com/submit?title=Comment+effectuer+des+appels+API+REST+avec+cURL&url=https://brightdata.fr/blog/donnees-web/rest-api-with-curl)







##  Vous pourriez aussi être intéressé par

 [ ![OpenHuman with Bright Data](https://media.brightdata.fr/2026/09/OpenHuman-with-Bright-Data.png) ](https://brightdata.fr/blog/ai/openhuman-with-bright-data "Accès Web Prêt pour la Production dans OpenHuman via le CLI Bright Data")

 [AI



 ![Antonello Zanini](https://media.brightdata.fr/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Accès Web Prêt pour la Production dans OpenHuman via le CLI Bright Data

Intégrez le CLI Bright Data avec OpenHuman pour permettre un accès web prêt pour la production et la collecte de données pour les agents IA.



 09-Sep-2026

 14 min de lecture

 ](https://brightdata.fr/blog/ai/openhuman-with-bright-data)

 [ ![Multimodal Web Scraping with MiniMax](https://media.brightdata.fr/2026/09/Multimodal-Web-Scraping-with-MiniMax.png) ](https://brightdata.fr/blog/donnees-web/multimodal-web-scraping-with-minimax "Scraping Web Multimodal avec MiniMax")

 [Données Web



 ![Antonello Zanini](https://media.brightdata.fr/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Scraping Web Multimodal avec MiniMax

Associez Bright Data Web Unlocker avec la vision MiniMax M3 pour extraire des données structurées à partir d’images et de captures d’écran de pages web.



 09-Sep-2026

 5 min de lecture

 ](https://brightdata.fr/blog/donnees-web/multimodal-web-scraping-with-minimax)

 [ ![The 10 Best CLI Tools for Codex in 2026](https://media.brightdata.fr/2026/08/The-10-Best-CLI-Tools-for-Codex-in-2026.png) ](https://brightdata.fr/blog/ai/best-cli-tools-for-codex "Les 10 meilleurs outils CLI pour Codex en 2026 – Testés & Classés")

 [AI



 ![Daniel Shashko](https://media.brightdata.fr/2022/04/Daniel-Shashko-2-50x50.png)

Daniel Shashko

Web Data &amp; AI Expert





### Les 10 meilleurs outils CLI pour Codex en 2026 – Testés &amp; Classés

Les 10 outils CLI qui rendent Codex plus rapide et plus capable, en commençant par le Bright Data CLI pour un accès web réel depuis l’intérieur du sandbox.



 06-Sep-2026

 24 min de lecture

 ](https://brightdata.fr/blog/ai/best-cli-tools-for-codex)
