NeResume API
Открытый REST API базы резюме affiliate, CPA и iGaming специалистов.
Без авторизации, без ключей — просто данные.
https://affpapa.org/neresume/api/v1
Endpoints
Список резюме с фильтрами и пагинацией. До 200 записей на страницу.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
q | string | Полнотекстовый поиск по заголовку, навыкам, описанию |
role | string | Роль: media_buyer, affiliate_manager, seo, ppc… |
seniority | string | junior, middle, senior, lead, head |
skill | string | Навык: Facebook Ads, Keitaro, Google Ads… |
vertical | string | Вертикаль: gambling, betting, crypto, nutra… |
traffic | string | Источник трафика: facebook, google, tiktok… |
contact_quality | string | direct, service или none |
has_contacts | 1 | Только с контактами |
source | string | Ключ источника: partnerkin, arbihunter, tg_igaming_cv… |
since | date | Обновлены после (ISO 8601) |
until | date | Обновлены до (ISO 8601) |
raw | 1 | Добавить body_raw (оригинальный текст) к каждой записи списка |
sort | string | date (по умолчанию), experience, relevance |
order | string | desc (по умолчанию) или asc |
page | int | Номер страницы |
per_page | int | Записей на странице (макс. 200, по умолчанию 50) |
Пример ответа
{
"data": [
{
"id": 1042,
"title": "Media Buyer, Facebook/Google, 3 года опыта",
"summary": "Опытный медиабайер с фокусом на gambling-вертикаль...",
"skills": ["Facebook Ads", "Google Ads", "Keitaro", "Binom"],
"seniority": "middle",
"experience_months": 36,
"role": "media_buyer",
"verticals": ["gambling", "betting"],
"traffic_sources": ["facebook", "google"],
"contact_quality": "direct",
"contacts": [
{"channel": "telegram", "value": "@example_user"},
{"channel": "email", "value": "[email protected]"}
],
"source": "partnerkin",
"source_url": "https://partnerkin.com/resume/1042_...",
"published_at": "2026-07-15T10:00:00+00:00",
"updated_at": "2026-08-10T14:30:00+00:00"
}
],
"meta": {
"current_page": 1,
"per_page": 50,
"total": 1806,
"last_page": 37
}
}
Полное резюме с оригинальным текстом (body_raw).
Стриминговый дамп всей базы в формате JSONL (Newline-Delimited JSON). Каждая строка — одно резюме с полным body_raw. Принимает те же фильтры, что и /resumes.
curl -s "https://affpapa.org/neresume/api/v1/resumes/export" -o neresume.jsonl
Статистика базы: общее количество, разбивка по уровню, источникам, навыкам, вертикалям, качеству контактов.
OpenAPI 3.0 спецификация. Импортируйте в Postman, Insomnia или любой REST-клиент.
Сырые и нормализованные данные
Каждое резюме хранится в двух слоях, и API отдаёт оба:
| Слой | Поля | Откуда |
|---|---|---|
| Сырой (raw) | headline_raw, body_raw |
Точная копия с площадки-источника. Никогда не изменяется и не удаляется. |
| Нормализованный (AI) | title, summary, skills, seniority, experience_months |
AI-обработка сырого текста. normalized_at — когда; null = ещё не обработано, используйте raw-поля. |
/resumes/{id} и /export всегда включают body_raw. В списке /resumes он по умолчанию опущен ради размера — добавьте raw=1, чтобы включить.
# Список вместе с оригинальными текстами
curl "https://affpapa.org/neresume/api/v1/resumes?per_page=50&raw=1"
CORS
Все эндпоинты отдают Access-Control-Allow-Origin: *. Запросы из браузера, расширений и скриптов работают без ограничений.
Работа с AI-инструментами
NeResume API создан для интеграции с AI. Скачайте базу и работайте с ней через любой инструмент.
Claude (Anthropic)
Скачайте JSONL и прикрепите к разговору, или используйте MCP:
# Скачать базу
curl -s "https://affpapa.org/neresume/api/v1/resumes/export" -o neresume.jsonl
# В диалоге с Claude:
# «Вот база резюме affiliate-специалистов. Найди всех senior media buyer
# с опытом от 3 лет, которые работали с gambling-вертикалью
# и имеют прямые контакты в Telegram.»
Пример MCP-конфига для Claude Desktop
{
"mcpServers": {
"neresume": {
"command": "curl",
"args": ["-s", "https://affpapa.org/neresume/api/v1/resumes?per_page=200"]
}
}
}
ChatGPT / GPTs
Загрузите JSONL как файл в диалог или создайте Custom GPT с Action:
# Скачать и загрузить в ChatGPT:
curl -s "https://affpapa.org/neresume/api/v1/resumes/export" -o neresume.jsonl
# Перетащите файл в диалог
# Или для Custom GPT — импортируйте OpenAPI спецификацию:
# https://affpapa.org/neresume/api/v1/openapi.json
Cursor / Windsurf / IDE
Используйте API в коде или скачайте базу для анализа:
# Python — загрузить все резюме с прямыми контактами за последний месяц
import requests, json
from datetime import datetime, timedelta
since = (datetime.now() - timedelta(days=30)).strftime('%Y-%m-%d')
r = requests.get('https://affpapa.org/neresume/api/v1/resumes', params={
'contact_quality': 'direct',
'since': since,
'per_page': 200
})
resumes = r.json()['data']
print(f"Found {len(resumes)} resumes with direct contacts")
Grok / Perplexity / Другие
Скачайте JSONL-файл и загрузите в любой AI-инструмент:
# Полная база
curl -s "https://affpapa.org/neresume/api/v1/resumes/export" -o neresume.jsonl
# Только senior с gambling
curl -s "https://affpapa.org/neresume/api/v1/resumes/export?seniority=senior&vertical=gambling" \
-o gambling-seniors.jsonl
# Только с прямыми контактами
curl -s "https://affpapa.org/neresume/api/v1/resumes/export?contact_quality=direct" \
-o direct-contacts.jsonl
Примеры запросов
curl "https://affpapa.org/neresume/api/v1/resumes?role=media_buyer&seniority=senior&vertical=gambling"
curl "https://affpapa.org/neresume/api/v1/resumes?contact_quality=direct&since=2026-07-14&sort=date"
curl "https://affpapa.org/neresume/api/v1/resumes?skill=Keitaro&per_page=100"
const res = await fetch('https://affpapa.org/neresume/api/v1/resumes?q=facebook+ads&per_page=20');
const { data, meta } = await res.json();
console.log(`${meta.total} resumes found, showing page ${meta.current_page}`);
Лимиты
API без лимитов по запросам. Для массовой выгрузки используйте /export — он отдаёт всю базу одним потоком, быстрее чем пагинация. Максимум per_page — 200.