API v1

NeResume API

Открытый REST API базы резюме affiliate, CPA и iGaming специалистов.
Без авторизации, без ключей — просто данные.

Base URL https://affpapa.org/neresume/api/v1
2,468 резюме
1,012 прямые контакты
14 источников
96 свежие 30д

Endpoints

GET /neresume/api/v1/resumes

Список резюме с фильтрами и пагинацией. До 200 записей на страницу.

Параметры

ПараметрТипОписание
qstringПолнотекстовый поиск по заголовку, навыкам, описанию
rolestringРоль: media_buyer, affiliate_manager, seo, ppc
senioritystringjunior, middle, senior, lead, head
skillstringНавык: Facebook Ads, Keitaro, Google Ads
verticalstringВертикаль: gambling, betting, crypto, nutra
trafficstringИсточник трафика: facebook, google, tiktok
contact_qualitystringdirect, service или none
has_contacts1Только с контактами
sourcestringКлюч источника: partnerkin, arbihunter, tg_igaming_cv
sincedateОбновлены после (ISO 8601)
untildateОбновлены до (ISO 8601)
raw1Добавить body_raw (оригинальный текст) к каждой записи списка
sortstringdate (по умолчанию), experience, relevance
orderstringdesc (по умолчанию) или asc
pageintНомер страницы
per_pageintЗаписей на странице (макс. 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
  }
}
GET /neresume/api/v1/resumes/{id}

Полное резюме с оригинальным текстом (body_raw).

GET /neresume/api/v1/resumes/export

Стриминговый дамп всей базы в формате JSONL (Newline-Delimited JSON). Каждая строка — одно резюме с полным body_raw. Принимает те же фильтры, что и /resumes.

curl -s "https://affpapa.org/neresume/api/v1/resumes/export" -o neresume.jsonl
GET /neresume/api/v1/stats

Статистика базы: общее количество, разбивка по уровню, источникам, навыкам, вертикалям, качеству контактов.

GET /neresume/api/v1/openapi.json

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

Примеры запросов

Все senior media buyer с gambling
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"
Поиск по навыку Keitaro
curl "https://affpapa.org/neresume/api/v1/resumes?skill=Keitaro&per_page=100"
JavaScript — fetch
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.

свежие базы — в канале Подписаться на канал