# avis-verifies.com scraper (`meetmagnet-owner/avis-verifies-com-scraper`)

Permet de scraper les avis clients d'un site web

- **URL**: https://beta-securitybyobscurity.apify.com/meetmagnet-owner/avis-verifies-com-scraper.md
- **Developed by:** [MeetMagnet](https://beta-securitybyobscurity.apify.com/meetmagnet-owner) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

# README

## Avis Verifiés Scraper

Un scraper Apify puissant pour extraire automatiquement les avis clients du site avis-verifies.com. Collectez facilement tous les commentaires, notes et métadonnées des avis pour analyser la réputation de n'importe quelle entreprise.

### 🚀 Fonctionnalités

- ✅ **Extraction complète des avis** : Récupère tous les avis clients d'une page
- ⭐ **Notes et évaluations** : Collecte les notes sur 5 étoiles
- 👤 **Informations auteurs** : Nom des reviewers
- 📅 **Dates précises** : Date de publication et date d'expérience
- 💬 **Texte complet** : Commentaires intégraux des utilisateurs
- 🔄 **Support multi-pages** : Possibilité d'activer la pagination
- 📊 **Export structuré** : Données prêtes pour l'analyse

### 📋 Données extraites

Pour chaque avis, le scraper collecte :

| Champ | Description | Exemple |
|-------|-------------|---------|
| `commentText` | Texte complet du commentaire | "Service client très réactif..." |
| `authorName` | Nom de l'auteur de l'avis | "Marie D." |
| `rating` | Note attribuée (sur 5) | "4" |
| `commentDate` | Date de publication de l'avis | "15/12/2024" |
| `experienceDate` | Date de l'expérience client | "10/12/2024" |
| `url` | URL de la page scrapée | "https://..." |

### 🛠 Configuration

#### Paramètres d'entrée

```json
{
  "startUrls": [
    "https://www.avis-verifies.com/avis-clients/votre-domaine.com"
  ],
  "maxRequestsPerCrawl": 100
}
```

#### Paramètres disponibles

- **`startUrls`** (obligatoire) : Liste des URLs à scraper
- **`maxRequestsPerCrawl`** (optionnel, défaut: 100) : Limite le nombre de pages à traiter

### 📖 Guide d'utilisation

#### 1. Configuration de base

1. Ajoutez l'URL de l'entreprise à analyser :
   ```
   https://www.avis-verifies.com/avis-clients/[nom-entreprise].com
   ```

2. Définissez le nombre maximum de requêtes selon vos besoins

#### 2. Exemple d'URL supportée

- `https://www.avis-verifies.com/avis-clients/brevo.com`
  \`

#### 3. Lancement du scraper

Le scraper traite automatiquement tous les avis présents sur la page et les sauvegarde dans le Dataset Apify.

### 📊 Format de sortie

Les données sont exportées au format JSON :

```json
[
  {
    "url": "https://www.avis-verifies.com/avis-clients/brevo.com",
    "commentText": "Excellent service, je recommande vivement !",
    "authorName": "Jean M.",
    "rating": "5",
    "commentDate": "15/12/2024",
    "experienceDate": "10/12/2024",
    "fullDateInfo": "Avis du 15/12/2024, suite à une expérience du 10/12/2024"
  }
]
```

#### Gestion des proxies

Le scraper utilise automatiquement la configuration proxy d'Apify pour éviter les blocages.

### 🔧 Cas d'usage

- **Analyse de réputation** : Surveillez les avis clients de votre entreprise
- **Veille concurrentielle** : Analysez les avis de vos concurrents
- **Études de marché** : Collectez des données pour vos analyses
- **Monitoring qualité** : Suivez l'évolution de votre service client
- **Recherche académique** : Données pour études comportementales

### ⚠️ Bonnes pratiques

1. **Respectez les limites** : N'abusez pas du scraping intensif
2. **Vérifiez les données** : Contrôlez la qualité des données extraites
3. **Utilisez les proxies** : Pour éviter les blocages IP
4. **Surveillez les logs** : Pour détecter les problèmes rapidement

### 📝 Structure du projet

```
├── main.js              ## Script principal du scraper
├── input_schema.json    ## Schéma de configuration
└── README.md           ## Documentation
```

### 🤝 Support

Pour toute question ou problème :

1. Vérifiez la documentation Apify
2. Consultez les logs d'exécution
3. Testez avec une URL simple d'abord

### 📄 Licence

Ce projet est fourni tel quel pour un usage éducatif et professionnel. Respectez les conditions d'utilisation du site avis-verifies.com.

***

*Développé avec ❤️ pour la communauté Apify*

# Actor input Schema

## `startUrls` (type: `array`):

Liste des URLs avis-verifies.com à scraper (ex: https://www.avis-verifies.com/avis-clients/brevo.com)

## `maxRequestsPerCrawl` (type: `integer`):

Limite le nombre de pages à scraper

## Actor input object example

```json
{
  "startUrls": [
    "https://www.avis-verifies.com/avis-clients/brevo.com"
  ],
  "maxRequestsPerCrawl": 100
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("meetmagnet-owner/avis-verifies-com-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("meetmagnet-owner/avis-verifies-com-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call meetmagnet-owner/avis-verifies-com-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=meetmagnet-owner/avis-verifies-com-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "avis-verifies.com scraper",
        "description": "Permet de scraper les avis clients d'un site web",
        "version": "0.0",
        "x-build-id": "jDSd5qGMKhIKSqDA3"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/meetmagnet-owner~avis-verifies-com-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-meetmagnet-owner-avis-verifies-com-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/meetmagnet-owner~avis-verifies-com-scraper/runs": {
            "post": {
                "operationId": "runs-sync-meetmagnet-owner-avis-verifies-com-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/meetmagnet-owner~avis-verifies-com-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-meetmagnet-owner-avis-verifies-com-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "URLs à scraper",
                        "type": "array",
                        "description": "Liste des URLs avis-verifies.com à scraper (ex: https://www.avis-verifies.com/avis-clients/brevo.com)",
                        "default": [
                            "https://www.avis-verifies.com/avis-clients/brevo.com"
                        ],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxRequestsPerCrawl": {
                        "title": "Nombre maximum de requêtes",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Limite le nombre de pages à scraper",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
