Authentification
L'API Infoparcelle propose trois méthodes d'authentification pour s'adapter à tous vos besoins.
Vue d'ensemble
Méthodes disponibles
Notre API offre trois méthodes d'authentification complémentaires :
| Méthode | Cas d'usage | Facilité | Sécurité |
|---|---|---|---|
| Clés API | Scripts, tests, apps | ⭐⭐⭐ | ⭐⭐ |
| OAuth2 | Applications tierces (MCP, Zapier, Make, n8n) | ⭐⭐ | ⭐⭐⭐ |
| JWT Tokens | Authentification programmatique avancée | ⭐ | ⭐⭐ |
- Clé API : Pour vos scripts, tests et applications (recommandé)
- OAuth2 : Pour connecter des applications tierces (Claude MCP, Zapier, Make, n8n, etc.)
- JWT Token : Pour authentification programmatique avec email/password (avancé)
1. Clés API (tokens courts)
Qu'est-ce qu'une clé API ?
Une clé API est un token court avec un préfixe qui vous permet d'accéder directement à l'API. C'est la méthode la plus simple et la plus rapide pour commencer.
Obtenir une clé API
Étape 1 : Créer un compte
- Rendez-vous sur infoparcelle.fr
- Cliquez sur "Créer un compte"
- Remplissez le formulaire d'inscription
- Confirmez votre adresse email
Étape 2 : Souscrire à un plan API
- Connectez-vous à votre espace compte
- Accédez à la section "API"
- Choisissez un plan adapté à vos besoins :
- 🌱 Starter : 5 000 crédits/mois (~500 appels) - 25€/mois
- 🚀 Business : 25 000 crédits/mois (~2 500 appels) - 100€/mois
- 💼 Pro : 50 000 crédits/mois (~5 000 appels) - 200€/mois
- 🏢 Enterprise : 250 000 crédits/mois (~25 000 appels) - 750€/mois
- 🌟 Scale : 500 000 crédits/mois (~50 000 appels) - 1 250€/mois
- 🚀 Enterprise+ : Sur mesure (1 000 000+ crédits)
- Configurez votre moyen de paiement
Étape 3 : Générer une clé API
- Dans votre espace API, cliquez sur "Créer une accès" et sélectionnez "Clé API"
- Donnez un nom identifiable à votre clé (ex:
mon-application-web,prod-server,dev-env) - Copiez votre clé API immédiatement
Format de la clé API
Les clés API Infoparcelle suivent ce format :
PREFIX_tokenAleatoireSecurise
Exemple :
MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4
- Préfixe :
MON_APP_WEB(basé sur le nom que vous avez donné) - Token :
a8Kf9jM2pL5qR7tY3wX6zB1vC4(partie aléatoire sécurisée)
Le préfixe permet d'identifier facilement quelle application utilise quelle clé dans vos logs et statistiques.
Utiliser votre clé API
Header d'authentification
Incluez votre clé API dans le header Authorization de chaque requête avec le schéma Bearer :
Authorization: Bearer MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4
Exemples par langage
- cURL
- PHP
- JavaScript
- Python
curl -X GET "https://app.infoparcelle.fr/api/v1/geocoder/search?recherche=1+Rue+de+Rivoli" \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Accept: application/json"
<?php
$apiKey = 'MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4';
$ch = curl_init('https://app.infoparcelle.fr/api/v1/geocoder/search?recherche=1+Rue+de+Rivoli');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiKey,
'Accept: application/json',
]);
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);
const apiKey = 'MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4';
const response = await fetch(
'https://app.infoparcelle.fr/api/v1/geocoder/search?recherche=1+Rue+de+Rivoli',
{
headers: {
'Authorization': `Bearer ${apiKey}`,
'Accept': 'application/json',
},
}
);
const data = await response.json();
import requests
api_key = 'MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4'
response = requests.get(
'https://app.infoparcelle.fr/api/v1/geocoder/search',
params={'recherche': '1 Rue de Rivoli'},
headers={
'Authorization': f'Bearer {api_key}',
'Accept': 'application/json',
}
)
data = response.json()
Gestion des clés
Créer plusieurs clés
Vous pouvez créer plusieurs clés API pour différentes utilisations :
- Par environnement : dev, staging, production
- Par application : site web, mobile app, cron jobs
- Par équipe : équipe A, équipe B, partenaires
Voir l'utilisation
Depuis votre espace compte, vous pouvez :
- Consulter les graphiques d'utilisation
- Consulter le nombre de crédits consommés
- Supprimer une clé
Révoquer une clé
Pour supprimer une clé :
- Accédez à votre espace API
- Localisez la clé à supprimer
- Cliquez sur "Supprimer"
- Confirmez la suppression
La suppression d'une clé est immédiate et définitive. Toutes les requêtes utilisant cette clé échoueront instantanément avec une erreur 401 Unauthorized.
2. OAuth2 (applications tierces)
Qu'est-ce qu'OAuth2 ?
OAuth2 est un protocole d'autorisation standard qui permet aux applications tierces d'accéder à votre API de manière sécurisée, sans exposer vos identifiants.
Cas d'usage
OAuth2 est idéal pour :
- Claude MCP Server : Connecter Claude à votre compte Infoparcelle
- Zapier / Make / n8n : Automatisations et workflows
- Applications tierces : Intégrations avec des outils externes
- Applications web : Permettre à vos utilisateurs de se connecter via Infoparcelle
Configuration OAuth2
Créer un client OAuth2
- Accédez à votre espace API
- Cliquez sur "Créer une accès" et sélectionnez "Client OAuth2"
- Renseignez les informations :
- Nom : Nom de votre application
- Redirect URI : URL de callback (ex:
https://votre-app.com/callback)
- Récupérez vos identifiants :
- Client ID : Identifiant public de votre application
- Client Secret : Secret à conserver précieusement
Paramètres OAuth2
| Paramètre | Valeur |
|---|---|
| Authorize URL | https://app.infoparcelle.fr/oauth/authorize |
| Token URL | https://app.infoparcelle.fr/oauth/token |
| Scopes | (laisser vide ou selon vos besoins) |
Exemples d'intégration
Claude MCP Server
Configuration dans Claude Desktop :
{
"mcpServers": {
"infoparcelle": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.infoparcelle.fr"],
"env": {
"INFOPARCELLE_CLIENT_ID": "votre_client_id",
"INFOPARCELLE_CLIENT_SECRET": "votre_client_secret"
}
}
}
}
Zapier / Make / n8n
Paramètres OAuth2 à configurer :
- Authorization URL :
https://app.infoparcelle.fr/oauth/authorize - Access Token URL :
https://app.infoparcelle.fr/oauth/token - Client ID : Votre Client ID
- Client Secret : Votre Client Secret
- Scope : (laisser vide)
Application personnalisée
Flux d'autorisation OAuth2 :
// 1. Redirection vers la page d'autorisation
const authorizeUrl = new URL('https://app.infoparcelle.fr/oauth/authorize');
authorizeUrl.searchParams.set('client_id', 'VOTRE_CLIENT_ID');
authorizeUrl.searchParams.set('redirect_uri', 'https://votre-app.com/callback');
authorizeUrl.searchParams.set('response_type', 'code');
authorizeUrl.searchParams.set('scope', ''); // optionnel
window.location.href = authorizeUrl.toString();
// 2. L'utilisateur autorise votre application
// 3. Récupération du code d'autorisation dans le callback
const urlParams = new URLSearchParams(window.location.search);
const code = urlParams.get('code');
// 4. Échange du code contre un token
const tokenResponse = await fetch('https://app.infoparcelle.fr/oauth/token', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
grant_type: 'authorization_code',
client_id: 'VOTRE_CLIENT_ID',
client_secret: 'VOTRE_CLIENT_SECRET',
redirect_uri: 'https://votre-app.com/callback',
code: code,
}),
});
const { access_token, expires_in } = await tokenResponse.json();
// 5. Utilisation du token pour accéder à l'API
const response = await fetch('https://app.infoparcelle.fr/api/v1/geocoder/search?recherche=1+Rue+de+Rivoli', {
headers: {
'Authorization': `Bearer ${access_token}`,
},
});
Renouvellement du token
Les tokens OAuth2 expirent après 90 jours. Vous devez redemander l'autorisation à l'utilisateur pour obtenir un nouveau token.
3. JWT Tokens (avancé)
Qu'est-ce qu'un JWT Token ?
Un JWT (JSON Web Token) est un token d'authentification obtenu en échangeant votre email et mot de passe via l'endpoint /api/v1/token.
Cette méthode est destinée aux développeurs avancés. Pour la plupart des cas, utilisez plutôt les Clés API.
Obtenir un JWT Token
Requête
- cURL
- JavaScript
- PHP
- Python
curl -X POST https://app.infoparcelle.fr/api/v1/token \
-H "Content-Type: application/json" \
-d '{
"email": "votre@email.com",
"password": "votreMotDePasse"
}'
const response = await fetch('https://app.infoparcelle.fr/api/v1/token', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: 'votre@email.com',
password: 'votreMotDePasse',
}),
});
const { access_token, expires_at, user } = await response.json();
<?php
$ch = curl_init('https://app.infoparcelle.fr/api/v1/token');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'email' => 'votre@email.com',
'password' => 'votreMotDePasse',
]));
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);
$accessToken = $data['access_token'];
$expiresAt = $data['expires_at'];
import requests
response = requests.post(
'https://app.infoparcelle.fr/api/v1/token',
json={
'email': 'votre@email.com',
'password': 'votreMotDePasse',
}
)
data = response.json()
access_token = data['access_token']
expires_at = data['expires_at']
Réponse
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGc...",
"expires_at": "2025-10-28T12:00:00.000000Z",
"user": {
"email": "votre@email.com",
"name": "Votre Nom"
}
}
Utiliser le JWT Token
Une fois obtenu, utilisez le token comme une clé API :
curl -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGc..." \
https://app.infoparcelle.fr/api/v1/geocoder/search?recherche=1+Rue+de+Rivoli
Limitations
- Le token JWT expire après 90 jours
- Le token n'est pas renouvelable automatiquement
- Vous devez le stocker de manière sécurisée
- Pour la plupart des cas, préférez les Clés API
Comparaison des méthodes
| Critère | Clé API | OAuth2 | JWT Token |
|---|---|---|---|
| Facilité d'utilisation | ⭐⭐⭐ | ⭐⭐ | ⭐ |
| Sécurité | ⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
| Durée de vie | Pas d'expiration | 90 jours (renouvelable) | 90 jours (non renouvelable) |
| Révocation | Instantanée | Instantanée | Attente d'expiration |
| Usage recommandé | Scripts, tests, apps | Apps tierces (MCP, Zapier) | Auth programmatique avancée |
| Création | Via interface utilisateur | Via interface utilisateur | Via API (email/password) |
| Gestion | Interface web | Interface web | Programmatique uniquement |
Sécurité des clés
Ne partagez JAMAIS vos clés API, Client Secret ou JWT tokens publiquement !
Bonnes pratiques
✅ À FAIRE
-
Stockez vos clés dans des variables d'environnement
# .env
INFOPARCELLE_API_KEY=MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4 -
Utilisez différentes clés pour différents environnements
- Clé de développement
- Clé de staging
- Clé de production
-
Limitez l'accès aux clés
- Ne les partagez qu'avec les membres autorisés
- Stockez-les de manière sécurisée (gestionnaire de secrets)
-
Révoquez immédiatement les clés compromises
- Supprimez la clé depuis votre espace compte
- Générez une nouvelle clé
- Mettez à jour vos applications
-
Utilisez HTTPS en production
- Toutes les requêtes doivent passer par HTTPS
- Ne jamais exposer les clés en HTTP
❌ À NE PAS FAIRE
-
❌ Committer les clés dans Git
// ❌ MAUVAIS
const apiKey = 'MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4';
// ✅ BON
const apiKey = process.env.INFOPARCELLE_API_KEY; -
❌ Exposer les clés côté client (JavaScript frontend)
<!-- ❌ DANGEREUX - visible par tous -->
<script>
const apiKey = 'MA_CLE_API';
</script> -
❌ Partager les clés publiquement
- Forums, Stack Overflow
- Dépôts GitHub publics
- Documentation publique
- Screenshots
-
❌ Utiliser la même clé partout
- Créez des clés différentes par environnement et application
Configuration avec .gitignore
Ajoutez toujours vos fichiers de configuration à .gitignore :
# Environment variables
.env
.env.local
.env.production
# Configuration files
config/secrets.yml
config/credentials.json
Variables d'environnement
Exemple avec différents langages
- Node.js
- PHP
- Python
// .env
// INFOPARCELLE_API_KEY=MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4
// app.js
require('dotenv').config();
const apiKey = process.env.INFOPARCELLE_API_KEY;
if (!apiKey) {
throw new Error('INFOPARCELLE_API_KEY is required');
}
<?php
// .env
// INFOPARCELLE_API_KEY=MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4
// app.php
$apiKey = getenv('INFOPARCELLE_API_KEY');
if (!$apiKey) {
throw new Exception('INFOPARCELLE_API_KEY is required');
}
# .env
# INFOPARCELLE_API_KEY=MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4
# app.py
import os
from dotenv import load_dotenv
load_dotenv()
api_key = os.getenv('INFOPARCELLE_API_KEY')
if not api_key:
raise ValueError('INFOPARCELLE_API_KEY is required')
Codes d'erreur d'authentification
| Code | Message | Solution |
|---|---|---|
401 | Token d'authentification manquant | Ajoutez le header Authorization |
401 | Token d'authentification invalide | Vérifiez votre clé API |
401 | Token d'authentification expiré | Générez un nouveau token JWT |
432 | Aucun abonnement actif | Souscrivez à un plan API |
433 | Moyen de paiement invalide | Mettez à jour vos informations de paiement |
Prochaines étapes
Maintenant que vous avez configuré votre authentification :
- Démarrage rapide - Faites votre première requête
- Limites de débit - Comprenez les quotas
- Gestion des erreurs - Gérez les erreurs d'authentification